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 Service Catalog 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: "servicecatalog.{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 Endpoints: endpoints.Endpoints{ 51 "af-south-1": endpoints.Endpoint{}, 52 "ap-east-1": endpoints.Endpoint{}, 53 "ap-northeast-1": endpoints.Endpoint{}, 54 "ap-northeast-2": endpoints.Endpoint{}, 55 "ap-south-1": endpoints.Endpoint{}, 56 "ap-southeast-1": endpoints.Endpoint{}, 57 "ap-southeast-2": endpoints.Endpoint{}, 58 "ca-central-1": endpoints.Endpoint{}, 59 "eu-central-1": endpoints.Endpoint{}, 60 "eu-north-1": endpoints.Endpoint{}, 61 "eu-south-1": endpoints.Endpoint{}, 62 "eu-west-1": endpoints.Endpoint{}, 63 "eu-west-2": endpoints.Endpoint{}, 64 "eu-west-3": endpoints.Endpoint{}, 65 "me-south-1": endpoints.Endpoint{}, 66 "sa-east-1": endpoints.Endpoint{}, 67 "us-east-1": endpoints.Endpoint{}, 68 "us-east-1-fips": endpoints.Endpoint{ 69 Hostname: "servicecatalog-fips.us-east-1.amazonaws.com", 70 CredentialScope: endpoints.CredentialScope{ 71 Region: "us-east-1", 72 }, 73 }, 74 "us-east-2": endpoints.Endpoint{}, 75 "us-east-2-fips": endpoints.Endpoint{ 76 Hostname: "servicecatalog-fips.us-east-2.amazonaws.com", 77 CredentialScope: endpoints.CredentialScope{ 78 Region: "us-east-2", 79 }, 80 }, 81 "us-west-1": endpoints.Endpoint{}, 82 "us-west-1-fips": endpoints.Endpoint{ 83 Hostname: "servicecatalog-fips.us-west-1.amazonaws.com", 84 CredentialScope: endpoints.CredentialScope{ 85 Region: "us-west-1", 86 }, 87 }, 88 "us-west-2": endpoints.Endpoint{}, 89 "us-west-2-fips": endpoints.Endpoint{ 90 Hostname: "servicecatalog-fips.us-west-2.amazonaws.com", 91 CredentialScope: endpoints.CredentialScope{ 92 Region: "us-west-2", 93 }, 94 }, 95 }, 96 }, 97 { 98 ID: "aws-cn", 99 Defaults: endpoints.Endpoint{ 100 Hostname: "servicecatalog.{region}.amazonaws.com.cn", 101 Protocols: []string{"https"}, 102 SignatureVersions: []string{"v4"}, 103 }, 104 RegionRegex: regexp.MustCompile("^cn\\-\\w+\\-\\d+$"), 105 IsRegionalized: true, 106 }, 107 { 108 ID: "aws-iso", 109 Defaults: endpoints.Endpoint{ 110 Hostname: "servicecatalog.{region}.c2s.ic.gov", 111 Protocols: []string{"https"}, 112 SignatureVersions: []string{"v4"}, 113 }, 114 RegionRegex: regexp.MustCompile("^us\\-iso\\-\\w+\\-\\d+$"), 115 IsRegionalized: true, 116 }, 117 { 118 ID: "aws-iso-b", 119 Defaults: endpoints.Endpoint{ 120 Hostname: "servicecatalog.{region}.sc2s.sgov.gov", 121 Protocols: []string{"https"}, 122 SignatureVersions: []string{"v4"}, 123 }, 124 RegionRegex: regexp.MustCompile("^us\\-isob\\-\\w+\\-\\d+$"), 125 IsRegionalized: true, 126 }, 127 { 128 ID: "aws-us-gov", 129 Defaults: endpoints.Endpoint{ 130 Hostname: "servicecatalog.{region}.amazonaws.com", 131 Protocols: []string{"https"}, 132 SignatureVersions: []string{"v4"}, 133 }, 134 RegionRegex: regexp.MustCompile("^us\\-gov\\-\\w+\\-\\d+$"), 135 IsRegionalized: true, 136 Endpoints: endpoints.Endpoints{ 137 "us-gov-east-1": endpoints.Endpoint{}, 138 "us-gov-east-1-fips": endpoints.Endpoint{ 139 Hostname: "servicecatalog-fips.us-gov-east-1.amazonaws.com", 140 CredentialScope: endpoints.CredentialScope{ 141 Region: "us-gov-east-1", 142 }, 143 }, 144 "us-gov-west-1": endpoints.Endpoint{}, 145 "us-gov-west-1-fips": endpoints.Endpoint{ 146 Hostname: "servicecatalog-fips.us-gov-west-1.amazonaws.com", 147 CredentialScope: endpoints.CredentialScope{ 148 Region: "us-gov-west-1", 149 }, 150 }, 151 }, 152 }, 153} 154