-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Expose Endpoints Partition DNSSuffix #2710
Description
Feature description
There does not appear to be an easy method to extract the existing endpoints.Partition
DNSSuffix
field for the default partitions:
aws-sdk-go/aws/endpoints/defaults.go
Line 82 in f0c3a48
DNSSuffix: "amazonaws.com", |
aws-sdk-go/aws/endpoints/defaults.go
Line 3520 in f0c3a48
DNSSuffix: "amazonaws.com.cn", |
aws-sdk-go/aws/endpoints/defaults.go
Line 4014 in f0c3a48
DNSSuffix: "amazonaws.com", |
This information is helpful in building AWS partition agnostic IAM policy documents (https://docs.amazonaws.cn/en_us/aws/latest/userguide/iam.html) and constructing hostnames not available in the default endpoints information such as S3 website endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region).
Describe alternatives you've considered
Hardcoding the DNS suffix after performing a regional lookup against AWS China:
if partition, ok := endpoints.PartitionForRegion(endpoints.DefaultPartitions(), region); ok && partition.ID() == endpoints.AwsCnPartitionID {
return fmt.Sprintf("s3-website.%s.amazonaws.com.cn", region)
}
return fmt.Sprintf("s3-website.%s.amazonaws.com", region)
Additional context
- Fixes website_endpoint and website_domain attributes in Chinese regions hashicorp/terraform-provider-aws#9444
- Wrong S3 bucket website_endpoint and website_domain attributes in China regions hashicorp/terraform-provider-aws#9378
- d/Adds a url_suffix attribute to data_source_aws_partition hashicorp/terraform-provider-aws#5602
- AWS missing "pseudo" parameters hashicorp/terraform-provider-aws#1960