diff --git a/03-terraform-outputs-across-stacks/backend.tm.hcl b/03-terraform-outputs-across-stacks/backend.tm.hcl index 2fdd594..87f7e18 100644 --- a/03-terraform-outputs-across-stacks/backend.tm.hcl +++ b/03-terraform-outputs-across-stacks/backend.tm.hcl @@ -1,16 +1,19 @@ globals { - aws_region = "us-west-2" - name = "terramate-example-data-sharing" - state_bucket = "CHANGE-THIS" + aws_region = "us-west-2" + name = "terramate-example-data-sharing" + state_bucket = { + key_fmt = "state-files/stacks/%s/terraform.state" + name = "CHANGE-THIS" + } } # generates the backend.tf in each stack -generate_hcl "_backend.tf" { +generate_hcl "_terramate_generated_backend.tf" { content { terraform { backend "s3" { - bucket = global.state_bucket - key = "state-files/stacks/${terramate.stack.id}/terraform.state" + bucket = global.state_bucket.name + key = tm_format(global.state_bucket.key_fmt, terramate.stack.id) region = global.aws_region encrypt = true } diff --git a/03-terraform-outputs-across-stacks/stacks/EC2/_backend.tf b/03-terraform-outputs-across-stacks/stacks/ec2/_terramate_generated_backend.tf similarity index 100% rename from 03-terraform-outputs-across-stacks/stacks/EC2/_backend.tf rename to 03-terraform-outputs-across-stacks/stacks/ec2/_terramate_generated_backend.tf diff --git a/03-terraform-outputs-across-stacks/stacks/EC2/_remote-state.tf b/03-terraform-outputs-across-stacks/stacks/ec2/_terramate_generated_remote_state.tf similarity index 100% rename from 03-terraform-outputs-across-stacks/stacks/EC2/_remote-state.tf rename to 03-terraform-outputs-across-stacks/stacks/ec2/_terramate_generated_remote_state.tf diff --git a/03-terraform-outputs-across-stacks/stacks/EC2/main.tf b/03-terraform-outputs-across-stacks/stacks/ec2/main.tf similarity index 100% rename from 03-terraform-outputs-across-stacks/stacks/EC2/main.tf rename to 03-terraform-outputs-across-stacks/stacks/ec2/main.tf diff --git a/03-terraform-outputs-across-stacks/stacks/EC2/remote-state.tm.hcl b/03-terraform-outputs-across-stacks/stacks/ec2/remote-state.tm.hcl similarity index 54% rename from 03-terraform-outputs-across-stacks/stacks/EC2/remote-state.tm.hcl rename to 03-terraform-outputs-across-stacks/stacks/ec2/remote-state.tm.hcl index 02e02bd..420ee94 100644 --- a/03-terraform-outputs-across-stacks/stacks/EC2/remote-state.tm.hcl +++ b/03-terraform-outputs-across-stacks/stacks/ec2/remote-state.tm.hcl @@ -1,13 +1,13 @@ -generate_hcl "_remote-state.tf" { +generate_hcl "_terramate_generated_remote_state.tf" { content { data "terraform_remote_state" "vpc" { backend = "s3" config = { - bucket = global.state_bucket + bucket = global.state_bucket.name region = global.aws_region encrypt = true # The key here uses the stack ID of the VPC stack - key = "state-files/stacks/c2c67b6a-5cc5-4129-b684-f471548781d5/terraform.state" + key = tm_format(global.state_bucket.key_fmt, "c2c67b6a-5cc5-4129-b684-f471548781d5") } } } diff --git a/03-terraform-outputs-across-stacks/stacks/EC2/stack.tm.hcl b/03-terraform-outputs-across-stacks/stacks/ec2/stack.tm.hcl similarity index 66% rename from 03-terraform-outputs-across-stacks/stacks/EC2/stack.tm.hcl rename to 03-terraform-outputs-across-stacks/stacks/ec2/stack.tm.hcl index f4b3f5e..06327c7 100644 --- a/03-terraform-outputs-across-stacks/stacks/EC2/stack.tm.hcl +++ b/03-terraform-outputs-across-stacks/stacks/ec2/stack.tm.hcl @@ -2,5 +2,6 @@ stack { name = "ec2" description = "ec2" id = "fd944951-2497-4a75-a93c-f486975c3777" - after = ["tag:vpc"] + after = ["../vpc"] + wanted_by = ["../vpc"] } diff --git a/03-terraform-outputs-across-stacks/stacks/VPC/_backend.tf b/03-terraform-outputs-across-stacks/stacks/vpc/_terramate_generated_backend.tf similarity index 100% rename from 03-terraform-outputs-across-stacks/stacks/VPC/_backend.tf rename to 03-terraform-outputs-across-stacks/stacks/vpc/_terramate_generated_backend.tf diff --git a/03-terraform-outputs-across-stacks/stacks/VPC/main.tf b/03-terraform-outputs-across-stacks/stacks/vpc/_terramate_generated_vpc_and_subnet.tf similarity index 59% rename from 03-terraform-outputs-across-stacks/stacks/VPC/main.tf rename to 03-terraform-outputs-across-stacks/stacks/vpc/_terramate_generated_vpc_and_subnet.tf index 70de2ff..855abee 100644 --- a/03-terraform-outputs-across-stacks/stacks/VPC/main.tf +++ b/03-terraform-outputs-across-stacks/stacks/vpc/_terramate_generated_vpc_and_subnet.tf @@ -1,21 +1,19 @@ +// TERRAMATE: GENERATED AUTOMATICALLY DO NOT EDIT + resource "aws_vpc" "main" { cidr_block = "10.0.0.0/16" instance_tenancy = "default" - tags = { - Name = global.name + Name = "terramate-example-data-sharing" } } - resource "aws_subnet" "main" { - vpc_id = aws_vpc.main.id cidr_block = "10.0.1.0/24" - tags = { - Name = global.name + Name = "terramate-example-data-sharing" } + vpc_id = aws_vpc.main.id } - output "subnet_id" { value = aws_subnet.main.id } diff --git a/03-terraform-outputs-across-stacks/stacks/VPC/stack.tm.hcl b/03-terraform-outputs-across-stacks/stacks/vpc/stack.tm.hcl similarity index 100% rename from 03-terraform-outputs-across-stacks/stacks/VPC/stack.tm.hcl rename to 03-terraform-outputs-across-stacks/stacks/vpc/stack.tm.hcl diff --git a/03-terraform-outputs-across-stacks/stacks/vpc/vpc_and_subnet.tm.hcl b/03-terraform-outputs-across-stacks/stacks/vpc/vpc_and_subnet.tm.hcl new file mode 100644 index 0000000..7435c6f --- /dev/null +++ b/03-terraform-outputs-across-stacks/stacks/vpc/vpc_and_subnet.tm.hcl @@ -0,0 +1,25 @@ +generate_hcl "_terramate_generated_vpc_and_subnet.tf" { + content { + resource "aws_vpc" "main" { + cidr_block = "10.0.0.0/16" + instance_tenancy = "default" + + tags = { + Name = global.name + } + } + + resource "aws_subnet" "main" { + vpc_id = aws_vpc.main.id + cidr_block = "10.0.1.0/24" + + tags = { + Name = global.name + } + } + + output "subnet_id" { + value = aws_subnet.main.id + } + } +}