Fix 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
Fix AWS EventBridge rule already exists errors in Terraform. Covers rule naming conflicts, event bus configuration, import, and cross-account event patterns.
An EventBridge rule with the same name already exists on the event bus. Import it into Terraform, use environment-prefixed names, or delete the orphaned rule.
Error: creating EventBridge Rule (my-schedule-rule):
ResourceAlreadyExistsException: Rule my-schedule-rule already exists on EventBus default.# Check if the rule exists
aws events describe-rule --name my-schedule-rule
# Import — format: event_bus_name/rule_name
terraform import aws_cloudwatch_event_rule.schedule default/my-schedule-rule
# For custom event bus
terraform import aws_cloudwatch_event_rule.schedule my-bus/my-schedule-ruleresource "aws_cloudwatch_event_rule" "schedule" {
name = "${var.project}-${var.environment}-daily-cleanup"
description = "Trigger daily cleanup Lambda"
schedule_expression = "cron(0 2 * * ? *)"
event_bus_name = "default"
}
resource "aws_cloudwatch_event_target" "lambda" {
rule = aws_cloudwatch_event_rule.schedule.name
arn = aws_lambda_function.cleanup.arn
}Isolate rules per application with custom event buses:
resource "aws_cloudwatch_event_bus" "app" {
name = "${var.project}-${var.environment}"
}
resource "aws_cloudwatch_event_rule" "process_orders" {
name = "process-orders"
event_bus_name = aws_cloudwatch_event_bus.app.name
event_pattern = jsonencode({
source = ["com.myapp.orders"]
detail-type = ["OrderCreated"]
})
}aws events describe-rule --name NAME)ManagedBy = "terraform"EventBridge rule names must be unique per event bus. Import existing rules, use environment-prefixed names, or isolate applications with custom event buses to prevent naming conflicts.
Fix AWS Kinesis stream name conflict errors in Terraform. Handle duplicate streams, import existing resources, shard count changes, and stream modes.
Fix AWS MSK cluster throttling errors in Terraform. Handle API rate limits, retry configuration, reduce parallelism, and manage long cluster creation times.
Fix ElastiCache cluster name conflicts in Terraform. Import existing clusters, use unique naming conventions, and handle replication group configurations.
Fix AWS Step Functions duplicate state machine errors in Terraform. Covers naming conflicts, import, definition updates, and versioning patterns.