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 Snowball 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: "snowball.{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 "fips-ap-northeast-1": endpoints.Endpoint{ 66 Hostname: "snowball-fips.ap-northeast-1.amazonaws.com", 67 CredentialScope: endpoints.CredentialScope{ 68 Region: "ap-northeast-1", 69 }, 70 }, 71 "fips-ap-northeast-2": endpoints.Endpoint{ 72 Hostname: "snowball-fips.ap-northeast-2.amazonaws.com", 73 CredentialScope: endpoints.CredentialScope{ 74 Region: "ap-northeast-2", 75 }, 76 }, 77 "fips-ap-northeast-3": endpoints.Endpoint{ 78 Hostname: "snowball-fips.ap-northeast-3.amazonaws.com", 79 CredentialScope: endpoints.CredentialScope{ 80 Region: "ap-northeast-3", 81 }, 82 }, 83 "fips-ap-south-1": endpoints.Endpoint{ 84 Hostname: "snowball-fips.ap-south-1.amazonaws.com", 85 CredentialScope: endpoints.CredentialScope{ 86 Region: "ap-south-1", 87 }, 88 }, 89 "fips-ap-southeast-1": endpoints.Endpoint{ 90 Hostname: "snowball-fips.ap-southeast-1.amazonaws.com", 91 CredentialScope: endpoints.CredentialScope{ 92 Region: "ap-southeast-1", 93 }, 94 }, 95 "fips-ap-southeast-2": endpoints.Endpoint{ 96 Hostname: "snowball-fips.ap-southeast-2.amazonaws.com", 97 CredentialScope: endpoints.CredentialScope{ 98 Region: "ap-southeast-2", 99 }, 100 }, 101 "fips-ca-central-1": endpoints.Endpoint{ 102 Hostname: "snowball-fips.ca-central-1.amazonaws.com", 103 CredentialScope: endpoints.CredentialScope{ 104 Region: "ca-central-1", 105 }, 106 }, 107 "fips-eu-central-1": endpoints.Endpoint{ 108 Hostname: "snowball-fips.eu-central-1.amazonaws.com", 109 CredentialScope: endpoints.CredentialScope{ 110 Region: "eu-central-1", 111 }, 112 }, 113 "fips-eu-west-1": endpoints.Endpoint{ 114 Hostname: "snowball-fips.eu-west-1.amazonaws.com", 115 CredentialScope: endpoints.CredentialScope{ 116 Region: "eu-west-1", 117 }, 118 }, 119 "fips-eu-west-2": endpoints.Endpoint{ 120 Hostname: "snowball-fips.eu-west-2.amazonaws.com", 121 CredentialScope: endpoints.CredentialScope{ 122 Region: "eu-west-2", 123 }, 124 }, 125 "fips-eu-west-3": endpoints.Endpoint{ 126 Hostname: "snowball-fips.eu-west-3.amazonaws.com", 127 CredentialScope: endpoints.CredentialScope{ 128 Region: "eu-west-3", 129 }, 130 }, 131 "fips-sa-east-1": endpoints.Endpoint{ 132 Hostname: "snowball-fips.sa-east-1.amazonaws.com", 133 CredentialScope: endpoints.CredentialScope{ 134 Region: "sa-east-1", 135 }, 136 }, 137 "fips-us-east-1": endpoints.Endpoint{ 138 Hostname: "snowball-fips.us-east-1.amazonaws.com", 139 CredentialScope: endpoints.CredentialScope{ 140 Region: "us-east-1", 141 }, 142 }, 143 "fips-us-east-2": endpoints.Endpoint{ 144 Hostname: "snowball-fips.us-east-2.amazonaws.com", 145 CredentialScope: endpoints.CredentialScope{ 146 Region: "us-east-2", 147 }, 148 }, 149 "fips-us-west-1": endpoints.Endpoint{ 150 Hostname: "snowball-fips.us-west-1.amazonaws.com", 151 CredentialScope: endpoints.CredentialScope{ 152 Region: "us-west-1", 153 }, 154 }, 155 "fips-us-west-2": endpoints.Endpoint{ 156 Hostname: "snowball-fips.us-west-2.amazonaws.com", 157 CredentialScope: endpoints.CredentialScope{ 158 Region: "us-west-2", 159 }, 160 }, 161 "sa-east-1": endpoints.Endpoint{}, 162 "us-east-1": endpoints.Endpoint{}, 163 "us-east-2": endpoints.Endpoint{}, 164 "us-west-1": endpoints.Endpoint{}, 165 "us-west-2": endpoints.Endpoint{}, 166 }, 167 }, 168 { 169 ID: "aws-cn", 170 Defaults: endpoints.Endpoint{ 171 Hostname: "snowball.{region}.amazonaws.com.cn", 172 Protocols: []string{"https"}, 173 SignatureVersions: []string{"v4"}, 174 }, 175 RegionRegex: regexp.MustCompile("^cn\\-\\w+\\-\\d+$"), 176 IsRegionalized: true, 177 Endpoints: endpoints.Endpoints{ 178 "cn-north-1": endpoints.Endpoint{}, 179 "cn-northwest-1": endpoints.Endpoint{}, 180 "fips-cn-north-1": endpoints.Endpoint{ 181 Hostname: "snowball-fips.cn-north-1.amazonaws.com.cn", 182 CredentialScope: endpoints.CredentialScope{ 183 Region: "cn-north-1", 184 }, 185 }, 186 "fips-cn-northwest-1": endpoints.Endpoint{ 187 Hostname: "snowball-fips.cn-northwest-1.amazonaws.com.cn", 188 CredentialScope: endpoints.CredentialScope{ 189 Region: "cn-northwest-1", 190 }, 191 }, 192 }, 193 }, 194 { 195 ID: "aws-iso", 196 Defaults: endpoints.Endpoint{ 197 Hostname: "snowball.{region}.c2s.ic.gov", 198 Protocols: []string{"https"}, 199 SignatureVersions: []string{"v4"}, 200 }, 201 RegionRegex: regexp.MustCompile("^us\\-iso\\-\\w+\\-\\d+$"), 202 IsRegionalized: true, 203 Endpoints: endpoints.Endpoints{ 204 "us-iso-east-1": endpoints.Endpoint{}, 205 }, 206 }, 207 { 208 ID: "aws-iso-b", 209 Defaults: endpoints.Endpoint{ 210 Hostname: "snowball.{region}.sc2s.sgov.gov", 211 Protocols: []string{"https"}, 212 SignatureVersions: []string{"v4"}, 213 }, 214 RegionRegex: regexp.MustCompile("^us\\-isob\\-\\w+\\-\\d+$"), 215 IsRegionalized: true, 216 Endpoints: endpoints.Endpoints{ 217 "us-isob-east-1": endpoints.Endpoint{}, 218 }, 219 }, 220 { 221 ID: "aws-us-gov", 222 Defaults: endpoints.Endpoint{ 223 Hostname: "snowball.{region}.amazonaws.com", 224 Protocols: []string{"https"}, 225 SignatureVersions: []string{"v4"}, 226 }, 227 RegionRegex: regexp.MustCompile("^us\\-gov\\-\\w+\\-\\d+$"), 228 IsRegionalized: true, 229 Endpoints: endpoints.Endpoints{ 230 "fips-us-gov-east-1": endpoints.Endpoint{ 231 Hostname: "snowball-fips.us-gov-east-1.amazonaws.com", 232 CredentialScope: endpoints.CredentialScope{ 233 Region: "us-gov-east-1", 234 }, 235 }, 236 "fips-us-gov-west-1": endpoints.Endpoint{ 237 Hostname: "snowball-fips.us-gov-west-1.amazonaws.com", 238 CredentialScope: endpoints.CredentialScope{ 239 Region: "us-gov-west-1", 240 }, 241 }, 242 "us-gov-east-1": endpoints.Endpoint{}, 243 "us-gov-west-1": endpoints.Endpoint{}, 244 }, 245 }, 246} 247