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