Error map

Instance cannot be destroyed (lifecycle.prevent_destroy) Terraform: Error: Instance cannot be destroyed — Resource aws_db_instance.prod has lifecycle.prevent_destroy set, but the plan calls for this resource to be destroyed

Terraform · layer 6, Platform & cloud

Open the full error page →

Centre: this error. First ring: errors it is linked with (8). Outer ring: what those are linked with. Colours show the layer of a request each error belongs to. Click any dot to re-centre the map on it; hover to follow its connections. The centre dot opens the error page.

Instance cannot be destroyed (lifecycle.prevent_destroy) — Terraform: Error: Instance cannot be destroyed — Resource aws_db_instance.prod has lifecycle.prevent_destroy set, but the plan calls for this resource to be destroyed (Terraform)Instance ca…Resource is tainted and must be replaced — Terraform: # aws_instance.web is tainted, so must be replaced — -/+ destroy and then create replacement (Terraform)Resource is tainted…Invalid AWS Region — Terraform: Error: Invalid AWS Region: us-east-3 / Error: configuring Terraform AWS Provider: validating provider credentials: operation error STS: GetCallerIdentity (Terraform)Invalid AWS RegionDependencyViolation: resource has dependent objects (destroy) — Terraform: Error: deleting EC2 VPC (vpc-0abc): DependencyViolation: The vpc 'vpc-0abc' has dependencies and cannot be deleted (Terraform)DependencyViolation…Moved object still exists — Terraform: Error: Moved object still exists — This statement declares a move from aws_x.old, but that resource instance is still declared at main.tf (Terraform)Moved object still …No valid credential sources found (AWS provider) — Terraform: Error: No valid credential sources found — failed to refresh cached credentials, no EC2 IMDS role found / Error: configuring Terraform AWS Provider: no valid credential sources (Terraform)No valid credential…UnauthorizedOperation / AccessDenied during Terraform apply — Terraform: Error: creating EC2 Instance: UnauthorizedOperation: You are not authorized to perform this operation. User: arn:aws:iam::123:user/ci is not authorized to perform: ec2:RunInstances (Terraform)UnauthorizedOperati…Provider configuration not present (removed resource) — Terraform: Error: Provider configuration not present — its original provider configuration is required, but it has been removed (Terraform)Provider configurat…BucketNotEmpty: bucket you tried to delete is not empty — Terraform: Error: deleting S3 Bucket (my-bucket): BucketNotEmpty: The bucket you tried to delete is not empty (Terraform)BucketNotEmpty: buc…Backend configuration changed (migrate or reconfigure) — Terraform: Error: Backend configuration changed — A change in the backend configuration has been detected, which may require migrating existing state (Terraform)Backend configurati…Error creating resource: already exists (needs import) — Terraform: Error: creating S3 Bucket (my-bucket): BucketAlreadyOwnedByYou / EntityAlreadyExists: Role with name x already exists (Terraform)Error creating reso…Cannot import non-existent remote object — Terraform: Error: Cannot import non-existent remote object — While attempting to import an existing object to "aws_s3_bucket.logs", the provider detected that no object exists with the given id (Terraform)Cannot import non-e…PermanentRedirect — S3 PermanentRedirect: The bucket you are attempting to access must be addressed using the specified endpoint (AWS)PermanentRedirectInvalidKeyPair.NotFound — InvalidKeyPair.NotFound: The key pair 'x' does not exist (AWS)InvalidKeyPair.NotF…InvalidAMIID.NotFound — InvalidAMIID.NotFound: The image id '[ami-xxxx]' does not exist (AWS)InvalidAMIID.NotFou…Error: Cycle (dependency cycle) — Terraform: Error: Cycle: aws_security_group.a, aws_security_group.b (Terraform)Error: Cycle (depen…timeout while waiting for state to become 'available' — Terraform: Error: waiting for RDS DB Instance create: timeout while waiting for state to become 'available' (last state: 'creating', timeout: 40m0s) (Terraform)timeout while waiti…Reference to undeclared resource — Terraform: Error: Reference to undeclared resource / Reference to undeclared input variable (Terraform)Reference to undecl…Error building ARM Config: obtain subscription from Azure CLI — Terraform: Error: building AzureRM Client: obtaining subscription ID / Please run 'az login' to setup account (Terraform)Error building ARM …ExpiredToken — AWS: ExpiredToken — The security token included in the request is expired (AWS)ExpiredTokenNoCredentialsError — AWS: Unable to locate credentials / Could not load credentials from any providers (AWS)NoCredentialsErrorSignatureDoesNotMatch — AWS: SignatureDoesNotMatch / InvalidClientTokenId — the request signature we calculated does not match (AWS)SignatureDoesNotMat…IAM AccessDeniedException — AccessDeniedException: User: arn:aws:iam::... is not authorized to perform: service:Action on resource: ... (AWS)IAM AccessDeniedExc…sts:AssumeRole denied — is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::...:role/... (AWS)sts:AssumeRole deni…Cloud Run 403: Your client does not have permission to get URL — Cloud Run: Error: Forbidden — Your client does not have permission to get URL / from this server (Google Cloud / Firebase)Cloud Run 403: Your…Inconsistent dependency lock file — Terraform: Error: Inconsistent dependency lock file — provider x: required by this configuration but no version is selected (Terraform)Inconsistent depend…Failed to query available provider packages — Terraform: Error: Failed to query available provider packages — Could not retrieve the list of available versions for provider hashicorp/aws: no available releases match the given constraints (Terraform)Failed to query ava…state snapshot was created by a newer Terraform version — Terraform: Error: state snapshot was created by Terraform v1.9.0, which is newer than current v1.6.6; upgrade to Terraform v1.9.0 or greater to work with this state (Terraform)state snapshot was …Error loading state: AccessDenied (S3 backend) — Terraform: Error: Failed to load state: AccessDenied: Access Denied / Error refreshing state: AccessDenied status code: 403 (Terraform)Error loading state…S3 backend: NoSuchBucket / bucket does not exist — Terraform: Error: Failed to get existing workspaces: S3 bucket "my-tf-state" does not exist / NoSuchBucket: The specified bucket does not exist (Terraform)S3 backend: NoSuchB…

Directly related (8)

Resource is tainted and must be replacedTerraform

Terraform: # aws_instance.web is tainted, so must be replaced — -/+ destroy and then create replacement

A previous apply failed during creation, so Terraform marked the resource tainted and will recreate it.

Invalid AWS RegionTerraform

Terraform: Error: Invalid AWS Region: us-east-3 / Error: configuring Terraform AWS Provider: validating provider credentials: operation error STS: GetCallerIdentity

The `region` is invalid/unavailable, or the provider can't reach AWS endpoints to validate credentials.

DependencyViolation: resource has dependent objects (destroy)Terraform

Terraform: Error: deleting EC2 VPC (vpc-0abc): DependencyViolation: The vpc 'vpc-0abc' has dependencies and cannot be deleted

Destroy failed because something else still uses the resource (ENIs, subnets, gateways, security group rules).

Moved object still existsTerraform

Terraform: Error: Moved object still exists — This statement declares a move from aws_x.old, but that resource instance is still declared at main.tf

A `moved` block points at an address that is still present in the configuration.

No valid credential sources found (AWS provider)Terraform

Terraform: Error: No valid credential sources found — failed to refresh cached credentials, no EC2 IMDS role found / Error: configuring Terraform AWS Provider: no valid credential sources

The AWS provider found no credentials (env vars, shared config, SSO, role, instance profile).

UnauthorizedOperation / AccessDenied during Terraform applyTerraform

Terraform: Error: creating EC2 Instance: UnauthorizedOperation: You are not authorized to perform this operation. User: arn:aws:iam::123:user/ci is not authorized to perform: ec2:RunInstances

The IAM identity used by Terraform lacks a permission needed for that resource.

Provider configuration not present (removed resource)Terraform

Terraform: Error: Provider configuration not present — its original provider configuration is required, but it has been removed

A resource in state needs a provider configuration (alias) that no longer exists in the code.

BucketNotEmpty: bucket you tried to delete is not emptyTerraform

Terraform: Error: deleting S3 Bucket (my-bucket): BucketNotEmpty: The bucket you tried to delete is not empty

Terraform can't delete an S3 bucket that still holds objects (or versions).

Two steps away (21)

Backend configuration changed (migrate or reconfigure)Terraform

Terraform: Error: Backend configuration changed — A change in the backend configuration has been detected, which may require migrating existing state

The saved backend settings in `.terraform` differ from the current configuration.

Error creating resource: already exists (needs import)Terraform

Terraform: Error: creating S3 Bucket (my-bucket): BucketAlreadyOwnedByYou / EntityAlreadyExists: Role with name x already exists

The resource exists outside Terraform's state (created manually or by another stack), so create fails.

Cannot import non-existent remote objectTerraform

Terraform: Error: Cannot import non-existent remote object — While attempting to import an existing object to "aws_s3_bucket.logs", the provider detected that no object exists with the given id

`terraform import` (or an import block) used an ID that the provider can't find.

PermanentRedirectAWS

S3 PermanentRedirect: The bucket you are attempting to access must be addressed using the specified endpoint

The request went to the wrong S3 region/endpoint for that bucket.

InvalidKeyPair.NotFoundAWS

InvalidKeyPair.NotFound: The key pair 'x' does not exist

The key pair name you passed doesn’t exist in that region (key pairs are regional).

InvalidAMIID.NotFoundAWS

InvalidAMIID.NotFound: The image id '[ami-xxxx]' does not exist

The AMI ID isn’t available in this region/account — AMI IDs are regional and private AMIs must be shared.

Error: Cycle (dependency cycle)Terraform

Terraform: Error: Cycle: aws_security_group.a, aws_security_group.b

Resources reference each other (directly or indirectly), so Terraform can't order them.

timeout while waiting for state to become 'available'Terraform

Terraform: Error: waiting for RDS DB Instance create: timeout while waiting for state to become 'available' (last state: 'creating', timeout: 40m0s)

The resource didn't reach the target state before the provider's timeout.

Reference to undeclared resourceTerraform

Terraform: Error: Reference to undeclared resource / Reference to undeclared input variable

The configuration refers to a resource, data source, variable or module output that isn’t declared in this module.

Error building ARM Config: obtain subscription from Azure CLITerraform

Terraform: Error: building AzureRM Client: obtaining subscription ID / Please run 'az login' to setup account

The AzureRM provider can't find Azure credentials or a subscription.

ExpiredTokenAWS

AWS: ExpiredToken — The security token included in the request is expired

Temporary AWS credentials (STS/SSO/assumed role) have expired.

NoCredentialsErrorAWS

AWS: Unable to locate credentials / Could not load credentials from any providers

The AWS CLI/SDK found no credentials in any place it looks — env vars, profile files, SSO cache or an instance/task role.

SignatureDoesNotMatchAWS

AWS: SignatureDoesNotMatch / InvalidClientTokenId — the request signature we calculated does not match

AWS rejected the request signature — wrong secret key, wrong region, clock skew, or a presigned URL used differently from how it…

IAM AccessDeniedExceptionAWS

AccessDeniedException: User: arn:aws:iam::... is not authorized to perform: service:Action on resource: ...

The IAM user or role making the call has no permission for that action on that resource — the message names both.

sts:AssumeRole deniedAWS

is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::...:role/...

The caller can’t assume the role — either its own policy doesn’t allow sts:AssumeRole, or the role’s trust policy doesn’t trust t…

Cloud Run 403: Your client does not have permission to get URLGoogle Cloud / Firebase

Cloud Run: Error: Forbidden — Your client does not have permission to get URL / from this server

The Cloud Run service requires authentication and the caller has no valid identity token or the `roles/run.invoker` role.

Inconsistent dependency lock fileTerraform

Terraform: Error: Inconsistent dependency lock file — provider x: required by this configuration but no version is selected

The .terraform.lock.hcl file doesn’t match the providers/versions your configuration now requires, or init wasn’t run.

Failed to query available provider packagesTerraform

Terraform: Error: Failed to query available provider packages — Could not retrieve the list of available versions for provider hashicorp/aws: no available releases match the given constraints

`terraform init` can't find a provider version matching your constraints (or can't reach the registry).

state snapshot was created by a newer Terraform versionTerraform

Terraform: Error: state snapshot was created by Terraform v1.9.0, which is newer than current v1.6.6; upgrade to Terraform v1.9.0 or greater to work with this state

The remote/local state was last written by a newer Terraform CLI than the one you're running.

Error loading state: AccessDenied (S3 backend)Terraform

Terraform: Error: Failed to load state: AccessDenied: Access Denied / Error refreshing state: AccessDenied status code: 403

Terraform can't read/write the S3 bucket (or DynamoDB table) that stores state — IAM permissions or wrong credentials/role.

S3 backend: NoSuchBucket / bucket does not existTerraform

Terraform: Error: Failed to get existing workspaces: S3 bucket "my-tf-state" does not exist / NoSuchBucket: The specified bucket does not exist

The S3 bucket configured as the state backend doesn't exist (or is in another region/account).