@@ -106,22 +106,21 @@ resource "aws_instance" "default" {
106106}
107107
108108resource "aws_eip" "default" {
109- count = " ${ signum ( length ( var. associate_public_ip_address )) == 1 ? 1 : 0 } "
109+ count = " ${ var . associate_public_ip_address ? 1 : 0 } "
110110 instance = " ${ aws_instance . default . id } "
111111 vpc = true
112112}
113113
114114# Apply the provisioner module for this resource
115115module "ansible" {
116- source = " git::https://github.com/cloudposse/tf_ansible.git?ref=tags/0.3.4 "
116+ source = " git::https://github.com/cloudposse/tf_ansible.git?ref=tags/0.3.6 "
117117 arguments = " ${ var . ansible_arguments } "
118- envs = " ${ compact (concat (var. ansible_envs , list (" host=${ var . associate_public_ip_address ? aws_instance . default . public_dns : aws_instance . default . private_dns } " )))} "
118+ envs = " ${ compact (concat (var. ansible_envs , list (" host=${ var . associate_public_ip_address ? join ( " " , aws_eip . default . * . public_ip ) : aws_instance . default . private_ip } " )))} "
119119 playbook = " ${ var . ansible_playbook } "
120120 dry_run = " ${ var . ansible_dry_run } "
121121}
122122
123123# Restart dead or hung instance
124-
125124data "aws_region" "default" {
126125 current = true
127126}
@@ -153,3 +152,11 @@ resource "aws_cloudwatch_metric_alarm" "default" {
153152 " ${ null_resource. check_alarm_action . triggers . action } " ,
154153 ]
155154}
155+
156+ resource "null_resource" "eip" {
157+ count = " ${ var . associate_public_ip_address ? 1 : 0 } "
158+
159+ triggers {
160+ public_dns = " ec2-${ replace (aws_eip. default . public_ip , " ." , " -" )} .${ data . aws_region . default . name == " us-east-1" ? " compute-1" : " ${ data . aws_region . default . name } .compute" } .amazonaws.com"
161+ }
162+ }
0 commit comments