Level 4 Task 3: Create and Use Terraform Modules

I got this error:

Dev Instance name output is incorrect

This is my work:

locals {
  common_prefix = "datacenter-${terraform.workspace}"
  default_tags = {
    Project = "datacenter",
    Environment = terraform.workspace
  }
}

module "network" {
  source = "./modules/network"

  KKE_NAME_PREFIX = local.common_prefix
  KKE_VPC_CIDR = var.KKE_VPC_CIDR
  KKE_TAGS = local.default_tags
}

module "compute" {
  source = "./modules/compute"

  KKE_NAME_PREFIX = local.common_prefix
  KKE_SUBNET_ID = module.network.kke_subnet_id
  KKE_INSTANCE_TYPE = var.KKE_INSTANCE_TYPE
  KKE_TAGS = local.default_tags
}

===

variable "KKE_VPC_CIDR" {
  type = string
  default = "10.0.0.0/16"
}

variable "KKE_INSTANCE_TYPE" {
  type = string

  validation {
    condition = contains(["t3.micro", "t3.large"], var.KKE_INSTANCE_TYPE)
    error_message = "KKE_INSTANCE_TYPE must be: t3.micro, t3.large."
  }
}

===

KKE_INSTANCE_TYPE = "t3.micro"

===

KKE_INSTANCE_TYPE = "t3.large"

===

output "kke_vpc_name" {
  value = module.network.kke_vpc_name
}

output "kke_subnet_name" {
  value = module.network.kke_subnet_name
}

output "kke_instance_name" {
  value = module.compute.kke_instance_name
}

===

variable "KKE_NAME_PREFIX" {
  type = string
}

variable "KKE_VPC_CIDR" {
  type = string
}

variable "KKE_TAGS" {
  type = map(string)
}

===

output "kke_vpc_name" {
  value = aws_vpc.vpc.tags.Name
}

output "kke_subnet_name" {
  value = aws_subnet.subnet.tags.Name
}

output "kke_subnet_id" {
  value = aws_subnet.subnet.id
}

===

resource "aws_vpc" "vpc" {
  cidr_block = var.KKE_VPC_CIDR

  tags = merge(
    var.KKE_TAGS,
    { Name = "${var.KKE_NAME_PREFIX}-vpc" }
  )
}

resource "aws_subnet" "subnet" {
  vpc_id = aws_vpc.vpc.id
  cidr_block = "10.0.1.0/24"

  tags = merge(
    var.KKE_TAGS,
    { Name = "${var.KKE_NAME_PREFIX}-subnet" }
  )
}

===

variable "KKE_NAME_PREFIX" {
  type = string
}

variable "KKE_SUBNET_ID" {
  type = string
}

variable "KKE_INSTANCE_TYPE" {
  type = string
}

variable "KKE_TAGS" {
  type = map(string)
}

===

output "kke_instance_name" {
  value = aws_instance.ec2.tags.Name
}

===

resource "aws_instance" "ec2" {
  ami           = "ami-0c94855ba95c71c99"
  instance_type = var.KKE_INSTANCE_TYPE
  subnet_id   = var.KKE_SUBNET_ID

  tags = merge(
    var.KKE_TAGS,
    { Name = "${var.KKE_NAME_PREFIX}-ec2" }
  )
}

Here is my tfstates:

dev/terraform.tfstate

{
  "version": 4,
  "terraform_version": "1.11.0",
  "serial": 4,
  "lineage": "026bd997-f81d-a879-d46b-158c23f274ac",
  "outputs": {
    "kke_instance_name": {
      "value": "datacenter-dev-ec2",
      "type": "string"
    },
    "kke_subnet_name": {
      "value": "datacenter-dev-subnet",
      "type": "string"
    },
    "kke_vpc_name": {
      "value": "datacenter-dev-vpc",
      "type": "string"
    }
  },
  "resources": [
    {
      "module": "module.compute",
      "mode": "managed",
      "type": "aws_instance",
      "name": "ec2",
      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
      "instances": [
        {
          "schema_version": 1,
          "attributes": {
            "ami": "ami-0c94855ba95c71c99",
            "arn": "arn:aws:ec2:us-east-1::instance/i-a93dcb23b609a7660",
            "associate_public_ip_address": false,
            "availability_zone": "us-east-1e",
            "capacity_reservation_specification": [],
            "cpu_core_count": null,
            "cpu_options": [],
            "cpu_threads_per_core": null,
            "credit_specification": [],
            "disable_api_stop": false,
            "disable_api_termination": false,
            "ebs_block_device": [],
            "ebs_optimized": false,
            "enable_primary_ipv6": null,
            "enclave_options": [],
            "ephemeral_block_device": [],
            "get_password_data": false,
            "hibernation": false,
            "host_id": "",
            "host_resource_group_arn": null,
            "iam_instance_profile": "",
            "id": "i-a93dcb23b609a7660",
            "instance_initiated_shutdown_behavior": "stop",
            "instance_lifecycle": "",
            "instance_market_options": [],
            "instance_state": "running",
            "instance_type": "t3.micro",
            "ipv6_address_count": 0,
            "ipv6_addresses": [],
            "key_name": "",
            "launch_template": [],
            "maintenance_options": [],
            "metadata_options": [
              {
                "http_endpoint": "enabled",
                "http_protocol_ipv6": "disabled",
                "http_put_response_hop_limit": 1,
                "http_tokens": "optional",
                "instance_metadata_tags": "disabled"
              }
            ],
            "monitoring": false,
            "network_interface": [],
            "outpost_arn": "",
            "password_data": "",
            "placement_group": "",
            "placement_partition_number": 0,
            "primary_network_interface_id": "eni-033023dc4b4efa44e",
            "private_dns": "ip-10-0-1-4.ec2.internal",
            "private_dns_name_options": [],
            "private_ip": "10.0.1.4",
            "public_dns": "None",
            "public_ip": "",
            "root_block_device": [
              {
                "delete_on_termination": true,
                "device_name": "/dev/sda1",
                "encrypted": false,
                "iops": 0,
                "kms_key_id": "",
                "tags": {},
                "tags_all": {},
                "throughput": 0,
                "volume_id": "vol-8bf8e365aed35fc72",
                "volume_size": 8,
                "volume_type": "gp2"
              }
            ],
            "secondary_private_ips": [],
            "security_groups": [],
            "source_dest_check": true,
            "spot_instance_request_id": "",
            "subnet_id": "subnet-0e13a762aebe2c0cf",
            "tags": {
              "Environment": "dev",
              "Name": "datacenter-dev-ec2",
              "Project": "datacenter"
            },
            "tags_all": {
              "Environment": "dev",
              "Name": "datacenter-dev-ec2",
              "Project": "datacenter"
            },
            "tenancy": "default",
            "timeouts": null,
            "user_data": null,
            "user_data_base64": null,
            "user_data_replace_on_change": false,
            "volume_tags": null,
            "vpc_security_group_ids": []
          },
          "sensitive_attributes": [],
          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMCwicmVhZCI6OTAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9",
          "dependencies": [
            "module.network.aws_subnet.subnet",
            "module.network.aws_vpc.vpc"
          ]
        }
      ]
    },
    {
      "module": "module.network",
      "mode": "managed",
      "type": "aws_subnet",
      "name": "subnet",
      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
      "instances": [
        {
          "schema_version": 1,
          "attributes": {
            "arn": "arn:aws:ec2:us-east-1:000000000000:subnet/subnet-0e13a762aebe2c0cf",
            "assign_ipv6_address_on_creation": false,
            "availability_zone": "us-east-1e",
            "availability_zone_id": "use1-az3",
            "cidr_block": "10.0.1.0/24",
            "customer_owned_ipv4_pool": "",
            "enable_dns64": false,
            "enable_lni_at_device_index": 0,
            "enable_resource_name_dns_a_record_on_launch": false,
            "enable_resource_name_dns_aaaa_record_on_launch": false,
            "id": "subnet-0e13a762aebe2c0cf",
            "ipv6_cidr_block": "",
            "ipv6_cidr_block_association_id": "",
            "ipv6_native": false,
            "map_customer_owned_ip_on_launch": false,
            "map_public_ip_on_launch": false,
            "outpost_arn": "",
            "owner_id": "000000000000",
            "private_dns_hostname_type_on_launch": "ip-name",
            "tags": {
              "Environment": "dev",
              "Name": "datacenter-dev-subnet",
              "Project": "datacenter"
            },
            "tags_all": {
              "Environment": "dev",
              "Name": "datacenter-dev-subnet",
              "Project": "datacenter"
            },
            "timeouts": null,
            "vpc_id": "vpc-f675e83a9a305ab7f"
          },
          "sensitive_attributes": [],
          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9",
          "dependencies": [
            "module.network.aws_vpc.vpc"
          ]
        }
      ]
    },
    {
      "module": "module.network",
      "mode": "managed",
      "type": "aws_vpc",
      "name": "vpc",
      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
      "instances": [
        {
          "schema_version": 1,
          "attributes": {
            "arn": "arn:aws:ec2:us-east-1:000000000000:vpc/vpc-f675e83a9a305ab7f",
            "assign_generated_ipv6_cidr_block": false,
            "cidr_block": "10.0.0.0/16",
            "default_network_acl_id": "acl-4354644bbeb7aaeb2",
            "default_route_table_id": "rtb-634f3175ba6bed99d",
            "default_security_group_id": "sg-696597b756e13cb7f",
            "dhcp_options_id": "default",
            "enable_dns_hostnames": false,
            "enable_dns_support": true,
            "enable_network_address_usage_metrics": false,
            "id": "vpc-f675e83a9a305ab7f",
            "instance_tenancy": "default",
            "ipv4_ipam_pool_id": null,
            "ipv4_netmask_length": null,
            "ipv6_association_id": "",
            "ipv6_cidr_block": "",
            "ipv6_cidr_block_network_border_group": "",
            "ipv6_ipam_pool_id": "",
            "ipv6_netmask_length": 0,
            "main_route_table_id": "rtb-634f3175ba6bed99d",
            "owner_id": "000000000000",
            "tags": {
              "Environment": "dev",
              "Name": "datacenter-dev-vpc",
              "Project": "datacenter"
            },
            "tags_all": {
              "Environment": "dev",
              "Name": "datacenter-dev-vpc",
              "Project": "datacenter"
            }
          },
          "sensitive_attributes": [],
          "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
        }
      ]
    }
  ],
  "check_results": [
    {
      "object_kind": "var",
      "config_addr": "var.KKE_INSTANCE_TYPE",
      "status": "pass",
      "objects": [
        {
          "object_addr": "var.KKE_INSTANCE_TYPE",
          "status": "pass"
        }
      ]
    }
  ]
}

prod/terraform.tfstate

{
  "version": 4,
  "terraform_version": "1.11.0",
  "serial": 4,
  "lineage": "d84d82b8-1f26-7ef2-b5cb-d619473eedfe",
  "outputs": {
    "kke_instance_name": {
      "value": "datacenter-prod-ec2",
      "type": "string"
    },
    "kke_subnet_name": {
      "value": "datacenter-prod-subnet",
      "type": "string"
    },
    "kke_vpc_name": {
      "value": "datacenter-prod-vpc",
      "type": "string"
    }
  },
  "resources": [
    {
      "module": "module.compute",
      "mode": "managed",
      "type": "aws_instance",
      "name": "ec2",
      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
      "instances": [
        {
          "schema_version": 1,
          "attributes": {
            "ami": "ami-0c94855ba95c71c99",
            "arn": "arn:aws:ec2:us-east-1::instance/i-7a3d79504ddf6a653",
            "associate_public_ip_address": false,
            "availability_zone": "us-east-1d",
            "capacity_reservation_specification": [],
            "cpu_core_count": null,
            "cpu_options": [],
            "cpu_threads_per_core": null,
            "credit_specification": [],
            "disable_api_stop": false,
            "disable_api_termination": false,
            "ebs_block_device": [],
            "ebs_optimized": false,
            "enable_primary_ipv6": null,
            "enclave_options": [],
            "ephemeral_block_device": [],
            "get_password_data": false,
            "hibernation": false,
            "host_id": "",
            "host_resource_group_arn": null,
            "iam_instance_profile": "",
            "id": "i-7a3d79504ddf6a653",
            "instance_initiated_shutdown_behavior": "stop",
            "instance_lifecycle": "",
            "instance_market_options": [],
            "instance_state": "running",
            "instance_type": "t3.large",
            "ipv6_address_count": 0,
            "ipv6_addresses": [],
            "key_name": "",
            "launch_template": [],
            "maintenance_options": [],
            "metadata_options": [
              {
                "http_endpoint": "enabled",
                "http_protocol_ipv6": "disabled",
                "http_put_response_hop_limit": 1,
                "http_tokens": "optional",
                "instance_metadata_tags": "disabled"
              }
            ],
            "monitoring": false,
            "network_interface": [],
            "outpost_arn": "",
            "password_data": "",
            "placement_group": "",
            "placement_partition_number": 0,
            "primary_network_interface_id": "eni-c05653dda83504b09",
            "private_dns": "ip-10-0-1-4.ec2.internal",
            "private_dns_name_options": [],
            "private_ip": "10.0.1.4",
            "public_dns": "None",
            "public_ip": "",
            "root_block_device": [
              {
                "delete_on_termination": true,
                "device_name": "/dev/sda1",
                "encrypted": false,
                "iops": 0,
                "kms_key_id": "",
                "tags": {},
                "tags_all": {},
                "throughput": 0,
                "volume_id": "vol-71a7bf3cbe1eca5e7",
                "volume_size": 8,
                "volume_type": "gp2"
              }
            ],
            "secondary_private_ips": [],
            "security_groups": [],
            "source_dest_check": true,
            "spot_instance_request_id": "",
            "subnet_id": "subnet-98e2525034dedb910",
            "tags": {
              "Environment": "prod",
              "Name": "datacenter-prod-ec2",
              "Project": "datacenter"
            },
            "tags_all": {
              "Environment": "prod",
              "Name": "datacenter-prod-ec2",
              "Project": "datacenter"
            },
            "tenancy": "default",
            "timeouts": null,
            "user_data": null,
            "user_data_base64": null,
            "user_data_replace_on_change": false,
            "volume_tags": null,
            "vpc_security_group_ids": []
          },
          "sensitive_attributes": [],
          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMCwicmVhZCI6OTAwMDAwMDAwMDAwLCJ1cGRhdGUiOjYwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9",
          "dependencies": [
            "module.network.aws_subnet.subnet",
            "module.network.aws_vpc.vpc"
          ]
        }
      ]
    },
    {
      "module": "module.network",
      "mode": "managed",
      "type": "aws_subnet",
      "name": "subnet",
      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
      "instances": [
        {
          "schema_version": 1,
          "attributes": {
            "arn": "arn:aws:ec2:us-east-1:000000000000:subnet/subnet-98e2525034dedb910",
            "assign_ipv6_address_on_creation": false,
            "availability_zone": "us-east-1d",
            "availability_zone_id": "use1-az4",
            "cidr_block": "10.0.1.0/24",
            "customer_owned_ipv4_pool": "",
            "enable_dns64": false,
            "enable_lni_at_device_index": 0,
            "enable_resource_name_dns_a_record_on_launch": false,
            "enable_resource_name_dns_aaaa_record_on_launch": false,
            "id": "subnet-98e2525034dedb910",
            "ipv6_cidr_block": "",
            "ipv6_cidr_block_association_id": "",
            "ipv6_native": false,
            "map_customer_owned_ip_on_launch": false,
            "map_public_ip_on_launch": false,
            "outpost_arn": "",
            "owner_id": "000000000000",
            "private_dns_hostname_type_on_launch": "ip-name",
            "tags": {
              "Environment": "prod",
              "Name": "datacenter-prod-subnet",
              "Project": "datacenter"
            },
            "tags_all": {
              "Environment": "prod",
              "Name": "datacenter-prod-subnet",
              "Project": "datacenter"
            },
            "timeouts": null,
            "vpc_id": "vpc-f4f695e60e7eae108"
          },
          "sensitive_attributes": [],
          "private": "eyJlMmJmYjczMC1lY2FhLTExZTYtOGY4OC0zNDM2M2JjN2M0YzAiOnsiY3JlYXRlIjo2MDAwMDAwMDAwMDAsImRlbGV0ZSI6MTIwMDAwMDAwMDAwMH0sInNjaGVtYV92ZXJzaW9uIjoiMSJ9",
          "dependencies": [
            "module.network.aws_vpc.vpc"
          ]
        }
      ]
    },
    {
      "module": "module.network",
      "mode": "managed",
      "type": "aws_vpc",
      "name": "vpc",
      "provider": "provider[\"registry.terraform.io/hashicorp/aws\"]",
      "instances": [
        {
          "schema_version": 1,
          "attributes": {
            "arn": "arn:aws:ec2:us-east-1:000000000000:vpc/vpc-f4f695e60e7eae108",
            "assign_generated_ipv6_cidr_block": false,
            "cidr_block": "10.0.0.0/16",
            "default_network_acl_id": "acl-8c1ea6150fd367f21",
            "default_route_table_id": "rtb-a12110e5fdab68e29",
            "default_security_group_id": "sg-8162cd64576c88140",
            "dhcp_options_id": "default",
            "enable_dns_hostnames": false,
            "enable_dns_support": true,
            "enable_network_address_usage_metrics": false,
            "id": "vpc-f4f695e60e7eae108",
            "instance_tenancy": "default",
            "ipv4_ipam_pool_id": null,
            "ipv4_netmask_length": null,
            "ipv6_association_id": "",
            "ipv6_cidr_block": "",
            "ipv6_cidr_block_network_border_group": "",
            "ipv6_ipam_pool_id": "",
            "ipv6_netmask_length": 0,
            "main_route_table_id": "rtb-a12110e5fdab68e29",
            "owner_id": "000000000000",
            "tags": {
              "Environment": "prod",
              "Name": "datacenter-prod-vpc",
              "Project": "datacenter"
            },
            "tags_all": {
              "Environment": "prod",
              "Name": "datacenter-prod-vpc",
              "Project": "datacenter"
            }
          },
          "sensitive_attributes": [],
          "private": "eyJzY2hlbWFfdmVyc2lvbiI6IjEifQ=="
        }
      ]
    }
  ],
  "check_results": [
    {
      "object_kind": "var",
      "config_addr": "var.KKE_INSTANCE_TYPE",
      "status": "pass",
      "objects": [
        {
          "object_addr": "var.KKE_INSTANCE_TYPE",
          "status": "pass"
        }
      ]
    }
  ]
}

2nd try, still getting:
Dev Instance name output is incorrect

datacenter became xfusion:

Outputs (dev):

kke_instance_name = “xfusion-dev-ec2”
kke_subnet_name = “xfusion-dev-subnet”
kke_vpc_name = “xfusion-dev-vpc”

Outputs (prod):

kke_instance_name = “xfusion-prod-ec2”
kke_subnet_name = “xfusion-prod-subnet”
kke_vpc_name = “xfusion-prod-vpc”

Try comparing your work with this solution, which worked.