Terraform destroy fails when state is empty.
I've seen other issues that refer to similar problems, like #513 and #402. But those issues are not related to the same error I'm seeing.
When terraform destroy is called on an empty state, terraform errors with Error: Invalid index.
The expressions that trigger this behaviour are things like:
cluster_security_group_id = var.cluster_create_security_group ? aws_security_group.cluster[0].id : var.cluster_security_group_id
$ cd examples/basic
$ terraform init
Initializing modules...
...
$ terraform destroy
module.eks.data.aws_region.current: Refreshing state...
data.aws_availability_zones.available: Refreshing state...
module.eks.data.aws_caller_identity.current: Refreshing state...
module.eks.data.aws_iam_policy_document.cluster_assume_role_policy: Refreshing state...
module.eks.data.aws_iam_policy_document.workers_assume_role_policy: Refreshing state...
module.eks.data.aws_ami.eks_worker: Refreshing state...
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
Terraform will perform the following actions:
Plan: 0 to add, 0 to change, 0 to destroy.
Do you really want to destroy all resources?
Terraform will destroy all your managed infrastructure, as shown above.
There is no undo. Only 'yes' will be accepted to confirm.
Enter a value: yes
Error: Invalid index
on ../../local.tf line 11, in locals:
11: cluster_security_group_id = var.cluster_create_security_group ? aws_security_group.cluster[0].id : var.cluster_security_group_id
|----------------
| aws_security_group.cluster is empty tuple
The given key does not identify an element in this collection value.
$ terraform destroy
Destroy complete! Resources: 0 destroyed.
PR #569
master The reason why it is important for me to have the destroy command work well on an empty state is that I'm using this module in a project that uses terragrunt to "glue together" a tree of modules. When destroying, terragrunt will want to call terraform destroy on all the modules it knows about. Turns out that when an attempt to destroy the entire tree of modules does not completely finish, subsequent attempts will try and destroy modules that have already been destroyed and, therefore, have empty states. At that point this issue surfaces.
It would be cool if this could be solved in TF itself. Is there a github issue already existing?
We are still facing the issue. when we can expect a new release with the fix?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Any update on a solution here?
@jross-ai are you still experiencing the same issue with v7.0.0 or above?
PR #569 should have addressed it.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
@miguelaferreira
This is still happening in v12.1.0 and the master branch because some other local values (presumably added after your fixes) directly reference element tuples by their index.
Specifically endpoint, cluster_auth_base64 , and aws_authenticator_command_args.
Here's what the error output looks like.
Error: Invalid index
on .terraform/modules/eks/terraform-aws-eks-12.1.0/local.tf line 143, in locals:
143: endpoint = aws_eks_cluster.this[0].endpoint
|----------------
| aws_eks_cluster.this is empty tuple
The given key does not identify an element in this collection value.
Error: Invalid index
on .terraform/modules/eks/terraform-aws-eks-12.1.0/local.tf line 144, in locals:
144: cluster_auth_base64 = aws_eks_cluster.this[0].certificate_authority[0].data
|----------------
| aws_eks_cluster.this is empty tuple
The given key does not identify an element in this collection value.
Error: Invalid index
on .terraform/modules/eks/terraform-aws-eks-12.1.0/local.tf line 146, in locals:
146: aws_authenticator_command_args = length(var.kubeconfig_aws_authenticator_command_args) > 0 ? var.kubeconfig_aws_authenticator_command_args : ["token", "-i", aws_eks_cluster.this[0].name]
|----------------
| aws_eks_cluster.this is empty tuple
The given key does not identify an element in this collection value.
If I end up with free time, I'll send in a PR to fix it. I assume it will just require a better test condition on the local.kubeconfig, but it may require more than that.
@tkent I think I've bumped into this issue as well while destroying a cluster. If you can propose a PR I can help you test.
Also having the same issue.
Same issue on 12.1.0
Error: Invalid index
on .terraform/modules/eks/terraform-aws-eks-12.1.0/local.tf line 143, in locals:
143: endpoint = aws_eks_cluster.this[0].endpoint
|----------------
| aws_eks_cluster.this is empty tuple
The given key does not identify an element in this collection value.
Error: Invalid index
on .terraform/modules/eks/terraform-aws-eks-12.1.0/local.tf line 144, in locals:
144: cluster_auth_base64 = aws_eks_cluster.this[0].certificate_authority[0].data
|----------------
| aws_eks_cluster.this is empty tuple
The given key does not identify an element in this collection value.
Error: Invalid index
on .terraform/modules/eks/terraform-aws-eks-12.1.0/local.tf line 146, in locals:
146: aws_authenticator_command_args = length(var.kubeconfig_aws_authenticator_command_args) > 0 ? var.kubeconfig_aws_authenticator_command_args : ["token", "-i", aws_eks_cluster.this[0].name]
|----------------
| aws_eks_cluster.this is empty tuple
The given key does not identify an element in this collection value.
My team has found that if there are items that affect the infrastructure that terraform is not aware of, i.e. one stands up their kubernetes infrastructure with terraform and then deploys content into that infrastructure with ansible, timeouts can occur. Once those times happen, the tfstate file is not happy and now has trouble with outputs/locals/etc that have collection or tuple information they should be referencing. Even doing a refresh with terraform does not correct the state in the state file to clear this up.
My team has found that if there are items that affect the infrastructure that terraform is not aware of, i.e. one stands up their kubernetes infrastructure with terraform and then deploys content into that infrastructure with ansible, timeouts can occur. Once those times happen, the tfstate file is not happy and now has trouble with outputs/locals/etc that have collection or tuple information they should be referencing. Even doing a refresh with terraform does not correct the state in the state file to clear this up.
Do you have a typical workaround that you implement?
This is one of those annoying edge cases when half the state has been removed. terraform state list would give some hints on what resources are remaining to destroy. Maybe shine some light on where the issue is.
Running terraform destroy on one of the example folders shows that it works correctly on a totally empty state and thus the difficulty in testing fixes.
For me I failed removing my cluster because I forgot uninstalling helm/ingress/route53 before running terraform destroy.
Error message is quite similar, terraform state list meanwhile shows no output (so the eks cluster is already gone?)
Update:
A little bit more context:
terraform destroy will output Plan: 0 to add, 0 to change, 0 to destroy. at some point.terraform state list returns an empty listterraform state pull returns a list of a lot of objects, many are module.eks related, but not allFor quick testing purposes I've removed all occurrences of module.eks in my terraform.tfstate but I am still presented with the same error.
error messages
Plan: 0 to add, 0 to change, 0 to destroy.
Do you really want to destroy all resources in workspace "<my workspace>"?
Terraform will destroy all your managed infrastructure, as shown above.
There is no undo. Only 'yes' will be accepted to confirm.
Enter a value: yes
Error: Invalid index
on .terraform/modules/eks/terraform-aws-eks-12.2.0/local.tf line 147, in locals:
147: endpoint = aws_eks_cluster.this[0].endpoint
|----------------
| aws_eks_cluster.this is empty tuple
The given key does not identify an element in this collection value.
Error: Invalid index
on .terraform/modules/eks/terraform-aws-eks-12.2.0/local.tf line 148, in locals:
148: cluster_auth_base64 = aws_eks_cluster.this[0].certificate_authority[0].data
|----------------
| aws_eks_cluster.this is empty tuple
The given key does not identify an element in this collection value.
Error: Invalid index
on .terraform/modules/eks/terraform-aws-eks-12.2.0/local.tf line 150, in locals:
150: aws_authenticator_command_args = length(var.kubeconfig_aws_authenticator_command_args) > 0 ? var.kubeconfig_aws_authenticator_command_args : ["token", "-i", aws_eks_cluster.this[0].name]
|----------------
| aws_eks_cluster.this is empty tuple
The given key does not identify an element in this collection value.
Below is my tfstate file, perhaps this is enough to replicate the issue.
terraform.tfstate
{
"version": 4,
"terraform_version": "0.12.29",
"serial": 20,
"lineage": "746b2236-8d1d-3622-0d8b-9fb2673ec13c",
"outputs": {},
"resources": [
{
"module": "module.s3_bucket",
"mode": "data",
"type": "aws_elb_service_account",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "data",
"type": "aws_iam_instance_profile",
"name": "custom_worker_group_iam_instance_profile",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "data",
"type": "aws_iam_instance_profile",
"name": "custom_worker_group_launch_template_iam_instance_profile",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.iam_assumable_role_admin_gitlab_runner",
"mode": "data",
"type": "aws_iam_policy_document",
"name": "assume_role_with_oidc",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.iam_assumable_role_admin_autoscaler",
"mode": "data",
"type": "aws_iam_policy_document",
"name": "assume_role_with_oidc",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.iam_assumable_role_external_dns",
"mode": "data",
"type": "aws_iam_policy_document",
"name": "assume_role_with_oidc",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.iam_assumable_role_cert_manager",
"mode": "data",
"type": "aws_iam_policy_document",
"name": "assume_role_with_oidc",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "data",
"type": "aws_iam_policy_document",
"name": "cluster_elb_sl_role_creation",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.s3_bucket",
"mode": "data",
"type": "aws_iam_policy_document",
"name": "elb_log_delivery",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "data",
"type": "aws_iam_role",
"name": "custom_cluster_iam_role",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "apigw",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "cloudtrail",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "dynamodb",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "ec2",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "ec2messages",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "ecr_api",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "ecr_dkr",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "ecs",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "ecs_agent",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "ecs_telemetry",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "elasticloadbalancing",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "events",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "kms",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "logs",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "monitoring",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "s3",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "sns",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "sqs",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "ssm",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "data",
"type": "aws_vpc_endpoint_service",
"name": "ssmmessages",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "data",
"type": "template_file",
"name": "launch_template_userdata",
"each": "list",
"provider": "provider.template",
"instances": []
},
{
"module": "module.eks",
"mode": "data",
"type": "template_file",
"name": "userdata",
"each": "list",
"provider": "provider.template",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_autoscaling_group",
"name": "workers",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_autoscaling_group",
"name": "workers_launch_template",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_cloudwatch_log_group",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds.module.db_instance",
"mode": "managed",
"type": "aws_db_instance",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds.module.db_instance",
"mode": "managed",
"type": "aws_db_instance",
"name": "this_mssql",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds.module.db_option_group",
"mode": "managed",
"type": "aws_db_option_group",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds.module.db_parameter_group",
"mode": "managed",
"type": "aws_db_parameter_group",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds.module.db_parameter_group",
"mode": "managed",
"type": "aws_db_parameter_group",
"name": "this_no_prefix",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_db_subnet_group",
"name": "database",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds.module.db_subnet_group",
"mode": "managed",
"type": "aws_db_subnet_group",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_default_network_acl",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_default_vpc",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_eip",
"name": "nat",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_eks_cluster",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks.module.node_groups",
"mode": "managed",
"type": "aws_eks_node_group",
"name": "workers",
"each": "map",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_elasticache_subnet_group",
"name": "elasticache",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_iam_instance_profile",
"name": "workers",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_iam_instance_profile",
"name": "workers_launch_template",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_iam_openid_connect_provider",
"name": "oidc_provider",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_iam_role",
"name": "cluster",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds.module.db_instance",
"mode": "managed",
"type": "aws_iam_role",
"name": "enhanced_monitoring",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.iam_assumable_role_admin_gitlab_runner",
"mode": "managed",
"type": "aws_iam_role",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.iam_assumable_role_admin_autoscaler",
"mode": "managed",
"type": "aws_iam_role",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.iam_assumable_role_external_dns",
"mode": "managed",
"type": "aws_iam_role",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.iam_assumable_role_cert_manager",
"mode": "managed",
"type": "aws_iam_role",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_iam_role",
"name": "workers",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_iam_role_policy",
"name": "cluster_elb_sl_role_creation",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_iam_role_policy_attachment",
"name": "cluster_AmazonEKSClusterPolicy",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_iam_role_policy_attachment",
"name": "cluster_AmazonEKSServicePolicy",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.iam_assumable_role_admin_gitlab_runner",
"mode": "managed",
"type": "aws_iam_role_policy_attachment",
"name": "custom",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.iam_assumable_role_admin_autoscaler",
"mode": "managed",
"type": "aws_iam_role_policy_attachment",
"name": "custom",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.iam_assumable_role_external_dns",
"mode": "managed",
"type": "aws_iam_role_policy_attachment",
"name": "custom",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.iam_assumable_role_cert_manager",
"mode": "managed",
"type": "aws_iam_role_policy_attachment",
"name": "custom",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds.module.db_instance",
"mode": "managed",
"type": "aws_iam_role_policy_attachment",
"name": "enhanced_monitoring",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_iam_role_policy_attachment",
"name": "workers_AmazonEC2ContainerRegistryReadOnly",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_iam_role_policy_attachment",
"name": "workers_AmazonEKSWorkerNodePolicy",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_iam_role_policy_attachment",
"name": "workers_AmazonEKS_CNI_Policy",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_iam_role_policy_attachment",
"name": "workers_additional_policies",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor",
"mode": "managed",
"type": "aws_instance",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory",
"mode": "managed",
"type": "aws_instance",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_internet_gateway",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.keypair",
"mode": "managed",
"type": "aws_key_pair",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_launch_configuration",
"name": "workers",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_launch_template",
"name": "workers_launch_template",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_nat_gateway",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl",
"name": "database",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl",
"name": "elasticache",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl",
"name": "intra",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl",
"name": "private",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl",
"name": "public",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl",
"name": "redshift",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl_rule",
"name": "database_inbound",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl_rule",
"name": "database_outbound",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl_rule",
"name": "elasticache_inbound",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl_rule",
"name": "elasticache_outbound",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl_rule",
"name": "intra_inbound",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl_rule",
"name": "intra_outbound",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl_rule",
"name": "private_inbound",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl_rule",
"name": "private_outbound",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl_rule",
"name": "public_inbound",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl_rule",
"name": "public_outbound",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl_rule",
"name": "redshift_inbound",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_network_acl_rule",
"name": "redshift_outbound",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_redshift_subnet_group",
"name": "redshift",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route",
"name": "database_internet_gateway",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route",
"name": "database_nat_gateway",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route",
"name": "private_nat_gateway",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route",
"name": "public_internet_gateway",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route_table",
"name": "database",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route_table",
"name": "elasticache",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route_table",
"name": "intra",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route_table",
"name": "private",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route_table",
"name": "public",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route_table",
"name": "redshift",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route_table_association",
"name": "database",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route_table_association",
"name": "elasticache",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route_table_association",
"name": "intra",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route_table_association",
"name": "private",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route_table_association",
"name": "public",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route_table_association",
"name": "redshift",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_route_table_association",
"name": "redshift_public",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.s3_bucket",
"mode": "managed",
"type": "aws_s3_bucket",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.s3_bucket",
"mode": "managed",
"type": "aws_s3_bucket_policy",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.s3_bucket",
"mode": "managed",
"type": "aws_s3_bucket_public_access_block",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_security_group",
"name": "cluster",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group",
"name": "this_name_prefix",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group",
"name": "this_name_prefix",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group",
"name": "this_name_prefix",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group",
"name": "this_name_prefix",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group",
"name": "this_name_prefix",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_security_group",
"name": "workers",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "cluster_egress_internet",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "cluster_https_worker_ingress",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "cluster_primary_ingress_workers",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "cluster_private_access",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_egress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "computed_ingress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "egress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_rules",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_ipv6_cidr_blocks",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.rds_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.memcached_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.faktory_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.elasticsearch_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.monitor_sg",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "ingress_with_source_security_group_id",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "workers_egress_internet",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "workers_ingress_cluster",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "workers_ingress_cluster_https",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "workers_ingress_cluster_kubelet",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "workers_ingress_cluster_primary",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "aws_security_group_rule",
"name": "workers_ingress_self",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_subnet",
"name": "database",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_subnet",
"name": "elasticache",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_subnet",
"name": "intra",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_subnet",
"name": "private",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_subnet",
"name": "public",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_subnet",
"name": "redshift",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_dhcp_options",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_dhcp_options_association",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "apigw",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "cloudtrail",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "dynamodb",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "ec2",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "ec2messages",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "ecr_api",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "ecr_dkr",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "ecs",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "ecs_agent",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "ecs_telemetry",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "elasticloadbalancing",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "events",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "kms",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "logs",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "monitoring",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "s3",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "sns",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "sqs",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "ssm",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint",
"name": "ssmmessages",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint_route_table_association",
"name": "intra_dynamodb",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint_route_table_association",
"name": "intra_s3",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint_route_table_association",
"name": "private_dynamodb",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint_route_table_association",
"name": "private_s3",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint_route_table_association",
"name": "public_dynamodb",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_endpoint_route_table_association",
"name": "public_s3",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpc_ipv4_cidr_block_association",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpn_gateway",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpn_gateway_attachment",
"name": "this",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpn_gateway_route_propagation",
"name": "private",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.vpc",
"mode": "managed",
"type": "aws_vpn_gateway_route_propagation",
"name": "public",
"each": "list",
"provider": "provider.aws",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "kubernetes_config_map",
"name": "aws_auth",
"each": "list",
"provider": "provider.kubernetes",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "local_file",
"name": "kubeconfig",
"each": "list",
"provider": "provider.local",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "null_resource",
"name": "wait_for_cluster",
"each": "list",
"provider": "provider.null",
"instances": []
},
{
"module": "module.eks.module.node_groups",
"mode": "managed",
"type": "random_pet",
"name": "node_groups",
"each": "map",
"provider": "provider.random",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "random_pet",
"name": "workers",
"each": "list",
"provider": "provider.random",
"instances": []
},
{
"module": "module.eks",
"mode": "managed",
"type": "random_pet",
"name": "workers_launch_template",
"each": "list",
"provider": "provider.random",
"instances": []
}
]
}
This issue is bedeviling my development efforts right now. Also curious about the apparent abandonment of this issue and lack of workarounds. Are other organizations creating EKS clusters and never destroying them, so not encountering this bug (yet)?
UPDATE: This seems to be triggered when an apply or destroy action is interrupted, such as with a timeout or expiration of AWS assumed role token.
@acutchin-bitpusher @clushie Can you please test this and let me know if it solves your issue.
Most helpful comment
@miguelaferreira
This is still happening in
v12.1.0and the master branch because some other local values (presumably added after your fixes) directly reference element tuples by their index.Specifically
endpoint,cluster_auth_base64, andaws_authenticator_command_args.See https://github.com/terraform-aws-modules/terraform-aws-eks/blob/f2c4383719354c5bfcb4f15d34555e6b1cc5406d/local.tf#L141
Here's what the error output looks like.
If I end up with free time, I'll send in a PR to fix it. I assume it will just require a better test condition on the
local.kubeconfig, but it may require more than that.