TroubleshootingFix Terraform Kinesis Stream - ResourceInUseException
Fix AWS Kinesis stream name conflict errors in Terraform. Handle duplicate streams, import existing resources, shard count changes, and stream modes.
Troubleshooting
Resolve AWS KMS MalformedPolicyDocument errors in Terraform. Fix key policy JSON syntax and principal ARN validation issues step by step.

MalformedPolicyDocument when creating an aws_kms_key means the key policy JSON is syntactically valid but semantically rejected by KMS — usually a principal ARN that doesn't exist yet, a policy that doesn't grant the account root the required permissions (which can lock you out), or jsonencode producing a structure KMS won't accept. This guide shows how to write a valid KMS key policy in Terraform and avoid the common pitfalls.
Error: Error Creating KMS Key - MalformedPolicyDocumentThis error typically appears during terraform apply or terraform plan when Terraform encounters a conflict or misconfiguration with the target resource.
First, verify whether the resource already exists:
# For AWS resources
aws <service> describe-<resource> --name <resource-name>
# Check Terraform state
terraform state list | grep <resource-type>If the resource exists but isn't in your state:
terraform import <resource_address> <resource_id>Review your Terraform configuration for issues:
# Ensure unique naming
resource "aws_<resource>" "example" {
name = "${var.project}-${var.environment}-<resource>"
# Add explicit dependencies if needed
depends_on = [aws_<dependency>.this]
}# Check current provider version
terraform providers
# Upgrade to latest
terraform init -upgrade# Refresh state to match actual infrastructure
terraform refresh
# Or use plan with refresh
terraform plan -refresh=trueIf the resource was manually deleted:
# Remove from state
terraform state rm <resource_address>
# Re-apply
terraform applyterraform plan before every applylifecycle blocks for critical resourcesresource "aws_<resource>" "critical" {
# ...
lifecycle {
prevent_destroy = true
create_before_destroy = true
}
}The Error Creating KMS Key - MalformedPolicyDocument error is usually caused by resource conflicts or permission issues. By checking existing resources, fixing configuration, and keeping your state clean, you can resolve this error quickly and prevent it from recurring.
TroubleshootingFix AWS Kinesis stream name conflict errors in Terraform. Handle duplicate streams, import existing resources, shard count changes, and stream modes.
TroubleshootingFix AWS MSK cluster throttling errors in Terraform. Handle API rate limits, retry configuration, reduce parallelism, and manage long cluster creation times.
TroubleshootingFix ElastiCache cluster name conflicts in Terraform. Import existing clusters, use unique naming conventions, and handle replication group configurations.
TroubleshootingFix AWS Step Functions duplicate state machine errors in Terraform. Covers naming conflicts, import, definition updates, and versioning patterns.