{ "locals": { "cluster_name": "minimal-json.example.com", "master_autoscaling_group_ids": [ "${aws_autoscaling_group.master-us-test-1a-masters-minimal-json-example-com.id}" ], "master_security_group_ids": [ "${aws_security_group.masters-minimal-json-example-com.id}" ], "masters_role_arn": "${aws_iam_role.masters-minimal-json-example-com.arn}", "masters_role_name": "${aws_iam_role.masters-minimal-json-example-com.name}", "node_autoscaling_group_ids": [ "${aws_autoscaling_group.nodes-minimal-json-example-com.id}" ], "node_security_group_ids": [ "${aws_security_group.nodes-minimal-json-example-com.id}" ], "node_subnet_ids": [ "${aws_subnet.us-test-1a-minimal-json-example-com.id}" ], "nodes_role_arn": "${aws_iam_role.nodes-minimal-json-example-com.arn}", "nodes_role_name": "${aws_iam_role.nodes-minimal-json-example-com.name}", "region": "us-test-1", "route_table_public_id": "${aws_route_table.minimal-json-example-com.id}", "subnet_us-test-1a_id": "${aws_subnet.us-test-1a-minimal-json-example-com.id}", "vpc_cidr_block": "${aws_vpc.minimal-json-example-com.cidr_block}", "vpc_id": "${aws_vpc.minimal-json-example-com.id}" }, "output": { "cluster_name": { "value": "minimal-json.example.com" }, "master_autoscaling_group_ids": { "value": [ "${aws_autoscaling_group.master-us-test-1a-masters-minimal-json-example-com.id}" ] }, "master_security_group_ids": { "value": [ "${aws_security_group.masters-minimal-json-example-com.id}" ] }, "masters_role_arn": { "value": "${aws_iam_role.masters-minimal-json-example-com.arn}" }, "masters_role_name": { "value": "${aws_iam_role.masters-minimal-json-example-com.name}" }, "node_autoscaling_group_ids": { "value": [ "${aws_autoscaling_group.nodes-minimal-json-example-com.id}" ] }, "node_security_group_ids": { "value": [ "${aws_security_group.nodes-minimal-json-example-com.id}" ] }, "node_subnet_ids": { "value": [ "${aws_subnet.us-test-1a-minimal-json-example-com.id}" ] }, "nodes_role_arn": { "value": "${aws_iam_role.nodes-minimal-json-example-com.arn}" }, "nodes_role_name": { "value": "${aws_iam_role.nodes-minimal-json-example-com.name}" }, "region": { "value": "us-test-1" }, "route_table_public_id": { "value": "${aws_route_table.minimal-json-example-com.id}" }, "subnet_us-test-1a_id": { "value": "${aws_subnet.us-test-1a-minimal-json-example-com.id}" }, "vpc_cidr_block": { "value": "${aws_vpc.minimal-json-example-com.cidr_block}" }, "vpc_id": { "value": "${aws_vpc.minimal-json-example-com.id}" } }, "provider": { "aws": { "region": "us-test-1" } }, "resource": { "aws_autoscaling_group": { "master-us-test-1a-masters-minimal-json-example-com": { "name": "master-us-test-1a.masters.minimal-json.example.com", "launch_template": { "id": "${aws_launch_template.master-us-test-1a-masters-minimal-json-example-com.id}", "version": "${aws_launch_template.master-us-test-1a-masters-minimal-json-example-com.latest_version}" }, "max_size": 1, "min_size": 1, "vpc_zone_identifier": [ "${aws_subnet.us-test-1a-minimal-json-example-com.id}" ], "tag": [ { "key": "KubernetesCluster", "value": "minimal-json.example.com", "propagate_at_launch": true }, { "key": "Name", "value": "master-us-test-1a.masters.minimal-json.example.com", "propagate_at_launch": true }, { "key": "k8s.io/cluster-autoscaler/node-template/label/kops.k8s.io/kops-controller-pki", "value": "", "propagate_at_launch": true }, { "key": "k8s.io/cluster-autoscaler/node-template/label/kubernetes.io/role", "value": "master", "propagate_at_launch": true }, { "key": "k8s.io/cluster-autoscaler/node-template/label/node-role.kubernetes.io/control-plane", "value": "", "propagate_at_launch": true }, { "key": "k8s.io/cluster-autoscaler/node-template/label/node-role.kubernetes.io/master", "value": "", "propagate_at_launch": true }, { "key": "k8s.io/cluster-autoscaler/node-template/label/node.kubernetes.io/exclude-from-external-load-balancers", "value": "", "propagate_at_launch": true }, { "key": "k8s.io/role/master", "value": "1", "propagate_at_launch": true }, { "key": "kops.k8s.io/instancegroup", "value": "master-us-test-1a", "propagate_at_launch": true }, { "key": "kubernetes.io/cluster/minimal-json.example.com", "value": "owned", "propagate_at_launch": true } ], "metrics_granularity": "1Minute", "enabled_metrics": [ "GroupDesiredCapacity", "GroupInServiceInstances", "GroupMaxSize", "GroupMinSize", "GroupPendingInstances", "GroupStandbyInstances", "GroupTerminatingInstances", "GroupTotalInstances" ] }, "nodes-minimal-json-example-com": { "name": "nodes.minimal-json.example.com", "launch_template": { "id": "${aws_launch_template.nodes-minimal-json-example-com.id}", "version": "${aws_launch_template.nodes-minimal-json-example-com.latest_version}" }, "max_size": 2, "min_size": 2, "vpc_zone_identifier": [ "${aws_subnet.us-test-1a-minimal-json-example-com.id}" ], "tag": [ { "key": "KubernetesCluster", "value": "minimal-json.example.com", "propagate_at_launch": true }, { "key": "Name", "value": "nodes.minimal-json.example.com", "propagate_at_launch": true }, { "key": "k8s.io/cluster-autoscaler/node-template/label/kubernetes.io/role", "value": "node", "propagate_at_launch": true }, { "key": "k8s.io/cluster-autoscaler/node-template/label/node-role.kubernetes.io/node", "value": "", "propagate_at_launch": true }, { "key": "k8s.io/role/node", "value": "1", "propagate_at_launch": true }, { "key": "kops.k8s.io/instancegroup", "value": "nodes", "propagate_at_launch": true }, { "key": "kubernetes.io/cluster/minimal-json.example.com", "value": "owned", "propagate_at_launch": true } ], "metrics_granularity": "1Minute", "enabled_metrics": [ "GroupDesiredCapacity", "GroupInServiceInstances", "GroupMaxSize", "GroupMinSize", "GroupPendingInstances", "GroupStandbyInstances", "GroupTerminatingInstances", "GroupTotalInstances" ] } }, "aws_ebs_volume": { "us-test-1a-etcd-events-minimal-json-example-com": { "availability_zone": "us-test-1a", "size": 20, "type": "gp3", "iops": 3000, "throughput": 125, "encrypted": false, "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "us-test-1a.etcd-events.minimal-json.example.com", "k8s.io/etcd/events": "us-test-1a/us-test-1a", "k8s.io/role/master": "1", "kubernetes.io/cluster/minimal-json.example.com": "owned" } }, "us-test-1a-etcd-main-minimal-json-example-com": { "availability_zone": "us-test-1a", "size": 20, "type": "gp3", "iops": 3000, "throughput": 125, "encrypted": false, "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "us-test-1a.etcd-main.minimal-json.example.com", "k8s.io/etcd/main": "us-test-1a/us-test-1a", "k8s.io/role/master": "1", "kubernetes.io/cluster/minimal-json.example.com": "owned" } } }, "aws_iam_instance_profile": { "masters-minimal-json-example-com": { "name": "masters.minimal-json.example.com", "role": "${aws_iam_role.masters-minimal-json-example-com.name}", "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "masters.minimal-json.example.com", "kubernetes.io/cluster/minimal-json.example.com": "owned" } }, "nodes-minimal-json-example-com": { "name": "nodes.minimal-json.example.com", "role": "${aws_iam_role.nodes-minimal-json-example-com.name}", "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "nodes.minimal-json.example.com", "kubernetes.io/cluster/minimal-json.example.com": "owned" } } }, "aws_iam_role": { "masters-minimal-json-example-com": { "name": "masters.minimal-json.example.com", "assume_role_policy": "${file(\"${path.module}/data/aws_iam_role_masters.minimal-json.example.com_policy\")}", "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "masters.minimal-json.example.com", "kubernetes.io/cluster/minimal-json.example.com": "owned" } }, "nodes-minimal-json-example-com": { "name": "nodes.minimal-json.example.com", "assume_role_policy": "${file(\"${path.module}/data/aws_iam_role_nodes.minimal-json.example.com_policy\")}", "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "nodes.minimal-json.example.com", "kubernetes.io/cluster/minimal-json.example.com": "owned" } } }, "aws_iam_role_policy": { "masters-minimal-json-example-com": { "name": "masters.minimal-json.example.com", "role": "${aws_iam_role.masters-minimal-json-example-com.name}", "policy": "${file(\"${path.module}/data/aws_iam_role_policy_masters.minimal-json.example.com_policy\")}" }, "nodes-minimal-json-example-com": { "name": "nodes.minimal-json.example.com", "role": "${aws_iam_role.nodes-minimal-json-example-com.name}", "policy": "${file(\"${path.module}/data/aws_iam_role_policy_nodes.minimal-json.example.com_policy\")}" } }, "aws_internet_gateway": { "minimal-json-example-com": { "vpc_id": "${aws_vpc.minimal-json-example-com.id}", "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "minimal-json.example.com", "kubernetes.io/cluster/minimal-json.example.com": "owned" } } }, "aws_key_pair": { "kubernetes-minimal-json-example-com-c4a6ed9aa889b9e2c39cd663eb9c7157": { "key_name": "kubernetes.minimal-json.example.com-c4:a6:ed:9a:a8:89:b9:e2:c3:9c:d6:63:eb:9c:71:57", "public_key": "${file(\"${path.module}/data/aws_key_pair_kubernetes.minimal-json.example.com-c4a6ed9aa889b9e2c39cd663eb9c7157_public_key\")}", "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "minimal-json.example.com", "kubernetes.io/cluster/minimal-json.example.com": "owned" } } }, "aws_launch_template": { "master-us-test-1a-masters-minimal-json-example-com": { "name": "master-us-test-1a.masters.minimal-json.example.com", "lifecycle": { "create_before_destroy": true }, "block_device_mappings": [ { "device_name": "/dev/xvda", "ebs": [ { "volume_type": "gp3", "volume_size": 64, "iops": 3000, "throughput": 125, "delete_on_termination": true, "encrypted": true } ] }, { "device_name": "/dev/sdc", "virtual_name": "ephemeral0" } ], "iam_instance_profile": [ { "name": "${aws_iam_instance_profile.masters-minimal-json-example-com.id}" } ], "image_id": "ami-12345678", "instance_type": "m3.medium", "key_name": "${aws_key_pair.kubernetes-minimal-json-example-com-c4a6ed9aa889b9e2c39cd663eb9c7157.id}", "metadata_options": { "http_endpoint": "enabled", "http_put_response_hop_limit": 1, "http_tokens": "optional" }, "network_interfaces": [ { "associate_public_ip_address": true, "delete_on_termination": true, "ipv6_address_count": 0, "security_groups": [ "${aws_security_group.masters-minimal-json-example-com.id}" ] } ], "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "master-us-test-1a.masters.minimal-json.example.com", "k8s.io/cluster-autoscaler/node-template/label/kops.k8s.io/kops-controller-pki": "", "k8s.io/cluster-autoscaler/node-template/label/kubernetes.io/role": "master", "k8s.io/cluster-autoscaler/node-template/label/node-role.kubernetes.io/control-plane": "", "k8s.io/cluster-autoscaler/node-template/label/node-role.kubernetes.io/master": "", "k8s.io/cluster-autoscaler/node-template/label/node.kubernetes.io/exclude-from-external-load-balancers": "", "k8s.io/role/master": "1", "kops.k8s.io/instancegroup": "master-us-test-1a", "kubernetes.io/cluster/minimal-json.example.com": "owned" }, "tag_specifications": [ { "resource_type": "instance", "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "master-us-test-1a.masters.minimal-json.example.com", "k8s.io/cluster-autoscaler/node-template/label/kops.k8s.io/kops-controller-pki": "", "k8s.io/cluster-autoscaler/node-template/label/kubernetes.io/role": "master", "k8s.io/cluster-autoscaler/node-template/label/node-role.kubernetes.io/control-plane": "", "k8s.io/cluster-autoscaler/node-template/label/node-role.kubernetes.io/master": "", "k8s.io/cluster-autoscaler/node-template/label/node.kubernetes.io/exclude-from-external-load-balancers": "", "k8s.io/role/master": "1", "kops.k8s.io/instancegroup": "master-us-test-1a", "kubernetes.io/cluster/minimal-json.example.com": "owned" } }, { "resource_type": "volume", "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "master-us-test-1a.masters.minimal-json.example.com", "k8s.io/cluster-autoscaler/node-template/label/kops.k8s.io/kops-controller-pki": "", "k8s.io/cluster-autoscaler/node-template/label/kubernetes.io/role": "master", "k8s.io/cluster-autoscaler/node-template/label/node-role.kubernetes.io/control-plane": "", "k8s.io/cluster-autoscaler/node-template/label/node-role.kubernetes.io/master": "", "k8s.io/cluster-autoscaler/node-template/label/node.kubernetes.io/exclude-from-external-load-balancers": "", "k8s.io/role/master": "1", "kops.k8s.io/instancegroup": "master-us-test-1a", "kubernetes.io/cluster/minimal-json.example.com": "owned" } } ], "user_data": "${filebase64(\"${path.module}/data/aws_launch_template_master-us-test-1a.masters.minimal-json.example.com_user_data\")}" }, "nodes-minimal-json-example-com": { "name": "nodes.minimal-json.example.com", "lifecycle": { "create_before_destroy": true }, "block_device_mappings": [ { "device_name": "/dev/xvda", "ebs": [ { "volume_type": "gp3", "volume_size": 128, "iops": 3000, "throughput": 125, "delete_on_termination": true, "encrypted": true } ] } ], "iam_instance_profile": [ { "name": "${aws_iam_instance_profile.nodes-minimal-json-example-com.id}" } ], "image_id": "ami-12345678", "instance_type": "t2.medium", "key_name": "${aws_key_pair.kubernetes-minimal-json-example-com-c4a6ed9aa889b9e2c39cd663eb9c7157.id}", "metadata_options": { "http_endpoint": "enabled", "http_put_response_hop_limit": 1, "http_tokens": "optional" }, "network_interfaces": [ { "associate_public_ip_address": true, "delete_on_termination": true, "ipv6_address_count": 0, "security_groups": [ "${aws_security_group.nodes-minimal-json-example-com.id}" ] } ], "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "nodes.minimal-json.example.com", "k8s.io/cluster-autoscaler/node-template/label/kubernetes.io/role": "node", "k8s.io/cluster-autoscaler/node-template/label/node-role.kubernetes.io/node": "", "k8s.io/role/node": "1", "kops.k8s.io/instancegroup": "nodes", "kubernetes.io/cluster/minimal-json.example.com": "owned" }, "tag_specifications": [ { "resource_type": "instance", "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "nodes.minimal-json.example.com", "k8s.io/cluster-autoscaler/node-template/label/kubernetes.io/role": "node", "k8s.io/cluster-autoscaler/node-template/label/node-role.kubernetes.io/node": "", "k8s.io/role/node": "1", "kops.k8s.io/instancegroup": "nodes", "kubernetes.io/cluster/minimal-json.example.com": "owned" } }, { "resource_type": "volume", "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "nodes.minimal-json.example.com", "k8s.io/cluster-autoscaler/node-template/label/kubernetes.io/role": "node", "k8s.io/cluster-autoscaler/node-template/label/node-role.kubernetes.io/node": "", "k8s.io/role/node": "1", "kops.k8s.io/instancegroup": "nodes", "kubernetes.io/cluster/minimal-json.example.com": "owned" } } ], "user_data": "${filebase64(\"${path.module}/data/aws_launch_template_nodes.minimal-json.example.com_user_data\")}" } }, "aws_route": { "route-0-0-0-0--0": { "route_table_id": "${aws_route_table.minimal-json-example-com.id}", "destination_cidr_block": "0.0.0.0/0", "gateway_id": "${aws_internet_gateway.minimal-json-example-com.id}" }, "route-__--0": { "route_table_id": "${aws_route_table.minimal-json-example-com.id}", "destination_ipv6_cidr_block": "::/0", "gateway_id": "${aws_internet_gateway.minimal-json-example-com.id}" } }, "aws_route_table": { "minimal-json-example-com": { "vpc_id": "${aws_vpc.minimal-json-example-com.id}", "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "minimal-json.example.com", "kubernetes.io/cluster/minimal-json.example.com": "owned", "kubernetes.io/kops/role": "public" } } }, "aws_route_table_association": { "us-test-1a-minimal-json-example-com": { "subnet_id": "${aws_subnet.us-test-1a-minimal-json-example-com.id}", "route_table_id": "${aws_route_table.minimal-json-example-com.id}" } }, "aws_security_group": { "masters-minimal-json-example-com": { "name": "masters.minimal-json.example.com", "vpc_id": "${aws_vpc.minimal-json-example-com.id}", "description": "Security group for masters", "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "masters.minimal-json.example.com", "kubernetes.io/cluster/minimal-json.example.com": "owned" } }, "nodes-minimal-json-example-com": { "name": "nodes.minimal-json.example.com", "vpc_id": "${aws_vpc.minimal-json-example-com.id}", "description": "Security group for nodes", "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "nodes.minimal-json.example.com", "kubernetes.io/cluster/minimal-json.example.com": "owned" } } }, "aws_security_group_rule": { "from-0-0-0-0--0-ingress-tcp-22to22-masters-minimal-json-example-com": { "type": "ingress", "security_group_id": "${aws_security_group.masters-minimal-json-example-com.id}", "from_port": 22, "to_port": 22, "protocol": "tcp", "cidr_blocks": [ "0.0.0.0/0" ] }, "from-0-0-0-0--0-ingress-tcp-22to22-nodes-minimal-json-example-com": { "type": "ingress", "security_group_id": "${aws_security_group.nodes-minimal-json-example-com.id}", "from_port": 22, "to_port": 22, "protocol": "tcp", "cidr_blocks": [ "0.0.0.0/0" ] }, "from-0-0-0-0--0-ingress-tcp-443to443-masters-minimal-json-example-com": { "type": "ingress", "security_group_id": "${aws_security_group.masters-minimal-json-example-com.id}", "from_port": 443, "to_port": 443, "protocol": "tcp", "cidr_blocks": [ "0.0.0.0/0" ] }, "from-masters-minimal-json-example-com-egress-all-0to0-0-0-0-0--0": { "type": "egress", "security_group_id": "${aws_security_group.masters-minimal-json-example-com.id}", "from_port": 0, "to_port": 0, "protocol": "-1", "cidr_blocks": [ "0.0.0.0/0" ] }, "from-masters-minimal-json-example-com-egress-all-0to0-__--0": { "type": "egress", "security_group_id": "${aws_security_group.masters-minimal-json-example-com.id}", "from_port": 0, "to_port": 0, "protocol": "-1", "ipv6_cidr_blocks": [ "::/0" ] }, "from-masters-minimal-json-example-com-ingress-all-0to0-masters-minimal-json-example-com": { "type": "ingress", "security_group_id": "${aws_security_group.masters-minimal-json-example-com.id}", "source_security_group_id": "${aws_security_group.masters-minimal-json-example-com.id}", "from_port": 0, "to_port": 0, "protocol": "-1" }, "from-masters-minimal-json-example-com-ingress-all-0to0-nodes-minimal-json-example-com": { "type": "ingress", "security_group_id": "${aws_security_group.nodes-minimal-json-example-com.id}", "source_security_group_id": "${aws_security_group.masters-minimal-json-example-com.id}", "from_port": 0, "to_port": 0, "protocol": "-1" }, "from-nodes-minimal-json-example-com-egress-all-0to0-0-0-0-0--0": { "type": "egress", "security_group_id": "${aws_security_group.nodes-minimal-json-example-com.id}", "from_port": 0, "to_port": 0, "protocol": "-1", "cidr_blocks": [ "0.0.0.0/0" ] }, "from-nodes-minimal-json-example-com-egress-all-0to0-__--0": { "type": "egress", "security_group_id": "${aws_security_group.nodes-minimal-json-example-com.id}", "from_port": 0, "to_port": 0, "protocol": "-1", "ipv6_cidr_blocks": [ "::/0" ] }, "from-nodes-minimal-json-example-com-ingress-all-0to0-nodes-minimal-json-example-com": { "type": "ingress", "security_group_id": "${aws_security_group.nodes-minimal-json-example-com.id}", "source_security_group_id": "${aws_security_group.nodes-minimal-json-example-com.id}", "from_port": 0, "to_port": 0, "protocol": "-1" }, "from-nodes-minimal-json-example-com-ingress-tcp-1to2379-masters-minimal-json-example-com": { "type": "ingress", "security_group_id": "${aws_security_group.masters-minimal-json-example-com.id}", "source_security_group_id": "${aws_security_group.nodes-minimal-json-example-com.id}", "from_port": 1, "to_port": 2379, "protocol": "tcp" }, "from-nodes-minimal-json-example-com-ingress-tcp-2382to4000-masters-minimal-json-example-com": { "type": "ingress", "security_group_id": "${aws_security_group.masters-minimal-json-example-com.id}", "source_security_group_id": "${aws_security_group.nodes-minimal-json-example-com.id}", "from_port": 2382, "to_port": 4000, "protocol": "tcp" }, "from-nodes-minimal-json-example-com-ingress-tcp-4003to65535-masters-minimal-json-example-com": { "type": "ingress", "security_group_id": "${aws_security_group.masters-minimal-json-example-com.id}", "source_security_group_id": "${aws_security_group.nodes-minimal-json-example-com.id}", "from_port": 4003, "to_port": 65535, "protocol": "tcp" }, "from-nodes-minimal-json-example-com-ingress-udp-1to65535-masters-minimal-json-example-com": { "type": "ingress", "security_group_id": "${aws_security_group.masters-minimal-json-example-com.id}", "source_security_group_id": "${aws_security_group.nodes-minimal-json-example-com.id}", "from_port": 1, "to_port": 65535, "protocol": "udp" } }, "aws_subnet": { "us-test-1a-minimal-json-example-com": { "vpc_id": "${aws_vpc.minimal-json-example-com.id}", "cidr_block": "172.20.32.0/19", "ipv6_cidr_block": null, "availability_zone": "us-test-1a", "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "us-test-1a.minimal-json.example.com", "SubnetType": "Public", "kubernetes.io/cluster/minimal-json.example.com": "owned", "kubernetes.io/role/elb": "1", "kubernetes.io/role/internal-elb": "1" } } }, "aws_vpc": { "minimal-json-example-com": { "cidr_block": "172.20.0.0/16", "enable_dns_hostnames": true, "enable_dns_support": true, "assign_generated_ipv6_cidr_block": true, "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "minimal-json.example.com", "kubernetes.io/cluster/minimal-json.example.com": "owned" } } }, "aws_vpc_dhcp_options": { "minimal-json-example-com": { "domain_name": "us-test-1.compute.internal", "domain_name_servers": [ "AmazonProvidedDNS" ], "tags": { "KubernetesCluster": "minimal-json.example.com", "Name": "minimal-json.example.com", "kubernetes.io/cluster/minimal-json.example.com": "owned" } } }, "aws_vpc_dhcp_options_association": { "minimal-json-example-com": { "vpc_id": "${aws_vpc.minimal-json-example-com.id}", "dhcp_options_id": "${aws_vpc_dhcp_options.minimal-json-example-com.id}" } } }, "terraform": { "required_providers": { "aws": { "source": "hashicorp/aws", "version": "\u003e= 2.46.0" } }, "required_version": "\u003e= 0.12.26" } }