func()

in service/sts/endpoints.go [339:1054]


func (r *resolver) ResolveEndpoint(
	ctx context.Context, params EndpointParameters,
) (
	endpoint smithyendpoints.Endpoint, err error,
) {
	params = params.WithDefaults()
	if err = params.ValidateRequired(); err != nil {
		return endpoint, fmt.Errorf("endpoint parameters are not valid, %w", err)
	}
	_UseDualStack := *params.UseDualStack
	_UseFIPS := *params.UseFIPS
	_UseGlobalEndpoint := *params.UseGlobalEndpoint

	if _UseGlobalEndpoint == true {
		if !(params.Endpoint != nil) {
			if exprVal := params.Region; exprVal != nil {
				_Region := *exprVal
				_ = _Region
				if exprVal := awsrulesfn.GetPartition(_Region); exprVal != nil {
					_PartitionResult := *exprVal
					_ = _PartitionResult
					if _UseFIPS == false {
						if _UseDualStack == false {
							if _Region == "ap-northeast-1" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							if _Region == "ap-south-1" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							if _Region == "ap-southeast-1" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							if _Region == "ap-southeast-2" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							if _Region == "aws-global" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							if _Region == "ca-central-1" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							if _Region == "eu-central-1" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							if _Region == "eu-north-1" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							if _Region == "eu-west-1" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							if _Region == "eu-west-2" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							if _Region == "eu-west-3" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							if _Region == "sa-east-1" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							if _Region == "us-east-1" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							if _Region == "us-east-2" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							if _Region == "us-west-1" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							if _Region == "us-west-2" {
								uriString := "https://sts.amazonaws.com"

								uri, err := url.Parse(uriString)
								if err != nil {
									return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
								}

								return smithyendpoints.Endpoint{
									URI:     *uri,
									Headers: http.Header{},
									Properties: func() smithy.Properties {
										var out smithy.Properties
										smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
											{
												SchemeID: "aws.auth#sigv4",
												SignerProperties: func() smithy.Properties {
													var sp smithy.Properties
													smithyhttp.SetSigV4SigningName(&sp, "sts")
													smithyhttp.SetSigV4ASigningName(&sp, "sts")

													smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
													return sp
												}(),
											},
										})
										return out
									}(),
								}, nil
							}
							uriString := func() string {
								var out strings.Builder
								out.WriteString("https://sts.")
								out.WriteString(_Region)
								out.WriteString(".")
								out.WriteString(_PartitionResult.DnsSuffix)
								return out.String()
							}()

							uri, err := url.Parse(uriString)
							if err != nil {
								return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
							}

							return smithyendpoints.Endpoint{
								URI:     *uri,
								Headers: http.Header{},
								Properties: func() smithy.Properties {
									var out smithy.Properties
									smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
										{
											SchemeID: "aws.auth#sigv4",
											SignerProperties: func() smithy.Properties {
												var sp smithy.Properties
												smithyhttp.SetSigV4SigningName(&sp, "sts")
												smithyhttp.SetSigV4ASigningName(&sp, "sts")

												smithyhttp.SetSigV4SigningRegion(&sp, _Region)
												return sp
											}(),
										},
									})
									return out
								}(),
							}, nil
						}
					}
				}
			}
		}
	}
	if exprVal := params.Endpoint; exprVal != nil {
		_Endpoint := *exprVal
		_ = _Endpoint
		if _UseFIPS == true {
			return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: FIPS and custom endpoint are not supported")
		}
		if _UseDualStack == true {
			return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Dualstack and custom endpoint are not supported")
		}
		uriString := _Endpoint

		uri, err := url.Parse(uriString)
		if err != nil {
			return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
		}

		return smithyendpoints.Endpoint{
			URI:     *uri,
			Headers: http.Header{},
		}, nil
	}
	if exprVal := params.Region; exprVal != nil {
		_Region := *exprVal
		_ = _Region
		if exprVal := awsrulesfn.GetPartition(_Region); exprVal != nil {
			_PartitionResult := *exprVal
			_ = _PartitionResult
			if _UseFIPS == true {
				if _UseDualStack == true {
					if true == _PartitionResult.SupportsFIPS {
						if true == _PartitionResult.SupportsDualStack {
							uriString := func() string {
								var out strings.Builder
								out.WriteString("https://sts-fips.")
								out.WriteString(_Region)
								out.WriteString(".")
								out.WriteString(_PartitionResult.DualStackDnsSuffix)
								return out.String()
							}()

							uri, err := url.Parse(uriString)
							if err != nil {
								return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
							}

							return smithyendpoints.Endpoint{
								URI:     *uri,
								Headers: http.Header{},
							}, nil
						}
					}
					return endpoint, fmt.Errorf("endpoint rule error, %s", "FIPS and DualStack are enabled, but this partition does not support one or both")
				}
			}
			if _UseFIPS == true {
				if _PartitionResult.SupportsFIPS == true {
					if _PartitionResult.Name == "aws-us-gov" {
						uriString := func() string {
							var out strings.Builder
							out.WriteString("https://sts.")
							out.WriteString(_Region)
							out.WriteString(".amazonaws.com")
							return out.String()
						}()

						uri, err := url.Parse(uriString)
						if err != nil {
							return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
						}

						return smithyendpoints.Endpoint{
							URI:     *uri,
							Headers: http.Header{},
						}, nil
					}
					uriString := func() string {
						var out strings.Builder
						out.WriteString("https://sts-fips.")
						out.WriteString(_Region)
						out.WriteString(".")
						out.WriteString(_PartitionResult.DnsSuffix)
						return out.String()
					}()

					uri, err := url.Parse(uriString)
					if err != nil {
						return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
					}

					return smithyendpoints.Endpoint{
						URI:     *uri,
						Headers: http.Header{},
					}, nil
				}
				return endpoint, fmt.Errorf("endpoint rule error, %s", "FIPS is enabled but this partition does not support FIPS")
			}
			if _UseDualStack == true {
				if true == _PartitionResult.SupportsDualStack {
					uriString := func() string {
						var out strings.Builder
						out.WriteString("https://sts.")
						out.WriteString(_Region)
						out.WriteString(".")
						out.WriteString(_PartitionResult.DualStackDnsSuffix)
						return out.String()
					}()

					uri, err := url.Parse(uriString)
					if err != nil {
						return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
					}

					return smithyendpoints.Endpoint{
						URI:     *uri,
						Headers: http.Header{},
					}, nil
				}
				return endpoint, fmt.Errorf("endpoint rule error, %s", "DualStack is enabled but this partition does not support DualStack")
			}
			if _Region == "aws-global" {
				uriString := "https://sts.amazonaws.com"

				uri, err := url.Parse(uriString)
				if err != nil {
					return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
				}

				return smithyendpoints.Endpoint{
					URI:     *uri,
					Headers: http.Header{},
					Properties: func() smithy.Properties {
						var out smithy.Properties
						smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
							{
								SchemeID: "aws.auth#sigv4",
								SignerProperties: func() smithy.Properties {
									var sp smithy.Properties
									smithyhttp.SetSigV4SigningName(&sp, "sts")
									smithyhttp.SetSigV4ASigningName(&sp, "sts")

									smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
									return sp
								}(),
							},
						})
						return out
					}(),
				}, nil
			}
			uriString := func() string {
				var out strings.Builder
				out.WriteString("https://sts.")
				out.WriteString(_Region)
				out.WriteString(".")
				out.WriteString(_PartitionResult.DnsSuffix)
				return out.String()
			}()

			uri, err := url.Parse(uriString)
			if err != nil {
				return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
			}

			return smithyendpoints.Endpoint{
				URI:     *uri,
				Headers: http.Header{},
			}, nil
		}
		return endpoint, fmt.Errorf("Endpoint resolution failed. Invalid operation or environment input.")
	}
	return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Missing Region")
}