docs/add-a-new-region.md
New regions can typically be used immediately with the provider, with two important caveats:
provider "aws" {
# ... potentially other configuration ...
region = "me-south-1"
skip_region_validation = true
}
Support for region validation requires that the provider has an updated AWS SDK Go Base dependency that includes the new region. This also needs to be done in the core Terraform binary itself to enable it for the S3 backend. Many of the authentication and provider-level configuration interactions are also located in the aws-go-sdk-base library. As all of these things take direct dependencies and as a result there end up being quite a few places where these dependency updates need to be made.
See the Changelog Process document for example changelog format.
Some data sources include static values specific to regions that are not available via a standard AWS API call. These will need to be manually updated. AWS employees can code search previous region values to find new region values in internal packages like RIPStaticConfig if they are not documented yet.
internal/service/elb/hosted_zone_id_data_source.go and internal/service/elbv2/hosted_zone_id_data_source.gointernal/service/s3/hosted_zones.gointernal/service/elasticbeanstalk/hosted_zone_data_source.gointernal/service/sagemaker/prebuilt_ecr_image_data_source.gointernal/service/apprunner/hosted_zone_id_data_source.go