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 MediaConnect 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 partitionRegexp = struct { 41 Aws *regexp.Regexp 42 AwsCn *regexp.Regexp 43 AwsIso *regexp.Regexp 44 AwsIsoB *regexp.Regexp 45 AwsUsGov *regexp.Regexp 46}{ 47 48 Aws: regexp.MustCompile("^(us|eu|ap|sa|ca|me|af)\\-\\w+\\-\\d+$"), 49 AwsCn: regexp.MustCompile("^cn\\-\\w+\\-\\d+$"), 50 AwsIso: regexp.MustCompile("^us\\-iso\\-\\w+\\-\\d+$"), 51 AwsIsoB: regexp.MustCompile("^us\\-isob\\-\\w+\\-\\d+$"), 52 AwsUsGov: regexp.MustCompile("^us\\-gov\\-\\w+\\-\\d+$"), 53} 54 55var defaultPartitions = endpoints.Partitions{ 56 { 57 ID: "aws", 58 Defaults: endpoints.Endpoint{ 59 Hostname: "mediaconnect.{region}.amazonaws.com", 60 Protocols: []string{"https"}, 61 SignatureVersions: []string{"v4"}, 62 }, 63 RegionRegex: partitionRegexp.Aws, 64 IsRegionalized: true, 65 Endpoints: endpoints.Endpoints{ 66 "ap-east-1": endpoints.Endpoint{}, 67 "ap-northeast-1": endpoints.Endpoint{}, 68 "ap-northeast-2": endpoints.Endpoint{}, 69 "ap-south-1": endpoints.Endpoint{}, 70 "ap-southeast-1": endpoints.Endpoint{}, 71 "ap-southeast-2": endpoints.Endpoint{}, 72 "eu-central-1": endpoints.Endpoint{}, 73 "eu-north-1": endpoints.Endpoint{}, 74 "eu-west-1": endpoints.Endpoint{}, 75 "eu-west-2": endpoints.Endpoint{}, 76 "eu-west-3": endpoints.Endpoint{}, 77 "sa-east-1": endpoints.Endpoint{}, 78 "us-east-1": endpoints.Endpoint{}, 79 "us-east-2": endpoints.Endpoint{}, 80 "us-west-1": endpoints.Endpoint{}, 81 "us-west-2": endpoints.Endpoint{}, 82 }, 83 }, 84 { 85 ID: "aws-cn", 86 Defaults: endpoints.Endpoint{ 87 Hostname: "mediaconnect.{region}.amazonaws.com.cn", 88 Protocols: []string{"https"}, 89 SignatureVersions: []string{"v4"}, 90 }, 91 RegionRegex: partitionRegexp.AwsCn, 92 IsRegionalized: true, 93 }, 94 { 95 ID: "aws-iso", 96 Defaults: endpoints.Endpoint{ 97 Hostname: "mediaconnect.{region}.c2s.ic.gov", 98 Protocols: []string{"https"}, 99 SignatureVersions: []string{"v4"}, 100 }, 101 RegionRegex: partitionRegexp.AwsIso, 102 IsRegionalized: true, 103 }, 104 { 105 ID: "aws-iso-b", 106 Defaults: endpoints.Endpoint{ 107 Hostname: "mediaconnect.{region}.sc2s.sgov.gov", 108 Protocols: []string{"https"}, 109 SignatureVersions: []string{"v4"}, 110 }, 111 RegionRegex: partitionRegexp.AwsIsoB, 112 IsRegionalized: true, 113 }, 114 { 115 ID: "aws-us-gov", 116 Defaults: endpoints.Endpoint{ 117 Hostname: "mediaconnect.{region}.amazonaws.com", 118 Protocols: []string{"https"}, 119 SignatureVersions: []string{"v4"}, 120 }, 121 RegionRegex: partitionRegexp.AwsUsGov, 122 IsRegionalized: true, 123 }, 124} 125