shoc-backend/scripts/terraform_import_plan_resources.py
Adam Moussa f8bf102f35 feat(terraform): add safe backend environment adoption
Introduce import-guarded environment roots and retire temporary bootstrap and POC provisioning after ownership transfer.
2026-08-30 16:34:38 -04:00

32 lines
1.6 KiB
Python

"""Canonical managed-resource addresses for Terraform environment imports."""
COMMON_RESOURCES = {
"module.environment.aws_elastic_beanstalk_environment.this": "aws_elastic_beanstalk_environment",
"module.environment.aws_iam_instance_profile.runtime": "aws_iam_instance_profile",
"module.environment.aws_iam_role.github_deploy": "aws_iam_role",
"module.environment.aws_iam_role.runtime": "aws_iam_role",
"module.environment.aws_iam_role_policy.github_deploy": "aws_iam_role_policy",
"module.environment.aws_iam_role_policy.runtime_app_config": "aws_iam_role_policy",
"module.environment.aws_iam_role_policy_attachment.web_tier": "aws_iam_role_policy_attachment",
"module.environment.aws_secretsmanager_secret.app_config": "aws_secretsmanager_secret",
}
REQUIRED_RESOURCES = {
"dev": {
**COMMON_RESOURCES,
"module.environment.aws_iam_role_policy.runtime_dynamo[0]": "aws_iam_role_policy",
"module.environment.aws_iam_role_policy.runtime_webhook[0]": "aws_iam_role_policy",
"module.environment.aws_route53_record.api_alias[0]": "aws_route53_record",
},
"staging": {
**COMMON_RESOURCES,
"module.environment.aws_iam_role_policy.runtime_webhook[0]": "aws_iam_role_policy",
"module.environment.aws_route53_record.api_cname[0]": "aws_route53_record",
},
"tf-poc": {
**COMMON_RESOURCES,
"aws_acm_certificate.poc": "aws_acm_certificate",
"aws_route53_zone.poc": "aws_route53_zone",
"module.environment.aws_route53_record.api_cname[0]": "aws_route53_record",
},
}