Terraform-aws-eks: Terraform destroy fails when state is empty

Created on 24 Oct 2019  路  16Comments  路  Source: terraform-aws-modules/terraform-aws-eks

I have issues

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.

I'm submitting a...

  • [x] bug report
  • [ ] feature request
  • [ ] support request - read the FAQ first!
  • [x] kudos, thank you, warm fuzzy

What is the current behavior?

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

If this is a bug, how to reproduce? Please include a code sample if relevant.

$ 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.

What's the expected behavior?

$ terraform destroy
Destroy complete! Resources: 0 destroyed.

Are you able to fix this problem and submit a PR? Link here if you have already.

PR #569

Environment details

  • Affected module version: current master
  • OS: Mac OSX
  • Terraform version: v0.12.12

Any other relevant info

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.

Most helpful comment

@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.

See https://github.com/terraform-aws-modules/terraform-aws-eks/blob/f2c4383719354c5bfcb4f15d34555e6b1cc5406d/local.tf#L141

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.

All 16 comments

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.

See https://github.com/terraform-aws-modules/terraform-aws-eks/blob/f2c4383719354c5bfcb4f15d34555e6b1cc5406d/local.tf#L141

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:

  • so terraform destroy will output Plan: 0 to add, 0 to change, 0 to destroy. at some point.
  • terraform state list returns an empty list
  • terraform state pull returns a list of a lot of objects, many are module.eks related, but not all

For 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.

Was this page helpful?
0 / 5 - 0 ratings