Advertisement
Guest User

Untitled

a guest
Nov 16th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.04 KB | None | 0 0
  1. ################################################################################
  2. # Create list of instances and ip addresses
  3. ################################################################################
  4. data "template_file" "ip_addr" {
  5. template = "${file("${path.module}/templates/ip_addr.tpl")}"
  6.  
  7. vars {
  8. public_ip_address_bastions = "${join("\n",formatlist("bastion public_ip=%s" , aws_instance.bastions.*.public_ip))}"
  9. private_masters = "${join("\n",formatlist("%s private_ip=%s",aws_instance.masters.*.tags.Name, aws_instance.masters.*.private_ip))}"
  10. private_workers = "${join("\n", formatlist("%s private_ip=%s", aws_instance.workers.*.tags.Name, aws_instance.workers.*.private_ip))}"
  11. private_infra = "${join("\n",formatlist("%s private_ip=%s", aws_instance.infra.*.tags.Name, aws_instance.infra.*.private_ip))}"
  12. elb_master_api_fqdn = "public_master_api_loadbalancer_domain_name=\"${module.elb.public_master_elb_fqdn}\""
  13. elb_master_internal_fqdn = "internal_master_loadbalancer_domain_name=\"${module.elb.private_master_elb_fqdn}\""
  14. elb_infra_public_fqdn = "public_infra_loadbalancer_domain_name=\"${module.elb.public_infra_elb_fqdn}\""
  15. }
  16. }
  17.  
  18. resource "null_resource" "ip_addrs" {
  19. provisioner "local-exec" {
  20. command = "echo '${data.template_file.ip_addr.rendered}' > tf_generated/ip_addr"
  21. }
  22.  
  23. triggers {
  24. template = "${data.template_file.ip_addr.rendered}"
  25. }
  26. }
  27.  
  28.  
  29.  
  30.  
  31. ###############################################
  32. TEMPLATE
  33. ###############################################
  34.  
  35. ################################################################################
  36. # Ip adresses of ec2 instances
  37. ################################################################################
  38. # Masters private ip
  39. ${private_masters}
  40.  
  41. # Workers private ip
  42. ${private_workers}
  43.  
  44. # Infra private ip
  45. ${private_infra}
  46.  
  47. # Bastions public ip
  48. ${public_ip_address_bastions}
  49.  
  50.  
  51. # Elastic loasbalancer domain names
  52. ${elb_master_api_fqdn}
  53. ${elb_master_internal_fqdn}
  54. ${elb_infra_public_fqdn}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement