1// Code generated by smithy-go-codegen DO NOT EDIT. 2 3package endpoints 4 5import ( 6 "github.com/aws/aws-sdk-go-v2/aws" 7 "github.com/aws/aws-sdk-go-v2/internal/endpoints" 8 "regexp" 9) 10 11// Options is the endpoint resolver configuration options 12type Options struct { 13 DisableHTTPS bool 14} 15 16// Resolver PI endpoint resolver 17type Resolver struct { 18 partitions endpoints.Partitions 19} 20 21// ResolveEndpoint resolves the service endpoint for the given region and options 22func (r *Resolver) ResolveEndpoint(region string, options Options) (endpoint aws.Endpoint, err error) { 23 if len(region) == 0 { 24 return endpoint, &aws.MissingRegionError{} 25 } 26 27 opt := endpoints.Options{ 28 DisableHTTPS: options.DisableHTTPS, 29 } 30 return r.partitions.ResolveEndpoint(region, opt) 31} 32 33// New returns a new Resolver 34func New() *Resolver { 35 return &Resolver{ 36 partitions: defaultPartitions, 37 } 38} 39 40var defaultPartitions = endpoints.Partitions{ 41 { 42 ID: "aws", 43 Defaults: endpoints.Endpoint{ 44 Hostname: "pi.{region}.amazonaws.com", 45 Protocols: []string{"https"}, 46 SignatureVersions: []string{"v4"}, 47 }, 48 RegionRegex: regexp.MustCompile("^(us|eu|ap|sa|ca|me|af)\\-\\w+\\-\\d+$"), 49 IsRegionalized: true, 50 }, 51 { 52 ID: "aws-cn", 53 Defaults: endpoints.Endpoint{ 54 Hostname: "pi.{region}.amazonaws.com.cn", 55 Protocols: []string{"https"}, 56 SignatureVersions: []string{"v4"}, 57 }, 58 RegionRegex: regexp.MustCompile("^cn\\-\\w+\\-\\d+$"), 59 IsRegionalized: true, 60 }, 61 { 62 ID: "aws-iso", 63 Defaults: endpoints.Endpoint{ 64 Hostname: "pi.{region}.c2s.ic.gov", 65 Protocols: []string{"https"}, 66 SignatureVersions: []string{"v4"}, 67 }, 68 RegionRegex: regexp.MustCompile("^us\\-iso\\-\\w+\\-\\d+$"), 69 IsRegionalized: true, 70 }, 71 { 72 ID: "aws-iso-b", 73 Defaults: endpoints.Endpoint{ 74 Hostname: "pi.{region}.sc2s.sgov.gov", 75 Protocols: []string{"https"}, 76 SignatureVersions: []string{"v4"}, 77 }, 78 RegionRegex: regexp.MustCompile("^us\\-isob\\-\\w+\\-\\d+$"), 79 IsRegionalized: true, 80 }, 81 { 82 ID: "aws-us-gov", 83 Defaults: endpoints.Endpoint{ 84 Hostname: "pi.{region}.amazonaws.com", 85 Protocols: []string{"https"}, 86 SignatureVersions: []string{"v4"}, 87 }, 88 RegionRegex: regexp.MustCompile("^us\\-gov\\-\\w+\\-\\d+$"), 89 IsRegionalized: true, 90 }, 91} 92