Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ################################################################################
- # Create list of instances and ip addresses
- ################################################################################
- data "template_file" "ip_addr" {
- template = "${file("${path.module}/templates/ip_addr.tpl")}"
- vars {
- public_ip_address_bastions = "${join("\n",formatlist("bastion public_ip=%s" , aws_instance.bastions.*.public_ip))}"
- private_masters = "${join("\n",formatlist("%s private_ip=%s",aws_instance.masters.*.tags.Name, aws_instance.masters.*.private_ip))}"
- private_workers = "${join("\n", formatlist("%s private_ip=%s", aws_instance.workers.*.tags.Name, aws_instance.workers.*.private_ip))}"
- private_infra = "${join("\n",formatlist("%s private_ip=%s", aws_instance.infra.*.tags.Name, aws_instance.infra.*.private_ip))}"
- elb_master_api_fqdn = "public_master_api_loadbalancer_domain_name=\"${module.elb.public_master_elb_fqdn}\""
- elb_master_internal_fqdn = "internal_master_loadbalancer_domain_name=\"${module.elb.private_master_elb_fqdn}\""
- elb_infra_public_fqdn = "public_infra_loadbalancer_domain_name=\"${module.elb.public_infra_elb_fqdn}\""
- }
- }
- resource "null_resource" "ip_addrs" {
- provisioner "local-exec" {
- command = "echo '${data.template_file.ip_addr.rendered}' > tf_generated/ip_addr"
- }
- triggers {
- template = "${data.template_file.ip_addr.rendered}"
- }
- }
- ###############################################
- TEMPLATE
- ###############################################
- ################################################################################
- # Ip adresses of ec2 instances
- ################################################################################
- # Masters private ip
- ${private_masters}
- # Workers private ip
- ${private_workers}
- # Infra private ip
- ${private_infra}
- # Bastions public ip
- ${public_ip_address_bastions}
- # Elastic loasbalancer domain names
- ${elb_master_api_fqdn}
- ${elb_master_internal_fqdn}
- ${elb_infra_public_fqdn}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement