diff --git a/README.md b/README.md index 1b15cb6..59c547c 100644 --- a/README.md +++ b/README.md @@ -357,8 +357,8 @@ Check out [our other projects][github], [follow us on twitter][twitter], [apply ### Contributors -| [![Erik Osterman][osterman_avatar]][osterman_homepage]
[Erik Osterman][osterman_homepage] | [![Andriy Knysh][aknysh_avatar]][aknysh_homepage]
[Andriy Knysh][aknysh_homepage] | [![Igor Rodionov][goruha_avatar]][goruha_homepage]
[Igor Rodionov][goruha_homepage] | [![Bobby Larson][karma0_avatar]][karma0_homepage]
[Bobby Larson][karma0_homepage] | [![Vladimir Syromyatnikov][SweetOps_avatar]][SweetOps_homepage]
[Vladimir Syromyatnikov][SweetOps_homepage] | -|---|---|---|---|---| +| [![Erik Osterman][osterman_avatar]][osterman_homepage]
[Erik Osterman][osterman_homepage] | [![Andriy Knysh][aknysh_avatar]][aknysh_homepage]
[Andriy Knysh][aknysh_homepage] | [![Igor Rodionov][goruha_avatar]][goruha_homepage]
[Igor Rodionov][goruha_homepage] | [![Bobby Larson][karma0_avatar]][karma0_homepage]
[Bobby Larson][karma0_homepage] | [![Vladimir Syromyatnikov][SweetOps_avatar]][SweetOps_homepage]
[Vladimir Syromyatnikov][SweetOps_homepage] | [![Yonatan Koren][korenyoni_avatar]][korenyoni_homepage]
[Yonatan Koren][korenyoni_homepage] | +|---|---|---|---|---|---| [osterman_homepage]: https://github.com/osterman @@ -371,6 +371,8 @@ Check out [our other projects][github], [follow us on twitter][twitter], [apply [karma0_avatar]: https://img.cloudposse.com/150x150/https://github.com/karma0.png [SweetOps_homepage]: https://github.com/SweetOps [SweetOps_avatar]: https://img.cloudposse.com/150x150/https://github.com/SweetOps.png + [korenyoni_homepage]: https://github.com/korenyoni + [korenyoni_avatar]: https://img.cloudposse.com/150x150/https://github.com/korenyoni.png [![README Footer][readme_footer_img]][readme_footer_link] [![Beacon][beacon]][website] diff --git a/README.yaml b/README.yaml index 021dd7a..6734762 100644 --- a/README.yaml +++ b/README.yaml @@ -56,3 +56,5 @@ contributors: github: "karma0" - name: "Vladimir Syromyatnikov" github: "SweetOps" + - name: "Yonatan Koren" + github: "korenyoni" diff --git a/examples/complete/main.tf b/examples/complete/main.tf index db19201..8717f6b 100644 --- a/examples/complete/main.tf +++ b/examples/complete/main.tf @@ -4,7 +4,7 @@ provider "aws" { module "vpc" { source = "cloudposse/vpc/aws" - version = "0.18.1" + version = "0.25.0" cidr_block = "172.16.0.0/16" @@ -13,7 +13,7 @@ module "vpc" { module "subnets" { source = "cloudposse/dynamic-subnets/aws" - version = "0.33.0" + version = "0.39.3" availability_zones = var.availability_zones vpc_id = module.vpc.vpc_id igw_id = module.vpc.igw_id @@ -26,7 +26,7 @@ module "subnets" { module "aws_key_pair" { source = "cloudposse/key-pair/aws" - version = "0.16.1" + version = "0.18.0" attributes = ["ssh", "key"] ssh_public_key_path = var.ssh_key_path generate_ssh_key = var.generate_ssh_key diff --git a/iam.tf b/iam.tf index 8acd72a..e98092a 100644 --- a/iam.tf +++ b/iam.tf @@ -1,12 +1,12 @@ resource "aws_iam_instance_profile" "default" { - count = (module.this.enabled && local.instance_profile_count == 0) ? 0 : 1 + count = module.this.enabled && local.create_instance_profile ? 1 : 0 name = module.this.id role = aws_iam_role.default[0].name tags = module.this.tags } resource "aws_iam_role" "default" { - count = (module.this.enabled && local.instance_profile_count == 0) ? 0 : 1 + count = module.this.enabled && local.create_instance_profile ? 1 : 0 name = module.this.id path = "/" tags = module.this.tags @@ -15,7 +15,7 @@ resource "aws_iam_role" "default" { } resource "aws_iam_role_policy" "main" { - count = (module.this.enabled && local.instance_profile_count == 0) ? 0 : 1 + count = module.this.enabled && local.create_instance_profile ? 1 : 0 name = module.this.id role = aws_iam_role.default[0].id policy = data.aws_iam_policy_document.main.json diff --git a/main.tf b/main.tf index 98f6389..ee998b1 100644 --- a/main.tf +++ b/main.tf @@ -1,9 +1,9 @@ locals { - instance_profile_count = module.this.enabled ? (length(var.instance_profile) > 0 ? 0 : 1) : 0 - instance_profile = local.instance_profile_count == 0 ? var.instance_profile : join("", aws_iam_instance_profile.default.*.name) - eip_enabled = var.associate_public_ip_address && var.assign_eip_address && module.this.enabled - security_group_enabled = module.this.enabled && var.security_group_enabled - public_dns = local.eip_enabled ? local.public_dns_rendered : join("", aws_instance.default.*.public_dns) + create_instance_profile = module.this.enabled && try(length(var.instance_profile), 0) == 0 + instance_profile = local.create_instance_profile ? var.instance_profile : join("", aws_iam_instance_profile.default.*.name) + eip_enabled = var.associate_public_ip_address && var.assign_eip_address && module.this.enabled + security_group_enabled = module.this.enabled && var.security_group_enabled + public_dns = local.eip_enabled ? local.public_dns_rendered : join("", aws_instance.default.*.public_dns) public_dns_rendered = local.eip_enabled ? format("ec2-%s.%s.amazonaws.com", replace(join("", aws_eip.default.*.public_ip), ".", "-"), data.aws_region.default.name == "us-east-1" ? "compute-1" : format("%s.compute", data.aws_region.default.name) diff --git a/test/src/examples_complete_test.go b/test/src/examples_complete_test.go index 5d40468..91dd375 100644 --- a/test/src/examples_complete_test.go +++ b/test/src/examples_complete_test.go @@ -55,7 +55,7 @@ func TestExamplesComplete(t *testing.T) { // Run `terraform output` to get the value of an output variable keyName := terraform.Output(t, terraformOptions, "key_name") // Verify we're getting back the outputs we expect - assert.Equal(t, "eg-test-ec2-bastion-ssh-key-"+randID, keyName) + assert.Equal(t, "eg-test-ec2-bastion-" + randID + "-ssh-key", keyName) // Run `terraform output` to get the value of an output variable privateDns := terraform.Output(t, terraformOptions, "private_dns")