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 S3 Control 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: "s3-control.{region}.amazonaws.com", 45 Protocols: []string{"https"}, 46 SignatureVersions: []string{"s3v4"}, 47 }, 48 RegionRegex: regexp.MustCompile("^(us|eu|ap|sa|ca|me|af)\\-\\w+\\-\\d+$"), 49 IsRegionalized: true, 50 Endpoints: endpoints.Endpoints{ 51 "ap-northeast-1": endpoints.Endpoint{ 52 Hostname: "s3-control.ap-northeast-1.amazonaws.com", 53 SignatureVersions: []string{"s3v4"}, 54 CredentialScope: endpoints.CredentialScope{ 55 Region: "ap-northeast-1", 56 }, 57 }, 58 "ap-northeast-2": endpoints.Endpoint{ 59 Hostname: "s3-control.ap-northeast-2.amazonaws.com", 60 SignatureVersions: []string{"s3v4"}, 61 CredentialScope: endpoints.CredentialScope{ 62 Region: "ap-northeast-2", 63 }, 64 }, 65 "ap-south-1": endpoints.Endpoint{ 66 Hostname: "s3-control.ap-south-1.amazonaws.com", 67 SignatureVersions: []string{"s3v4"}, 68 CredentialScope: endpoints.CredentialScope{ 69 Region: "ap-south-1", 70 }, 71 }, 72 "ap-southeast-1": endpoints.Endpoint{ 73 Hostname: "s3-control.ap-southeast-1.amazonaws.com", 74 SignatureVersions: []string{"s3v4"}, 75 CredentialScope: endpoints.CredentialScope{ 76 Region: "ap-southeast-1", 77 }, 78 }, 79 "ap-southeast-2": endpoints.Endpoint{ 80 Hostname: "s3-control.ap-southeast-2.amazonaws.com", 81 SignatureVersions: []string{"s3v4"}, 82 CredentialScope: endpoints.CredentialScope{ 83 Region: "ap-southeast-2", 84 }, 85 }, 86 "ca-central-1": endpoints.Endpoint{ 87 Hostname: "s3-control.ca-central-1.amazonaws.com", 88 SignatureVersions: []string{"s3v4"}, 89 CredentialScope: endpoints.CredentialScope{ 90 Region: "ca-central-1", 91 }, 92 }, 93 "ca-central-1-fips": endpoints.Endpoint{ 94 Hostname: "s3-control-fips.ca-central-1.amazonaws.com", 95 SignatureVersions: []string{"s3v4"}, 96 CredentialScope: endpoints.CredentialScope{ 97 Region: "ca-central-1", 98 }, 99 }, 100 "eu-central-1": endpoints.Endpoint{ 101 Hostname: "s3-control.eu-central-1.amazonaws.com", 102 SignatureVersions: []string{"s3v4"}, 103 CredentialScope: endpoints.CredentialScope{ 104 Region: "eu-central-1", 105 }, 106 }, 107 "eu-north-1": endpoints.Endpoint{ 108 Hostname: "s3-control.eu-north-1.amazonaws.com", 109 SignatureVersions: []string{"s3v4"}, 110 CredentialScope: endpoints.CredentialScope{ 111 Region: "eu-north-1", 112 }, 113 }, 114 "eu-west-1": endpoints.Endpoint{ 115 Hostname: "s3-control.eu-west-1.amazonaws.com", 116 SignatureVersions: []string{"s3v4"}, 117 CredentialScope: endpoints.CredentialScope{ 118 Region: "eu-west-1", 119 }, 120 }, 121 "eu-west-2": endpoints.Endpoint{ 122 Hostname: "s3-control.eu-west-2.amazonaws.com", 123 SignatureVersions: []string{"s3v4"}, 124 CredentialScope: endpoints.CredentialScope{ 125 Region: "eu-west-2", 126 }, 127 }, 128 "eu-west-3": endpoints.Endpoint{ 129 Hostname: "s3-control.eu-west-3.amazonaws.com", 130 SignatureVersions: []string{"s3v4"}, 131 CredentialScope: endpoints.CredentialScope{ 132 Region: "eu-west-3", 133 }, 134 }, 135 "sa-east-1": endpoints.Endpoint{ 136 Hostname: "s3-control.sa-east-1.amazonaws.com", 137 SignatureVersions: []string{"s3v4"}, 138 CredentialScope: endpoints.CredentialScope{ 139 Region: "sa-east-1", 140 }, 141 }, 142 "us-east-1": endpoints.Endpoint{ 143 Hostname: "s3-control.us-east-1.amazonaws.com", 144 SignatureVersions: []string{"s3v4"}, 145 CredentialScope: endpoints.CredentialScope{ 146 Region: "us-east-1", 147 }, 148 }, 149 "us-east-1-fips": endpoints.Endpoint{ 150 Hostname: "s3-control-fips.us-east-1.amazonaws.com", 151 SignatureVersions: []string{"s3v4"}, 152 CredentialScope: endpoints.CredentialScope{ 153 Region: "us-east-1", 154 }, 155 }, 156 "us-east-2": endpoints.Endpoint{ 157 Hostname: "s3-control.us-east-2.amazonaws.com", 158 SignatureVersions: []string{"s3v4"}, 159 CredentialScope: endpoints.CredentialScope{ 160 Region: "us-east-2", 161 }, 162 }, 163 "us-east-2-fips": endpoints.Endpoint{ 164 Hostname: "s3-control-fips.us-east-2.amazonaws.com", 165 SignatureVersions: []string{"s3v4"}, 166 CredentialScope: endpoints.CredentialScope{ 167 Region: "us-east-2", 168 }, 169 }, 170 "us-west-1": endpoints.Endpoint{ 171 Hostname: "s3-control.us-west-1.amazonaws.com", 172 SignatureVersions: []string{"s3v4"}, 173 CredentialScope: endpoints.CredentialScope{ 174 Region: "us-west-1", 175 }, 176 }, 177 "us-west-1-fips": endpoints.Endpoint{ 178 Hostname: "s3-control-fips.us-west-1.amazonaws.com", 179 SignatureVersions: []string{"s3v4"}, 180 CredentialScope: endpoints.CredentialScope{ 181 Region: "us-west-1", 182 }, 183 }, 184 "us-west-2": endpoints.Endpoint{ 185 Hostname: "s3-control.us-west-2.amazonaws.com", 186 SignatureVersions: []string{"s3v4"}, 187 CredentialScope: endpoints.CredentialScope{ 188 Region: "us-west-2", 189 }, 190 }, 191 "us-west-2-fips": endpoints.Endpoint{ 192 Hostname: "s3-control-fips.us-west-2.amazonaws.com", 193 SignatureVersions: []string{"s3v4"}, 194 CredentialScope: endpoints.CredentialScope{ 195 Region: "us-west-2", 196 }, 197 }, 198 }, 199 }, 200 { 201 ID: "aws-cn", 202 Defaults: endpoints.Endpoint{ 203 Hostname: "s3-control.{region}.amazonaws.com.cn", 204 Protocols: []string{"https"}, 205 SignatureVersions: []string{"s3v4"}, 206 }, 207 RegionRegex: regexp.MustCompile("^cn\\-\\w+\\-\\d+$"), 208 IsRegionalized: true, 209 Endpoints: endpoints.Endpoints{ 210 "cn-north-1": endpoints.Endpoint{ 211 Hostname: "s3-control.cn-north-1.amazonaws.com.cn", 212 SignatureVersions: []string{"s3v4"}, 213 CredentialScope: endpoints.CredentialScope{ 214 Region: "cn-north-1", 215 }, 216 }, 217 "cn-northwest-1": endpoints.Endpoint{ 218 Hostname: "s3-control.cn-northwest-1.amazonaws.com.cn", 219 SignatureVersions: []string{"s3v4"}, 220 CredentialScope: endpoints.CredentialScope{ 221 Region: "cn-northwest-1", 222 }, 223 }, 224 }, 225 }, 226 { 227 ID: "aws-iso", 228 Defaults: endpoints.Endpoint{ 229 Hostname: "s3-control.{region}.c2s.ic.gov", 230 Protocols: []string{"https"}, 231 SignatureVersions: []string{"v4"}, 232 }, 233 RegionRegex: regexp.MustCompile("^us\\-iso\\-\\w+\\-\\d+$"), 234 IsRegionalized: true, 235 }, 236 { 237 ID: "aws-iso-b", 238 Defaults: endpoints.Endpoint{ 239 Hostname: "s3-control.{region}.sc2s.sgov.gov", 240 Protocols: []string{"https"}, 241 SignatureVersions: []string{"v4"}, 242 }, 243 RegionRegex: regexp.MustCompile("^us\\-isob\\-\\w+\\-\\d+$"), 244 IsRegionalized: true, 245 }, 246 { 247 ID: "aws-us-gov", 248 Defaults: endpoints.Endpoint{ 249 Hostname: "s3-control.{region}.amazonaws.com", 250 Protocols: []string{"https"}, 251 SignatureVersions: []string{"s3v4"}, 252 }, 253 RegionRegex: regexp.MustCompile("^us\\-gov\\-\\w+\\-\\d+$"), 254 IsRegionalized: true, 255 Endpoints: endpoints.Endpoints{ 256 "us-gov-east-1": endpoints.Endpoint{ 257 Hostname: "s3-control.us-gov-east-1.amazonaws.com", 258 SignatureVersions: []string{"s3v4"}, 259 CredentialScope: endpoints.CredentialScope{ 260 Region: "us-gov-east-1", 261 }, 262 }, 263 "us-gov-east-1-fips": endpoints.Endpoint{ 264 Hostname: "s3-control-fips.us-gov-east-1.amazonaws.com", 265 SignatureVersions: []string{"s3v4"}, 266 CredentialScope: endpoints.CredentialScope{ 267 Region: "us-gov-east-1", 268 }, 269 }, 270 "us-gov-west-1": endpoints.Endpoint{ 271 Hostname: "s3-control.us-gov-west-1.amazonaws.com", 272 SignatureVersions: []string{"s3v4"}, 273 CredentialScope: endpoints.CredentialScope{ 274 Region: "us-gov-west-1", 275 }, 276 }, 277 "us-gov-west-1-fips": endpoints.Endpoint{ 278 Hostname: "s3-control-fips.us-gov-west-1.amazonaws.com", 279 SignatureVersions: []string{"s3v4"}, 280 CredentialScope: endpoints.CredentialScope{ 281 Region: "us-gov-west-1", 282 }, 283 }, 284 }, 285 }, 286} 287