mirror of
https://github.com/moby/moby.git
synced 2026-08-03 22:51:03 +00:00
vendor: github.com/aws/aws-sdk-go-v2 v1.39.4
Signed-off-by: Austin Vazquez <austin.vazquez@docker.com>
This commit is contained in:
2
go.mod
2
go.mod
@@ -13,7 +13,7 @@ require (
|
||||
github.com/Microsoft/go-winio v0.6.2
|
||||
github.com/Microsoft/hcsshim v0.13.0
|
||||
github.com/RackSec/srslog v0.0.0-20180709174129-a4725f04ec91
|
||||
github.com/aws/aws-sdk-go-v2 v1.30.3
|
||||
github.com/aws/aws-sdk-go-v2 v1.39.4
|
||||
github.com/aws/aws-sdk-go-v2/config v1.27.27
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.17.27
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.11
|
||||
|
||||
4
go.sum
4
go.sum
@@ -55,8 +55,8 @@ github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmV
|
||||
github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA=
|
||||
github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4=
|
||||
github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
|
||||
github.com/aws/aws-sdk-go-v2 v1.30.3 h1:jUeBtG0Ih+ZIFH0F4UkmL9w3cSpaMv9tYYDbzILP8dY=
|
||||
github.com/aws/aws-sdk-go-v2 v1.30.3/go.mod h1:nIQjQVp5sfpQcTc9mPSr1B0PaWK5ByX9MOoDadSN4lc=
|
||||
github.com/aws/aws-sdk-go-v2 v1.39.4 h1:qTsQKcdQPHnfGYBBs+Btl8QwxJeoWcOcPcixK90mRhg=
|
||||
github.com/aws/aws-sdk-go-v2 v1.39.4/go.mod h1:yWSxrnioGUZ4WVv9TgMrNUeLV3PFESn/v+6T/Su8gnM=
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3 h1:tW1/Rkad38LA15X4UQtjXZXNKsCgkshC3EbmcUmghTg=
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.3/go.mod h1:UbnqO+zjqk3uIt9yCACHJ9IVNhyhOCnYk8yA19SAWrM=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.27.27 h1:HdqgGt1OAP0HkEDDShEl0oSYa9ZZBSOmKpdpsDMdO90=
|
||||
|
||||
39
vendor/github.com/aws/aws-sdk-go-v2/aws/config.go
generated
vendored
39
vendor/github.com/aws/aws-sdk-go-v2/aws/config.go
generated
vendored
@@ -6,6 +6,7 @@ import (
|
||||
smithybearer "github.com/aws/smithy-go/auth/bearer"
|
||||
"github.com/aws/smithy-go/logging"
|
||||
"github.com/aws/smithy-go/middleware"
|
||||
smithyhttp "github.com/aws/smithy-go/transport/http"
|
||||
)
|
||||
|
||||
// HTTPClient provides the interface to provide custom HTTPClients. Generally
|
||||
@@ -165,6 +166,44 @@ type Config struct {
|
||||
|
||||
// Controls how a resolved AWS account ID is handled for endpoint routing.
|
||||
AccountIDEndpointMode AccountIDEndpointMode
|
||||
|
||||
// RequestChecksumCalculation determines when request checksum calculation is performed.
|
||||
//
|
||||
// There are two possible values for this setting:
|
||||
//
|
||||
// 1. RequestChecksumCalculationWhenSupported (default): The checksum is always calculated
|
||||
// if the operation supports it, regardless of whether the user sets an algorithm in the request.
|
||||
//
|
||||
// 2. RequestChecksumCalculationWhenRequired: The checksum is only calculated if the user
|
||||
// explicitly sets a checksum algorithm in the request.
|
||||
//
|
||||
// This setting is sourced from the environment variable AWS_REQUEST_CHECKSUM_CALCULATION
|
||||
// or the shared config profile attribute "request_checksum_calculation".
|
||||
RequestChecksumCalculation RequestChecksumCalculation
|
||||
|
||||
// ResponseChecksumValidation determines when response checksum validation is performed
|
||||
//
|
||||
// There are two possible values for this setting:
|
||||
//
|
||||
// 1. ResponseChecksumValidationWhenSupported (default): The checksum is always validated
|
||||
// if the operation supports it, regardless of whether the user sets the validation mode to ENABLED in request.
|
||||
//
|
||||
// 2. ResponseChecksumValidationWhenRequired: The checksum is only validated if the user
|
||||
// explicitly sets the validation mode to ENABLED in the request
|
||||
// This variable is sourced from environment variable AWS_RESPONSE_CHECKSUM_VALIDATION or
|
||||
// the shared config profile attribute "response_checksum_validation".
|
||||
ResponseChecksumValidation ResponseChecksumValidation
|
||||
|
||||
// Registry of HTTP interceptors.
|
||||
Interceptors smithyhttp.InterceptorRegistry
|
||||
|
||||
// Priority list of preferred auth scheme IDs.
|
||||
AuthSchemePreference []string
|
||||
|
||||
// ServiceOptions provides service specific configuration options that will be applied
|
||||
// when constructing clients for specific services. Each callback function receives the service ID
|
||||
// and the service's Options struct, allowing for dynamic configuration based on the service.
|
||||
ServiceOptions []func(string, any)
|
||||
}
|
||||
|
||||
// NewConfig returns a new Config pointer that can be chained with builder
|
||||
|
||||
11
vendor/github.com/aws/aws-sdk-go-v2/aws/credential_cache.go
generated
vendored
11
vendor/github.com/aws/aws-sdk-go-v2/aws/credential_cache.go
generated
vendored
@@ -172,6 +172,17 @@ func (p *CredentialsCache) getCreds() (Credentials, bool) {
|
||||
return *c, true
|
||||
}
|
||||
|
||||
// ProviderSources returns a list of where the underlying credential provider
|
||||
// has been sourced, if available. Returns empty if the provider doesn't implement
|
||||
// the interface
|
||||
func (p *CredentialsCache) ProviderSources() []CredentialSource {
|
||||
asSource, ok := p.provider.(CredentialProviderSource)
|
||||
if !ok {
|
||||
return []CredentialSource{}
|
||||
}
|
||||
return asSource.ProviderSources()
|
||||
}
|
||||
|
||||
// Invalidate will invalidate the cached credentials. The next call to Retrieve
|
||||
// will cause the provider's Retrieve method to be called.
|
||||
func (p *CredentialsCache) Invalidate() {
|
||||
|
||||
57
vendor/github.com/aws/aws-sdk-go-v2/aws/credentials.go
generated
vendored
57
vendor/github.com/aws/aws-sdk-go-v2/aws/credentials.go
generated
vendored
@@ -70,6 +70,56 @@ func (AnonymousCredentials) Retrieve(context.Context) (Credentials, error) {
|
||||
fmt.Errorf("the AnonymousCredentials is not a valid credential provider, and cannot be used to sign AWS requests with")
|
||||
}
|
||||
|
||||
// CredentialSource is the source of the credential provider.
|
||||
// A provider can have multiple credential sources: For example, a provider that reads a profile, calls ECS to
|
||||
// get credentials and then assumes a role using STS will have all these as part of its provider chain.
|
||||
type CredentialSource int
|
||||
|
||||
const (
|
||||
// CredentialSourceUndefined is the sentinel zero value
|
||||
CredentialSourceUndefined CredentialSource = iota
|
||||
// CredentialSourceCode credentials resolved from code, cli parameters, session object, or client instance
|
||||
CredentialSourceCode
|
||||
// CredentialSourceEnvVars credentials resolved from environment variables
|
||||
CredentialSourceEnvVars
|
||||
// CredentialSourceEnvVarsSTSWebIDToken credentials resolved from environment variables for assuming a role with STS using a web identity token
|
||||
CredentialSourceEnvVarsSTSWebIDToken
|
||||
// CredentialSourceSTSAssumeRole credentials resolved from STS using AssumeRole
|
||||
CredentialSourceSTSAssumeRole
|
||||
// CredentialSourceSTSAssumeRoleSaml credentials resolved from STS using assume role with SAML
|
||||
CredentialSourceSTSAssumeRoleSaml
|
||||
// CredentialSourceSTSAssumeRoleWebID credentials resolved from STS using assume role with web identity
|
||||
CredentialSourceSTSAssumeRoleWebID
|
||||
// CredentialSourceSTSFederationToken credentials resolved from STS using a federation token
|
||||
CredentialSourceSTSFederationToken
|
||||
// CredentialSourceSTSSessionToken credentials resolved from STS using a session token S
|
||||
CredentialSourceSTSSessionToken
|
||||
// CredentialSourceProfile credentials resolved from a config file(s) profile with static credentials
|
||||
CredentialSourceProfile
|
||||
// CredentialSourceProfileSourceProfile credentials resolved from a source profile in a config file(s) profile
|
||||
CredentialSourceProfileSourceProfile
|
||||
// CredentialSourceProfileNamedProvider credentials resolved from a named provider in a config file(s) profile (like EcsContainer)
|
||||
CredentialSourceProfileNamedProvider
|
||||
// CredentialSourceProfileSTSWebIDToken credentials resolved from configuration for assuming a role with STS using web identity token in a config file(s) profile
|
||||
CredentialSourceProfileSTSWebIDToken
|
||||
// CredentialSourceProfileSSO credentials resolved from an SSO session in a config file(s) profile
|
||||
CredentialSourceProfileSSO
|
||||
// CredentialSourceSSO credentials resolved from an SSO session
|
||||
CredentialSourceSSO
|
||||
// CredentialSourceProfileSSOLegacy credentials resolved from an SSO session in a config file(s) profile using legacy format
|
||||
CredentialSourceProfileSSOLegacy
|
||||
// CredentialSourceSSOLegacy credentials resolved from an SSO session using legacy format
|
||||
CredentialSourceSSOLegacy
|
||||
// CredentialSourceProfileProcess credentials resolved from a process in a config file(s) profile
|
||||
CredentialSourceProfileProcess
|
||||
// CredentialSourceProcess credentials resolved from a process
|
||||
CredentialSourceProcess
|
||||
// CredentialSourceHTTP credentials resolved from an HTTP endpoint
|
||||
CredentialSourceHTTP
|
||||
// CredentialSourceIMDS credentials resolved from the instance metadata service (IMDS)
|
||||
CredentialSourceIMDS
|
||||
)
|
||||
|
||||
// A Credentials is the AWS credentials value for individual credential fields.
|
||||
type Credentials struct {
|
||||
// AWS Access key ID
|
||||
@@ -125,6 +175,13 @@ type CredentialsProvider interface {
|
||||
Retrieve(ctx context.Context) (Credentials, error)
|
||||
}
|
||||
|
||||
// CredentialProviderSource allows any credential provider to track
|
||||
// all providers where a credential provider were sourced. For example, if the credentials came from a
|
||||
// call to a role specified in the profile, this method will give the whole breadcrumb trail
|
||||
type CredentialProviderSource interface {
|
||||
ProviderSources() []CredentialSource
|
||||
}
|
||||
|
||||
// CredentialsProviderFunc provides a helper wrapping a function value to
|
||||
// satisfy the CredentialsProvider interface.
|
||||
type CredentialsProviderFunc func(context.Context) (Credentials, error)
|
||||
|
||||
2
vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go
generated
vendored
@@ -3,4 +3,4 @@
|
||||
package aws
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.30.3"
|
||||
const goModuleVersion = "1.39.4"
|
||||
|
||||
320
vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/private/metrics/metrics.go
generated
vendored
320
vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/private/metrics/metrics.go
generated
vendored
@@ -1,320 +0,0 @@
|
||||
// Package metrics implements metrics gathering for SDK development purposes.
|
||||
//
|
||||
// This package is designated as private and is intended for use only by the
|
||||
// AWS client runtime. The exported API therein is not considered stable and
|
||||
// is subject to breaking changes without notice.
|
||||
package metrics
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/aws/smithy-go/middleware"
|
||||
)
|
||||
|
||||
const (
|
||||
// ServiceIDKey is the key for the service ID metric.
|
||||
ServiceIDKey = "ServiceId"
|
||||
// OperationNameKey is the key for the operation name metric.
|
||||
OperationNameKey = "OperationName"
|
||||
// ClientRequestIDKey is the key for the client request ID metric.
|
||||
ClientRequestIDKey = "ClientRequestId"
|
||||
// APICallDurationKey is the key for the API call duration metric.
|
||||
APICallDurationKey = "ApiCallDuration"
|
||||
// APICallSuccessfulKey is the key for the API call successful metric.
|
||||
APICallSuccessfulKey = "ApiCallSuccessful"
|
||||
// MarshallingDurationKey is the key for the marshalling duration metric.
|
||||
MarshallingDurationKey = "MarshallingDuration"
|
||||
// InThroughputKey is the key for the input throughput metric.
|
||||
InThroughputKey = "InThroughput"
|
||||
// OutThroughputKey is the key for the output throughput metric.
|
||||
OutThroughputKey = "OutThroughput"
|
||||
// RetryCountKey is the key for the retry count metric.
|
||||
RetryCountKey = "RetryCount"
|
||||
// HTTPStatusCodeKey is the key for the HTTP status code metric.
|
||||
HTTPStatusCodeKey = "HttpStatusCode"
|
||||
// AWSExtendedRequestIDKey is the key for the AWS extended request ID metric.
|
||||
AWSExtendedRequestIDKey = "AwsExtendedRequestId"
|
||||
// AWSRequestIDKey is the key for the AWS request ID metric.
|
||||
AWSRequestIDKey = "AwsRequestId"
|
||||
// BackoffDelayDurationKey is the key for the backoff delay duration metric.
|
||||
BackoffDelayDurationKey = "BackoffDelayDuration"
|
||||
// StreamThroughputKey is the key for the stream throughput metric.
|
||||
StreamThroughputKey = "Throughput"
|
||||
// ConcurrencyAcquireDurationKey is the key for the concurrency acquire duration metric.
|
||||
ConcurrencyAcquireDurationKey = "ConcurrencyAcquireDuration"
|
||||
// PendingConcurrencyAcquiresKey is the key for the pending concurrency acquires metric.
|
||||
PendingConcurrencyAcquiresKey = "PendingConcurrencyAcquires"
|
||||
// SigningDurationKey is the key for the signing duration metric.
|
||||
SigningDurationKey = "SigningDuration"
|
||||
// UnmarshallingDurationKey is the key for the unmarshalling duration metric.
|
||||
UnmarshallingDurationKey = "UnmarshallingDuration"
|
||||
// TimeToFirstByteKey is the key for the time to first byte metric.
|
||||
TimeToFirstByteKey = "TimeToFirstByte"
|
||||
// ServiceCallDurationKey is the key for the service call duration metric.
|
||||
ServiceCallDurationKey = "ServiceCallDuration"
|
||||
// EndpointResolutionDurationKey is the key for the endpoint resolution duration metric.
|
||||
EndpointResolutionDurationKey = "EndpointResolutionDuration"
|
||||
// AttemptNumberKey is the key for the attempt number metric.
|
||||
AttemptNumberKey = "AttemptNumber"
|
||||
// MaxConcurrencyKey is the key for the max concurrency metric.
|
||||
MaxConcurrencyKey = "MaxConcurrency"
|
||||
// AvailableConcurrencyKey is the key for the available concurrency metric.
|
||||
AvailableConcurrencyKey = "AvailableConcurrency"
|
||||
)
|
||||
|
||||
// MetricPublisher provides the interface to provide custom MetricPublishers.
|
||||
// PostRequestMetrics will be invoked by the MetricCollection middleware to post request.
|
||||
// PostStreamMetrics will be invoked by ReadCloserWithMetrics to post stream metrics.
|
||||
type MetricPublisher interface {
|
||||
PostRequestMetrics(*MetricData) error
|
||||
PostStreamMetrics(*MetricData) error
|
||||
}
|
||||
|
||||
// Serializer provides the interface to provide custom Serializers.
|
||||
// Serialize will transform any input object in its corresponding string representation.
|
||||
type Serializer interface {
|
||||
Serialize(obj interface{}) (string, error)
|
||||
}
|
||||
|
||||
// DefaultSerializer is an implementation of the Serializer interface.
|
||||
type DefaultSerializer struct{}
|
||||
|
||||
// Serialize uses the default JSON serializer to obtain the string representation of an object.
|
||||
func (DefaultSerializer) Serialize(obj interface{}) (string, error) {
|
||||
bytes, err := json.Marshal(obj)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
return string(bytes), nil
|
||||
}
|
||||
|
||||
type metricContextKey struct{}
|
||||
|
||||
// MetricContext contains fields to store metric-related information.
|
||||
type MetricContext struct {
|
||||
connectionCounter *SharedConnectionCounter
|
||||
publisher MetricPublisher
|
||||
data *MetricData
|
||||
}
|
||||
|
||||
// MetricData stores the collected metric data.
|
||||
type MetricData struct {
|
||||
RequestStartTime time.Time
|
||||
RequestEndTime time.Time
|
||||
APICallDuration time.Duration
|
||||
SerializeStartTime time.Time
|
||||
SerializeEndTime time.Time
|
||||
MarshallingDuration time.Duration
|
||||
ResolveEndpointStartTime time.Time
|
||||
ResolveEndpointEndTime time.Time
|
||||
EndpointResolutionDuration time.Duration
|
||||
GetIdentityStartTime time.Time
|
||||
GetIdentityEndTime time.Time
|
||||
InThroughput float64
|
||||
OutThroughput float64
|
||||
RetryCount int
|
||||
Success uint8
|
||||
StatusCode int
|
||||
ClientRequestID string
|
||||
ServiceID string
|
||||
OperationName string
|
||||
PartitionID string
|
||||
Region string
|
||||
UserAgent string
|
||||
RequestContentLength int64
|
||||
Stream StreamMetrics
|
||||
Attempts []AttemptMetrics
|
||||
}
|
||||
|
||||
// StreamMetrics stores metrics related to streaming data.
|
||||
type StreamMetrics struct {
|
||||
ReadDuration time.Duration
|
||||
ReadBytes int64
|
||||
Throughput float64
|
||||
}
|
||||
|
||||
// AttemptMetrics stores metrics related to individual attempts.
|
||||
type AttemptMetrics struct {
|
||||
ServiceCallStart time.Time
|
||||
ServiceCallEnd time.Time
|
||||
ServiceCallDuration time.Duration
|
||||
FirstByteTime time.Time
|
||||
TimeToFirstByte time.Duration
|
||||
ConnRequestedTime time.Time
|
||||
ConnObtainedTime time.Time
|
||||
ConcurrencyAcquireDuration time.Duration
|
||||
SignStartTime time.Time
|
||||
SignEndTime time.Time
|
||||
SigningDuration time.Duration
|
||||
DeserializeStartTime time.Time
|
||||
DeserializeEndTime time.Time
|
||||
UnMarshallingDuration time.Duration
|
||||
RetryDelay time.Duration
|
||||
ResponseContentLength int64
|
||||
StatusCode int
|
||||
RequestID string
|
||||
ExtendedRequestID string
|
||||
HTTPClient string
|
||||
MaxConcurrency int
|
||||
PendingConnectionAcquires int
|
||||
AvailableConcurrency int
|
||||
ActiveRequests int
|
||||
ReusedConnection bool
|
||||
}
|
||||
|
||||
// Data returns the MetricData associated with the MetricContext.
|
||||
func (mc *MetricContext) Data() *MetricData {
|
||||
return mc.data
|
||||
}
|
||||
|
||||
// ConnectionCounter returns the SharedConnectionCounter associated with the MetricContext.
|
||||
func (mc *MetricContext) ConnectionCounter() *SharedConnectionCounter {
|
||||
return mc.connectionCounter
|
||||
}
|
||||
|
||||
// Publisher returns the MetricPublisher associated with the MetricContext.
|
||||
func (mc *MetricContext) Publisher() MetricPublisher {
|
||||
return mc.publisher
|
||||
}
|
||||
|
||||
// ComputeRequestMetrics calculates and populates derived metrics based on the collected data.
|
||||
func (md *MetricData) ComputeRequestMetrics() {
|
||||
|
||||
for idx := range md.Attempts {
|
||||
attempt := &md.Attempts[idx]
|
||||
attempt.ConcurrencyAcquireDuration = attempt.ConnObtainedTime.Sub(attempt.ConnRequestedTime)
|
||||
attempt.SigningDuration = attempt.SignEndTime.Sub(attempt.SignStartTime)
|
||||
attempt.UnMarshallingDuration = attempt.DeserializeEndTime.Sub(attempt.DeserializeStartTime)
|
||||
attempt.TimeToFirstByte = attempt.FirstByteTime.Sub(attempt.ServiceCallStart)
|
||||
attempt.ServiceCallDuration = attempt.ServiceCallEnd.Sub(attempt.ServiceCallStart)
|
||||
}
|
||||
|
||||
md.APICallDuration = md.RequestEndTime.Sub(md.RequestStartTime)
|
||||
md.MarshallingDuration = md.SerializeEndTime.Sub(md.SerializeStartTime)
|
||||
md.EndpointResolutionDuration = md.ResolveEndpointEndTime.Sub(md.ResolveEndpointStartTime)
|
||||
|
||||
md.RetryCount = len(md.Attempts) - 1
|
||||
|
||||
latestAttempt, err := md.LatestAttempt()
|
||||
|
||||
if err != nil {
|
||||
fmt.Printf("error retrieving attempts data due to: %s. Skipping Throughput metrics", err.Error())
|
||||
} else {
|
||||
|
||||
md.StatusCode = latestAttempt.StatusCode
|
||||
|
||||
if md.Success == 1 {
|
||||
if latestAttempt.ResponseContentLength > 0 && latestAttempt.ServiceCallDuration > 0 {
|
||||
md.InThroughput = float64(latestAttempt.ResponseContentLength) / latestAttempt.ServiceCallDuration.Seconds()
|
||||
}
|
||||
if md.RequestContentLength > 0 && latestAttempt.ServiceCallDuration > 0 {
|
||||
md.OutThroughput = float64(md.RequestContentLength) / latestAttempt.ServiceCallDuration.Seconds()
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// LatestAttempt returns the latest attempt metrics.
|
||||
// It returns an error if no attempts are initialized.
|
||||
func (md *MetricData) LatestAttempt() (*AttemptMetrics, error) {
|
||||
if md.Attempts == nil || len(md.Attempts) == 0 {
|
||||
return nil, fmt.Errorf("no attempts initialized. NewAttempt() should be called first")
|
||||
}
|
||||
return &md.Attempts[len(md.Attempts)-1], nil
|
||||
}
|
||||
|
||||
// NewAttempt initializes new attempt metrics.
|
||||
func (md *MetricData) NewAttempt() {
|
||||
if md.Attempts == nil {
|
||||
md.Attempts = []AttemptMetrics{}
|
||||
}
|
||||
md.Attempts = append(md.Attempts, AttemptMetrics{})
|
||||
}
|
||||
|
||||
// SharedConnectionCounter is a counter shared across API calls.
|
||||
type SharedConnectionCounter struct {
|
||||
mu sync.Mutex
|
||||
|
||||
activeRequests int
|
||||
pendingConnectionAcquire int
|
||||
}
|
||||
|
||||
// ActiveRequests returns the count of active requests.
|
||||
func (cc *SharedConnectionCounter) ActiveRequests() int {
|
||||
cc.mu.Lock()
|
||||
defer cc.mu.Unlock()
|
||||
|
||||
return cc.activeRequests
|
||||
}
|
||||
|
||||
// PendingConnectionAcquire returns the count of pending connection acquires.
|
||||
func (cc *SharedConnectionCounter) PendingConnectionAcquire() int {
|
||||
cc.mu.Lock()
|
||||
defer cc.mu.Unlock()
|
||||
|
||||
return cc.pendingConnectionAcquire
|
||||
}
|
||||
|
||||
// AddActiveRequest increments the count of active requests.
|
||||
func (cc *SharedConnectionCounter) AddActiveRequest() {
|
||||
cc.mu.Lock()
|
||||
defer cc.mu.Unlock()
|
||||
|
||||
cc.activeRequests++
|
||||
}
|
||||
|
||||
// RemoveActiveRequest decrements the count of active requests.
|
||||
func (cc *SharedConnectionCounter) RemoveActiveRequest() {
|
||||
cc.mu.Lock()
|
||||
defer cc.mu.Unlock()
|
||||
|
||||
cc.activeRequests--
|
||||
}
|
||||
|
||||
// AddPendingConnectionAcquire increments the count of pending connection acquires.
|
||||
func (cc *SharedConnectionCounter) AddPendingConnectionAcquire() {
|
||||
cc.mu.Lock()
|
||||
defer cc.mu.Unlock()
|
||||
|
||||
cc.pendingConnectionAcquire++
|
||||
}
|
||||
|
||||
// RemovePendingConnectionAcquire decrements the count of pending connection acquires.
|
||||
func (cc *SharedConnectionCounter) RemovePendingConnectionAcquire() {
|
||||
cc.mu.Lock()
|
||||
defer cc.mu.Unlock()
|
||||
|
||||
cc.pendingConnectionAcquire--
|
||||
}
|
||||
|
||||
// InitMetricContext initializes the metric context with the provided counter and publisher.
|
||||
// It returns the updated context.
|
||||
func InitMetricContext(
|
||||
ctx context.Context, counter *SharedConnectionCounter, publisher MetricPublisher,
|
||||
) context.Context {
|
||||
if middleware.GetStackValue(ctx, metricContextKey{}) == nil {
|
||||
ctx = middleware.WithStackValue(ctx, metricContextKey{}, &MetricContext{
|
||||
connectionCounter: counter,
|
||||
publisher: publisher,
|
||||
data: &MetricData{
|
||||
Attempts: []AttemptMetrics{},
|
||||
Stream: StreamMetrics{},
|
||||
},
|
||||
})
|
||||
}
|
||||
return ctx
|
||||
}
|
||||
|
||||
// Context returns the metric context from the given context.
|
||||
// It returns nil if the metric context is not found.
|
||||
func Context(ctx context.Context) *MetricContext {
|
||||
mctx := middleware.GetStackValue(ctx, metricContextKey{})
|
||||
if mctx == nil {
|
||||
return nil
|
||||
}
|
||||
return mctx.(*MetricContext)
|
||||
}
|
||||
4
vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/request_id_retriever.go
generated
vendored
4
vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/request_id_retriever.go
generated
vendored
@@ -4,6 +4,7 @@ import (
|
||||
"context"
|
||||
|
||||
"github.com/aws/smithy-go/middleware"
|
||||
"github.com/aws/smithy-go/tracing"
|
||||
smithyhttp "github.com/aws/smithy-go/transport/http"
|
||||
)
|
||||
|
||||
@@ -45,6 +46,9 @@ func (m *RequestIDRetriever) HandleDeserialize(ctx context.Context, in middlewar
|
||||
if v := resp.Header.Get(h); len(v) != 0 {
|
||||
// set reqID on metadata for successful responses.
|
||||
SetRequestIDMetadata(&metadata, v)
|
||||
|
||||
span, _ := tracing.GetSpan(ctx)
|
||||
span.SetProperty("aws.request_id", v)
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
114
vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/user_agent.go
generated
vendored
114
vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/user_agent.go
generated
vendored
@@ -34,6 +34,9 @@ const (
|
||||
FeatureMetadata2
|
||||
)
|
||||
|
||||
// Hardcoded value to specify which version of the user agent we're using
|
||||
const uaMetadata = "ua/2.1"
|
||||
|
||||
func (k SDKAgentKeyType) string() string {
|
||||
switch k {
|
||||
case APIMetadata:
|
||||
@@ -73,20 +76,92 @@ type UserAgentFeature string
|
||||
|
||||
// Enumerates UserAgentFeature.
|
||||
const (
|
||||
UserAgentFeatureResourceModel UserAgentFeature = "A" // n/a (we don't generate separate resource types)
|
||||
UserAgentFeatureWaiter = "B"
|
||||
UserAgentFeaturePaginator = "C"
|
||||
UserAgentFeatureRetryModeLegacy = "D" // n/a (equivalent to standard)
|
||||
UserAgentFeatureRetryModeStandard = "E"
|
||||
UserAgentFeatureRetryModeAdaptive = "F"
|
||||
UserAgentFeatureS3Transfer = "G"
|
||||
UserAgentFeatureS3CryptoV1N = "H" // n/a (crypto client is external)
|
||||
UserAgentFeatureS3CryptoV2 = "I" // n/a
|
||||
UserAgentFeatureS3ExpressBucket = "J"
|
||||
UserAgentFeatureS3AccessGrants = "K" // not yet implemented
|
||||
UserAgentFeatureGZIPRequestCompression = "L"
|
||||
UserAgentFeatureResourceModel UserAgentFeature = "A" // n/a (we don't generate separate resource types)
|
||||
|
||||
UserAgentFeatureWaiter = "B"
|
||||
UserAgentFeaturePaginator = "C"
|
||||
|
||||
UserAgentFeatureRetryModeLegacy = "D" // n/a (equivalent to standard)
|
||||
UserAgentFeatureRetryModeStandard = "E"
|
||||
UserAgentFeatureRetryModeAdaptive = "F"
|
||||
|
||||
UserAgentFeatureS3Transfer = "G"
|
||||
UserAgentFeatureS3CryptoV1N = "H" // n/a (crypto client is external)
|
||||
UserAgentFeatureS3CryptoV2 = "I" // n/a
|
||||
UserAgentFeatureS3ExpressBucket = "J"
|
||||
UserAgentFeatureS3AccessGrants = "K" // not yet implemented
|
||||
|
||||
UserAgentFeatureGZIPRequestCompression = "L"
|
||||
|
||||
UserAgentFeatureProtocolRPCV2CBOR = "M"
|
||||
|
||||
UserAgentFeatureAccountIDEndpoint = "O" // DO NOT IMPLEMENT: rules output is not currently defined. SDKs should not parse endpoints for feature information.
|
||||
UserAgentFeatureAccountIDModePreferred = "P"
|
||||
UserAgentFeatureAccountIDModeDisabled = "Q"
|
||||
UserAgentFeatureAccountIDModeRequired = "R"
|
||||
|
||||
UserAgentFeatureRequestChecksumCRC32 = "U"
|
||||
UserAgentFeatureRequestChecksumCRC32C = "V"
|
||||
UserAgentFeatureRequestChecksumCRC64 = "W"
|
||||
UserAgentFeatureRequestChecksumSHA1 = "X"
|
||||
UserAgentFeatureRequestChecksumSHA256 = "Y"
|
||||
UserAgentFeatureRequestChecksumWhenSupported = "Z"
|
||||
UserAgentFeatureRequestChecksumWhenRequired = "a"
|
||||
UserAgentFeatureResponseChecksumWhenSupported = "b"
|
||||
UserAgentFeatureResponseChecksumWhenRequired = "c"
|
||||
|
||||
UserAgentFeatureDynamoDBUserAgent = "d" // not yet implemented
|
||||
|
||||
UserAgentFeatureCredentialsCode = "e"
|
||||
UserAgentFeatureCredentialsJvmSystemProperties = "f" // n/a (this is not a JVM sdk)
|
||||
UserAgentFeatureCredentialsEnvVars = "g"
|
||||
UserAgentFeatureCredentialsEnvVarsStsWebIDToken = "h"
|
||||
UserAgentFeatureCredentialsStsAssumeRole = "i"
|
||||
UserAgentFeatureCredentialsStsAssumeRoleSaml = "j" // not yet implemented
|
||||
UserAgentFeatureCredentialsStsAssumeRoleWebID = "k"
|
||||
UserAgentFeatureCredentialsStsFederationToken = "l" // not yet implemented
|
||||
UserAgentFeatureCredentialsStsSessionToken = "m" // not yet implemented
|
||||
UserAgentFeatureCredentialsProfile = "n"
|
||||
UserAgentFeatureCredentialsProfileSourceProfile = "o"
|
||||
UserAgentFeatureCredentialsProfileNamedProvider = "p"
|
||||
UserAgentFeatureCredentialsProfileStsWebIDToken = "q"
|
||||
UserAgentFeatureCredentialsProfileSso = "r"
|
||||
UserAgentFeatureCredentialsSso = "s"
|
||||
UserAgentFeatureCredentialsProfileSsoLegacy = "t"
|
||||
UserAgentFeatureCredentialsSsoLegacy = "u"
|
||||
UserAgentFeatureCredentialsProfileProcess = "v"
|
||||
UserAgentFeatureCredentialsProcess = "w"
|
||||
UserAgentFeatureCredentialsBoto2ConfigFile = "x" // n/a (this is not boto/Python)
|
||||
UserAgentFeatureCredentialsAwsSdkStore = "y" // n/a (this is used by .NET based sdk)
|
||||
UserAgentFeatureCredentialsHTTP = "z"
|
||||
UserAgentFeatureCredentialsIMDS = "0"
|
||||
|
||||
UserAgentFeatureBearerServiceEnvVars = "3"
|
||||
)
|
||||
|
||||
var credentialSourceToFeature = map[aws.CredentialSource]UserAgentFeature{
|
||||
aws.CredentialSourceCode: UserAgentFeatureCredentialsCode,
|
||||
aws.CredentialSourceEnvVars: UserAgentFeatureCredentialsEnvVars,
|
||||
aws.CredentialSourceEnvVarsSTSWebIDToken: UserAgentFeatureCredentialsEnvVarsStsWebIDToken,
|
||||
aws.CredentialSourceSTSAssumeRole: UserAgentFeatureCredentialsStsAssumeRole,
|
||||
aws.CredentialSourceSTSAssumeRoleSaml: UserAgentFeatureCredentialsStsAssumeRoleSaml,
|
||||
aws.CredentialSourceSTSAssumeRoleWebID: UserAgentFeatureCredentialsStsAssumeRoleWebID,
|
||||
aws.CredentialSourceSTSFederationToken: UserAgentFeatureCredentialsStsFederationToken,
|
||||
aws.CredentialSourceSTSSessionToken: UserAgentFeatureCredentialsStsSessionToken,
|
||||
aws.CredentialSourceProfile: UserAgentFeatureCredentialsProfile,
|
||||
aws.CredentialSourceProfileSourceProfile: UserAgentFeatureCredentialsProfileSourceProfile,
|
||||
aws.CredentialSourceProfileNamedProvider: UserAgentFeatureCredentialsProfileNamedProvider,
|
||||
aws.CredentialSourceProfileSTSWebIDToken: UserAgentFeatureCredentialsProfileStsWebIDToken,
|
||||
aws.CredentialSourceProfileSSO: UserAgentFeatureCredentialsProfileSso,
|
||||
aws.CredentialSourceSSO: UserAgentFeatureCredentialsSso,
|
||||
aws.CredentialSourceProfileSSOLegacy: UserAgentFeatureCredentialsProfileSsoLegacy,
|
||||
aws.CredentialSourceSSOLegacy: UserAgentFeatureCredentialsSsoLegacy,
|
||||
aws.CredentialSourceProfileProcess: UserAgentFeatureCredentialsProfileProcess,
|
||||
aws.CredentialSourceProcess: UserAgentFeatureCredentialsProcess,
|
||||
aws.CredentialSourceHTTP: UserAgentFeatureCredentialsHTTP,
|
||||
aws.CredentialSourceIMDS: UserAgentFeatureCredentialsIMDS,
|
||||
}
|
||||
|
||||
// RequestUserAgent is a build middleware that set the User-Agent for the request.
|
||||
type RequestUserAgent struct {
|
||||
sdkAgent, userAgent *smithyhttp.UserAgentBuilder
|
||||
@@ -106,6 +181,7 @@ type RequestUserAgent struct {
|
||||
func NewRequestUserAgent() *RequestUserAgent {
|
||||
userAgent, sdkAgent := smithyhttp.NewUserAgentBuilder(), smithyhttp.NewUserAgentBuilder()
|
||||
addProductName(userAgent)
|
||||
addUserAgentMetadata(userAgent)
|
||||
addProductName(sdkAgent)
|
||||
|
||||
r := &RequestUserAgent{
|
||||
@@ -133,6 +209,10 @@ func addProductName(builder *smithyhttp.UserAgentBuilder) {
|
||||
builder.AddKeyValue(aws.SDKName, aws.SDKVersion)
|
||||
}
|
||||
|
||||
func addUserAgentMetadata(builder *smithyhttp.UserAgentBuilder) {
|
||||
builder.AddKey(uaMetadata)
|
||||
}
|
||||
|
||||
// AddUserAgentKey retrieves a requestUserAgent from the provided stack, or initializes one.
|
||||
func AddUserAgentKey(key string) func(*middleware.Stack) error {
|
||||
return func(stack *middleware.Stack) error {
|
||||
@@ -234,6 +314,14 @@ func (u *RequestUserAgent) AddSDKAgentKeyValue(keyType SDKAgentKeyType, key, val
|
||||
u.userAgent.AddKeyValue(keyType.string(), strings.Map(rules, key)+"#"+strings.Map(rules, value))
|
||||
}
|
||||
|
||||
// AddCredentialsSource adds the credential source as a feature on the User-Agent string
|
||||
func (u *RequestUserAgent) AddCredentialsSource(source aws.CredentialSource) {
|
||||
x, ok := credentialSourceToFeature[source]
|
||||
if ok {
|
||||
u.AddUserAgentFeature(x)
|
||||
}
|
||||
}
|
||||
|
||||
// ID the name of the middleware.
|
||||
func (u *RequestUserAgent) ID() string {
|
||||
return "UserAgent"
|
||||
@@ -257,10 +345,10 @@ func (u *RequestUserAgent) HandleBuild(ctx context.Context, in middleware.BuildI
|
||||
|
||||
func (u *RequestUserAgent) addHTTPUserAgent(request *smithyhttp.Request) {
|
||||
const userAgent = "User-Agent"
|
||||
updateHTTPHeader(request, userAgent, u.userAgent.Build())
|
||||
if len(u.features) > 0 {
|
||||
updateHTTPHeader(request, userAgent, buildFeatureMetrics(u.features))
|
||||
}
|
||||
updateHTTPHeader(request, userAgent, u.userAgent.Build())
|
||||
}
|
||||
|
||||
func (u *RequestUserAgent) addHTTPSDKAgent(request *smithyhttp.Request) {
|
||||
|
||||
29
vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/array.go
generated
vendored
29
vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/array.go
generated
vendored
@@ -1,8 +1,8 @@
|
||||
package query
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/url"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
// Array represents the encoding of Query lists and sets. A Query array is a
|
||||
@@ -21,19 +21,8 @@ type Array struct {
|
||||
// keys for each element in the list. For example, an entry might have the
|
||||
// key "ParentStructure.ListName.member.MemberName.1".
|
||||
//
|
||||
// While this is currently represented as a string that gets added to, it
|
||||
// could also be represented as a stack that only gets condensed into a
|
||||
// string when a finalized key is created. This could potentially reduce
|
||||
// allocations.
|
||||
// When the array is not flat the prefix will contain the memberName otherwise the memberName is ignored
|
||||
prefix string
|
||||
// Whether the list is flat or not. A list that is not flat will produce the
|
||||
// following entry to the url.Values for a given entry:
|
||||
// ListName.MemberName.1=value
|
||||
// A list that is flat will produce the following:
|
||||
// ListName.1=value
|
||||
flat bool
|
||||
// The location name of the member. In most cases this should be "member".
|
||||
memberName string
|
||||
// Elements are stored in values, so we keep track of the list size here.
|
||||
size int32
|
||||
// Empty lists are encoded as "<prefix>=", if we add a value later we will
|
||||
@@ -45,11 +34,14 @@ func newArray(values url.Values, prefix string, flat bool, memberName string) *A
|
||||
emptyValue := newValue(values, prefix, flat)
|
||||
emptyValue.String("")
|
||||
|
||||
if !flat {
|
||||
// This uses string concatenation in place of fmt.Sprintf as fmt.Sprintf has a much higher resource overhead
|
||||
prefix = prefix + keySeparator + memberName
|
||||
}
|
||||
|
||||
return &Array{
|
||||
values: values,
|
||||
prefix: prefix,
|
||||
flat: flat,
|
||||
memberName: memberName,
|
||||
emptyValue: emptyValue,
|
||||
}
|
||||
}
|
||||
@@ -63,10 +55,7 @@ func (a *Array) Value() Value {
|
||||
|
||||
// Query lists start a 1, so adjust the size first
|
||||
a.size++
|
||||
prefix := a.prefix
|
||||
if !a.flat {
|
||||
prefix = fmt.Sprintf("%s.%s", prefix, a.memberName)
|
||||
}
|
||||
// Lists can't have flat members
|
||||
return newValue(a.values, fmt.Sprintf("%s.%d", prefix, a.size), false)
|
||||
// This uses string concatenation in place of fmt.Sprintf as fmt.Sprintf has a much higher resource overhead
|
||||
return newValue(a.values, a.prefix+keySeparator+strconv.FormatInt(int64(a.size), 10), false)
|
||||
}
|
||||
|
||||
11
vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/object.go
generated
vendored
11
vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/object.go
generated
vendored
@@ -1,9 +1,6 @@
|
||||
package query
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/url"
|
||||
)
|
||||
import "net/url"
|
||||
|
||||
// Object represents the encoding of Query structures and unions. A Query
|
||||
// object is a representation of a mapping of string keys to arbitrary
|
||||
@@ -56,14 +53,16 @@ func (o *Object) FlatKey(name string) Value {
|
||||
|
||||
func (o *Object) key(name string, flatValue bool) Value {
|
||||
if o.prefix != "" {
|
||||
return newValue(o.values, fmt.Sprintf("%s.%s", o.prefix, name), flatValue)
|
||||
// This uses string concatenation in place of fmt.Sprintf as fmt.Sprintf has a much higher resource overhead
|
||||
return newValue(o.values, o.prefix+keySeparator+name, flatValue)
|
||||
}
|
||||
return newValue(o.values, name, flatValue)
|
||||
}
|
||||
|
||||
func (o *Object) keyWithValues(name string, flatValue bool) Value {
|
||||
if o.prefix != "" {
|
||||
return newAppendValue(o.values, fmt.Sprintf("%s.%s", o.prefix, name), flatValue)
|
||||
// This uses string concatenation in place of fmt.Sprintf as fmt.Sprintf has a much higher resource overhead
|
||||
return newAppendValue(o.values, o.prefix+keySeparator+name, flatValue)
|
||||
}
|
||||
return newAppendValue(o.values, name, flatValue)
|
||||
}
|
||||
|
||||
2
vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/value.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/query/value.go
generated
vendored
@@ -7,6 +7,8 @@ import (
|
||||
"github.com/aws/smithy-go/encoding/httpbinding"
|
||||
)
|
||||
|
||||
const keySeparator = "."
|
||||
|
||||
// Value represents a Query Value type.
|
||||
type Value struct {
|
||||
// The query values to add the value to.
|
||||
|
||||
53
vendor/github.com/aws/aws-sdk-go-v2/aws/retry/middleware.go
generated
vendored
53
vendor/github.com/aws/aws-sdk-go-v2/aws/retry/middleware.go
generated
vendored
@@ -8,14 +8,16 @@ import (
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go-v2/aws/middleware/private/metrics"
|
||||
internalcontext "github.com/aws/aws-sdk-go-v2/internal/context"
|
||||
"github.com/aws/smithy-go"
|
||||
|
||||
"github.com/aws/aws-sdk-go-v2/aws"
|
||||
awsmiddle "github.com/aws/aws-sdk-go-v2/aws/middleware"
|
||||
"github.com/aws/aws-sdk-go-v2/internal/sdk"
|
||||
"github.com/aws/smithy-go/logging"
|
||||
"github.com/aws/smithy-go/metrics"
|
||||
smithymiddle "github.com/aws/smithy-go/middleware"
|
||||
"github.com/aws/smithy-go/tracing"
|
||||
"github.com/aws/smithy-go/transport/http"
|
||||
)
|
||||
|
||||
@@ -38,6 +40,9 @@ type Attempt struct {
|
||||
// attempts are reached.
|
||||
LogAttempts bool
|
||||
|
||||
// A Meter instance for recording retry-related metrics.
|
||||
OperationMeter metrics.Meter
|
||||
|
||||
retryer aws.RetryerV2
|
||||
requestCloner RequestCloner
|
||||
}
|
||||
@@ -55,6 +60,10 @@ func NewAttemptMiddleware(retryer aws.Retryer, requestCloner RequestCloner, optF
|
||||
for _, fn := range optFns {
|
||||
fn(m)
|
||||
}
|
||||
if m.OperationMeter == nil {
|
||||
m.OperationMeter = metrics.NopMeterProvider{}.Meter("")
|
||||
}
|
||||
|
||||
return m
|
||||
}
|
||||
|
||||
@@ -80,6 +89,11 @@ func (r *Attempt) HandleFinalize(ctx context.Context, in smithymiddle.FinalizeIn
|
||||
maxAttempts := r.retryer.MaxAttempts()
|
||||
releaseRetryToken := nopRelease
|
||||
|
||||
retryMetrics, err := newAttemptMetrics(r.OperationMeter)
|
||||
if err != nil {
|
||||
return out, metadata, err
|
||||
}
|
||||
|
||||
for {
|
||||
attemptNum++
|
||||
attemptInput := in
|
||||
@@ -97,7 +111,25 @@ func (r *Attempt) HandleFinalize(ctx context.Context, in smithymiddle.FinalizeIn
|
||||
ctx = internalcontext.SetAttemptSkewContext(ctx, attemptClockSkew)
|
||||
|
||||
var attemptResult AttemptResult
|
||||
|
||||
attemptCtx, span := tracing.StartSpan(attemptCtx, "Attempt", func(o *tracing.SpanOptions) {
|
||||
o.Properties.Set("operation.attempt", attemptNum)
|
||||
})
|
||||
retryMetrics.Attempts.Add(ctx, 1, withOperationMetadata(ctx))
|
||||
|
||||
start := sdk.NowTime()
|
||||
out, attemptResult, releaseRetryToken, err = r.handleAttempt(attemptCtx, attemptInput, releaseRetryToken, next)
|
||||
elapsed := sdk.NowTime().Sub(start)
|
||||
|
||||
retryMetrics.AttemptDuration.Record(ctx, float64(elapsed)/1e9, withOperationMetadata(ctx))
|
||||
if err != nil {
|
||||
retryMetrics.Errors.Add(ctx, 1, withOperationMetadata(ctx), func(o *metrics.RecordMetricOptions) {
|
||||
o.Properties.Set("exception.type", errorType(err))
|
||||
})
|
||||
}
|
||||
|
||||
span.End()
|
||||
|
||||
attemptClockSkew, _ = awsmiddle.GetAttemptSkew(attemptResult.ResponseMetadata)
|
||||
|
||||
// AttemptResult Retried states that the attempt was not successful, and
|
||||
@@ -228,7 +260,7 @@ func (r *Attempt) handleAttempt(
|
||||
// Get a retry token that will be released after the
|
||||
releaseRetryToken, retryTokenErr := r.retryer.GetRetryToken(ctx, err)
|
||||
if retryTokenErr != nil {
|
||||
return out, attemptResult, nopRelease, retryTokenErr
|
||||
return out, attemptResult, nopRelease, errors.Join(err, retryTokenErr)
|
||||
}
|
||||
|
||||
//------------------------------
|
||||
@@ -238,13 +270,6 @@ func (r *Attempt) handleAttempt(
|
||||
// that time. Potentially early exist if the sleep is canceled via the
|
||||
// context.
|
||||
retryDelay, reqErr := r.retryer.RetryDelay(attemptNum, err)
|
||||
mctx := metrics.Context(ctx)
|
||||
if mctx != nil {
|
||||
attempt, err := mctx.Data().LatestAttempt()
|
||||
if err != nil {
|
||||
attempt.RetryDelay = retryDelay
|
||||
}
|
||||
}
|
||||
if reqErr != nil {
|
||||
return out, attemptResult, releaseRetryToken, reqErr
|
||||
}
|
||||
@@ -381,3 +406,13 @@ func AddRetryMiddlewares(stack *smithymiddle.Stack, options AddRetryMiddlewaresO
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
// Determines the value of exception.type for metrics purposes. We prefer an
|
||||
// API-specific error code, otherwise it's just the Go type for the value.
|
||||
func errorType(err error) string {
|
||||
var terr smithy.APIError
|
||||
if errors.As(err, &terr) {
|
||||
return terr.ErrorCode()
|
||||
}
|
||||
return fmt.Sprintf("%T", err)
|
||||
}
|
||||
|
||||
6
vendor/github.com/aws/aws-sdk-go-v2/aws/retry/retryable_error.go
generated
vendored
6
vendor/github.com/aws/aws-sdk-go-v2/aws/retry/retryable_error.go
generated
vendored
@@ -116,7 +116,13 @@ func (r RetryableConnectionError) IsErrorRetryable(err error) aws.Ternary {
|
||||
case errors.As(err, &conErr) && conErr.ConnectionError():
|
||||
retryable = true
|
||||
|
||||
case strings.Contains(err.Error(), "use of closed network connection"):
|
||||
fallthrough
|
||||
case strings.Contains(err.Error(), "connection reset"):
|
||||
// The errors "connection reset" and "use of closed network connection"
|
||||
// are effectively the same. It appears to be the difference between
|
||||
// sync and async read of TCP RST in the stdlib's net.Conn read loop.
|
||||
// see #2737
|
||||
retryable = true
|
||||
|
||||
case errors.As(err, &urlErr):
|
||||
|
||||
10
vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go
generated
vendored
10
vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go
generated
vendored
@@ -4,10 +4,11 @@ package v4
|
||||
var IgnoredHeaders = Rules{
|
||||
ExcludeList{
|
||||
MapRule{
|
||||
"Authorization": struct{}{},
|
||||
"User-Agent": struct{}{},
|
||||
"X-Amzn-Trace-Id": struct{}{},
|
||||
"Expect": struct{}{},
|
||||
"Authorization": struct{}{},
|
||||
"User-Agent": struct{}{},
|
||||
"X-Amzn-Trace-Id": struct{}{},
|
||||
"Expect": struct{}{},
|
||||
"Transfer-Encoding": struct{}{},
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -45,7 +46,6 @@ var RequiredSignedHeaders = Rules{
|
||||
"X-Amz-Grant-Write-Acp": struct{}{},
|
||||
"X-Amz-Metadata-Directive": struct{}{},
|
||||
"X-Amz-Mfa": struct{}{},
|
||||
"X-Amz-Request-Payer": struct{}{},
|
||||
"X-Amz-Server-Side-Encryption": struct{}{},
|
||||
"X-Amz-Server-Side-Encryption-Aws-Kms-Key-Id": struct{}{},
|
||||
"X-Amz-Server-Side-Encryption-Context": struct{}{},
|
||||
|
||||
8
vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/middleware.go
generated
vendored
8
vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/middleware.go
generated
vendored
@@ -15,6 +15,7 @@ import (
|
||||
internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
|
||||
"github.com/aws/aws-sdk-go-v2/internal/sdk"
|
||||
"github.com/aws/smithy-go/middleware"
|
||||
"github.com/aws/smithy-go/tracing"
|
||||
smithyhttp "github.com/aws/smithy-go/transport/http"
|
||||
)
|
||||
|
||||
@@ -161,6 +162,9 @@ func (m *ComputePayloadSHA256) HandleFinalize(
|
||||
return next.HandleFinalize(ctx, in)
|
||||
}
|
||||
|
||||
_, span := tracing.StartSpan(ctx, "ComputePayloadSHA256")
|
||||
defer span.End()
|
||||
|
||||
req, ok := in.Request.(*smithyhttp.Request)
|
||||
if !ok {
|
||||
return out, metadata, &HashComputationError{
|
||||
@@ -186,6 +190,7 @@ func (m *ComputePayloadSHA256) HandleFinalize(
|
||||
|
||||
ctx = SetPayloadHash(ctx, hex.EncodeToString(hash.Sum(nil)))
|
||||
|
||||
span.End()
|
||||
return next.HandleFinalize(ctx, in)
|
||||
}
|
||||
|
||||
@@ -367,8 +372,9 @@ func GetSignedRequestSignature(r *http.Request) ([]byte, error) {
|
||||
const authHeaderSignatureElem = "Signature="
|
||||
|
||||
if auth := r.Header.Get(authorizationHeader); len(auth) != 0 {
|
||||
ps := strings.Split(auth, ", ")
|
||||
ps := strings.Split(auth, ",")
|
||||
for _, p := range ps {
|
||||
p = strings.TrimSpace(p)
|
||||
if idx := strings.Index(p, authHeaderSignatureElem); idx >= 0 {
|
||||
sig := p[len(authHeaderSignatureElem):]
|
||||
if len(sig) == 0 {
|
||||
|
||||
2
vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/stream.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/stream.go
generated
vendored
@@ -59,7 +59,7 @@ func (s *StreamSigner) GetSignature(ctx context.Context, headers, payload []byte
|
||||
|
||||
prevSignature := s.prevSignature
|
||||
|
||||
st := v4Internal.NewSigningTime(signingTime)
|
||||
st := v4Internal.NewSigningTime(signingTime.UTC())
|
||||
|
||||
sigKey := s.signingKeyDeriver.DeriveKey(s.credentials, s.service, s.region, st)
|
||||
|
||||
|
||||
13
vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/v4.go
generated
vendored
13
vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/v4.go
generated
vendored
@@ -394,11 +394,16 @@ func (s *httpSigner) buildCredentialScope() string {
|
||||
func buildQuery(r v4Internal.Rule, header http.Header) (url.Values, http.Header) {
|
||||
query := url.Values{}
|
||||
unsignedHeaders := http.Header{}
|
||||
|
||||
// A list of headers to be converted to lower case to mitigate a limitation from S3
|
||||
lowerCaseHeaders := map[string]string{
|
||||
"X-Amz-Expected-Bucket-Owner": "x-amz-expected-bucket-owner", // see #2508
|
||||
"X-Amz-Request-Payer": "x-amz-request-payer", // see #2764
|
||||
}
|
||||
|
||||
for k, h := range header {
|
||||
// literally just this header has this constraint for some stupid reason,
|
||||
// see #2508
|
||||
if k == "X-Amz-Expected-Bucket-Owner" {
|
||||
k = "x-amz-expected-bucket-owner"
|
||||
if newKey, ok := lowerCaseHeaders[k]; ok {
|
||||
k = newKey
|
||||
}
|
||||
|
||||
if r.IsValid(k) {
|
||||
|
||||
36
vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/client.go
generated
vendored
36
vendor/github.com/aws/aws-sdk-go-v2/aws/transport/http/client.go
generated
vendored
@@ -1,13 +1,16 @@
|
||||
package http
|
||||
|
||||
import (
|
||||
"context"
|
||||
"crypto/tls"
|
||||
"github.com/aws/aws-sdk-go-v2/aws"
|
||||
"net"
|
||||
"net/http"
|
||||
"reflect"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/aws/aws-sdk-go-v2/aws"
|
||||
"github.com/aws/smithy-go/tracing"
|
||||
)
|
||||
|
||||
// Defaults for the HTTPTransportBuilder.
|
||||
@@ -179,7 +182,7 @@ func defaultHTTPTransport() *http.Transport {
|
||||
|
||||
tr := &http.Transport{
|
||||
Proxy: http.ProxyFromEnvironment,
|
||||
DialContext: dialer.DialContext,
|
||||
DialContext: traceDialContext(dialer.DialContext),
|
||||
TLSHandshakeTimeout: DefaultHTTPTransportTLSHandleshakeTimeout,
|
||||
MaxIdleConns: DefaultHTTPTransportMaxIdleConns,
|
||||
MaxIdleConnsPerHost: DefaultHTTPTransportMaxIdleConnsPerHost,
|
||||
@@ -194,6 +197,35 @@ func defaultHTTPTransport() *http.Transport {
|
||||
return tr
|
||||
}
|
||||
|
||||
type dialContext func(ctx context.Context, network, addr string) (net.Conn, error)
|
||||
|
||||
func traceDialContext(dc dialContext) dialContext {
|
||||
return func(ctx context.Context, network, addr string) (net.Conn, error) {
|
||||
span, _ := tracing.GetSpan(ctx)
|
||||
span.SetProperty("net.peer.name", addr)
|
||||
|
||||
conn, err := dc(ctx, network, addr)
|
||||
if err != nil {
|
||||
return conn, err
|
||||
}
|
||||
|
||||
raddr := conn.RemoteAddr()
|
||||
if raddr == nil {
|
||||
return conn, err
|
||||
}
|
||||
|
||||
host, port, err := net.SplitHostPort(raddr.String())
|
||||
if err != nil { // don't blow up just because we couldn't parse
|
||||
span.SetProperty("net.peer.addr", raddr.String())
|
||||
} else {
|
||||
span.SetProperty("net.peer.host", host)
|
||||
span.SetProperty("net.peer.port", port)
|
||||
}
|
||||
|
||||
return conn, err
|
||||
}
|
||||
}
|
||||
|
||||
// shallowCopyStruct creates a shallow copy of the passed in source struct, and
|
||||
// returns that copy of the same struct type.
|
||||
func shallowCopyStruct(src interface{}) interface{} {
|
||||
|
||||
291
vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.go
generated
vendored
291
vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.go
generated
vendored
@@ -3,7 +3,8 @@
|
||||
package awsrulesfn
|
||||
|
||||
// GetPartition returns an AWS [Partition] for the region provided. If the
|
||||
// partition cannot be determined nil will be returned.
|
||||
// partition cannot be determined then the default partition (AWS commercial)
|
||||
// will be returned.
|
||||
func GetPartition(region string) *PartitionConfig {
|
||||
return getPartition(partitions, region)
|
||||
}
|
||||
@@ -11,7 +12,7 @@ func GetPartition(region string) *PartitionConfig {
|
||||
var partitions = []Partition{
|
||||
{
|
||||
ID: "aws",
|
||||
RegionRegex: "^(us|eu|ap|sa|ca|me|af|il)\\-\\w+\\-\\d+$",
|
||||
RegionRegex: "^(us|eu|ap|sa|ca|me|af|il|mx)\\-\\w+\\-\\d+$",
|
||||
DefaultConfig: PartitionConfig{
|
||||
Name: "aws",
|
||||
DnsSuffix: "amazonaws.com",
|
||||
@@ -35,6 +36,13 @@ var partitions = []Partition{
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"ap-east-2": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"ap-northeast-1": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
@@ -98,6 +106,27 @@ var partitions = []Partition{
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"ap-southeast-5": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"ap-southeast-6": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"ap-southeast-7": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"aws-global": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
@@ -196,6 +225,13 @@ var partitions = []Partition{
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"mx-central-1": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"sa-east-1": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
@@ -268,6 +304,160 @@ var partitions = []Partition{
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ID: "aws-eusc",
|
||||
RegionRegex: "^eusc\\-(de)\\-\\w+\\-\\d+$",
|
||||
DefaultConfig: PartitionConfig{
|
||||
Name: "aws-eusc",
|
||||
DnsSuffix: "amazonaws.eu",
|
||||
DualStackDnsSuffix: "api.amazonwebservices.eu",
|
||||
SupportsFIPS: true,
|
||||
SupportsDualStack: true,
|
||||
ImplicitGlobalRegion: "eusc-de-east-1",
|
||||
},
|
||||
Regions: map[string]RegionOverrides{
|
||||
"eusc-de-east-1": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ID: "aws-iso",
|
||||
RegionRegex: "^us\\-iso\\-\\w+\\-\\d+$",
|
||||
DefaultConfig: PartitionConfig{
|
||||
Name: "aws-iso",
|
||||
DnsSuffix: "c2s.ic.gov",
|
||||
DualStackDnsSuffix: "api.aws.ic.gov",
|
||||
SupportsFIPS: true,
|
||||
SupportsDualStack: true,
|
||||
ImplicitGlobalRegion: "us-iso-east-1",
|
||||
},
|
||||
Regions: map[string]RegionOverrides{
|
||||
"aws-iso-global": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"us-iso-east-1": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"us-iso-west-1": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ID: "aws-iso-b",
|
||||
RegionRegex: "^us\\-isob\\-\\w+\\-\\d+$",
|
||||
DefaultConfig: PartitionConfig{
|
||||
Name: "aws-iso-b",
|
||||
DnsSuffix: "sc2s.sgov.gov",
|
||||
DualStackDnsSuffix: "api.aws.scloud",
|
||||
SupportsFIPS: true,
|
||||
SupportsDualStack: true,
|
||||
ImplicitGlobalRegion: "us-isob-east-1",
|
||||
},
|
||||
Regions: map[string]RegionOverrides{
|
||||
"aws-iso-b-global": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"us-isob-east-1": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"us-isob-west-1": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ID: "aws-iso-e",
|
||||
RegionRegex: "^eu\\-isoe\\-\\w+\\-\\d+$",
|
||||
DefaultConfig: PartitionConfig{
|
||||
Name: "aws-iso-e",
|
||||
DnsSuffix: "cloud.adc-e.uk",
|
||||
DualStackDnsSuffix: "api.cloud-aws.adc-e.uk",
|
||||
SupportsFIPS: true,
|
||||
SupportsDualStack: true,
|
||||
ImplicitGlobalRegion: "eu-isoe-west-1",
|
||||
},
|
||||
Regions: map[string]RegionOverrides{
|
||||
"aws-iso-e-global": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"eu-isoe-west-1": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ID: "aws-iso-f",
|
||||
RegionRegex: "^us\\-isof\\-\\w+\\-\\d+$",
|
||||
DefaultConfig: PartitionConfig{
|
||||
Name: "aws-iso-f",
|
||||
DnsSuffix: "csp.hci.ic.gov",
|
||||
DualStackDnsSuffix: "api.aws.hci.ic.gov",
|
||||
SupportsFIPS: true,
|
||||
SupportsDualStack: true,
|
||||
ImplicitGlobalRegion: "us-isof-south-1",
|
||||
},
|
||||
Regions: map[string]RegionOverrides{
|
||||
"aws-iso-f-global": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"us-isof-east-1": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"us-isof-south-1": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ID: "aws-us-gov",
|
||||
RegionRegex: "^us\\-gov\\-\\w+\\-\\d+$",
|
||||
@@ -303,101 +493,4 @@ var partitions = []Partition{
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ID: "aws-iso",
|
||||
RegionRegex: "^us\\-iso\\-\\w+\\-\\d+$",
|
||||
DefaultConfig: PartitionConfig{
|
||||
Name: "aws-iso",
|
||||
DnsSuffix: "c2s.ic.gov",
|
||||
DualStackDnsSuffix: "c2s.ic.gov",
|
||||
SupportsFIPS: true,
|
||||
SupportsDualStack: false,
|
||||
ImplicitGlobalRegion: "us-iso-east-1",
|
||||
},
|
||||
Regions: map[string]RegionOverrides{
|
||||
"aws-iso-global": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"us-iso-east-1": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"us-iso-west-1": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ID: "aws-iso-b",
|
||||
RegionRegex: "^us\\-isob\\-\\w+\\-\\d+$",
|
||||
DefaultConfig: PartitionConfig{
|
||||
Name: "aws-iso-b",
|
||||
DnsSuffix: "sc2s.sgov.gov",
|
||||
DualStackDnsSuffix: "sc2s.sgov.gov",
|
||||
SupportsFIPS: true,
|
||||
SupportsDualStack: false,
|
||||
ImplicitGlobalRegion: "us-isob-east-1",
|
||||
},
|
||||
Regions: map[string]RegionOverrides{
|
||||
"aws-iso-b-global": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
"us-isob-east-1": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ID: "aws-iso-e",
|
||||
RegionRegex: "^eu\\-isoe\\-\\w+\\-\\d+$",
|
||||
DefaultConfig: PartitionConfig{
|
||||
Name: "aws-iso-e",
|
||||
DnsSuffix: "cloud.adc-e.uk",
|
||||
DualStackDnsSuffix: "cloud.adc-e.uk",
|
||||
SupportsFIPS: true,
|
||||
SupportsDualStack: false,
|
||||
ImplicitGlobalRegion: "eu-isoe-west-1",
|
||||
},
|
||||
Regions: map[string]RegionOverrides{
|
||||
"eu-isoe-west-1": {
|
||||
Name: nil,
|
||||
DnsSuffix: nil,
|
||||
DualStackDnsSuffix: nil,
|
||||
SupportsFIPS: nil,
|
||||
SupportsDualStack: nil,
|
||||
},
|
||||
},
|
||||
},
|
||||
{
|
||||
ID: "aws-iso-f",
|
||||
RegionRegex: "^us\\-isof\\-\\w+\\-\\d+$",
|
||||
DefaultConfig: PartitionConfig{
|
||||
Name: "aws-iso-f",
|
||||
DnsSuffix: "csp.hci.ic.gov",
|
||||
DualStackDnsSuffix: "csp.hci.ic.gov",
|
||||
SupportsFIPS: true,
|
||||
SupportsDualStack: false,
|
||||
ImplicitGlobalRegion: "us-isof-south-1",
|
||||
},
|
||||
Regions: map[string]RegionOverrides{},
|
||||
},
|
||||
}
|
||||
|
||||
193
vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.json
generated
vendored
193
vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.json
generated
vendored
@@ -9,7 +9,7 @@
|
||||
"supportsDualStack" : true,
|
||||
"supportsFIPS" : true
|
||||
},
|
||||
"regionRegex" : "^(us|eu|ap|sa|ca|me|af|il)\\-\\w+\\-\\d+$",
|
||||
"regionRegex" : "^(us|eu|ap|sa|ca|me|af|il|mx)\\-\\w+\\-\\d+$",
|
||||
"regions" : {
|
||||
"af-south-1" : {
|
||||
"description" : "Africa (Cape Town)"
|
||||
@@ -17,6 +17,9 @@
|
||||
"ap-east-1" : {
|
||||
"description" : "Asia Pacific (Hong Kong)"
|
||||
},
|
||||
"ap-east-2" : {
|
||||
"description" : "Asia Pacific (Taipei)"
|
||||
},
|
||||
"ap-northeast-1" : {
|
||||
"description" : "Asia Pacific (Tokyo)"
|
||||
},
|
||||
@@ -44,8 +47,17 @@
|
||||
"ap-southeast-4" : {
|
||||
"description" : "Asia Pacific (Melbourne)"
|
||||
},
|
||||
"ap-southeast-5" : {
|
||||
"description" : "Asia Pacific (Malaysia)"
|
||||
},
|
||||
"ap-southeast-6" : {
|
||||
"description" : "Asia Pacific (New Zealand)"
|
||||
},
|
||||
"ap-southeast-7" : {
|
||||
"description" : "Asia Pacific (Thailand)"
|
||||
},
|
||||
"aws-global" : {
|
||||
"description" : "AWS Standard global region"
|
||||
"description" : "aws global region"
|
||||
},
|
||||
"ca-central-1" : {
|
||||
"description" : "Canada (Central)"
|
||||
@@ -86,6 +98,9 @@
|
||||
"me-south-1" : {
|
||||
"description" : "Middle East (Bahrain)"
|
||||
},
|
||||
"mx-central-1" : {
|
||||
"description" : "Mexico (Central)"
|
||||
},
|
||||
"sa-east-1" : {
|
||||
"description" : "South America (Sao Paulo)"
|
||||
},
|
||||
@@ -115,7 +130,7 @@
|
||||
"regionRegex" : "^cn\\-\\w+\\-\\d+$",
|
||||
"regions" : {
|
||||
"aws-cn-global" : {
|
||||
"description" : "AWS China global region"
|
||||
"description" : "aws-cn global region"
|
||||
},
|
||||
"cn-north-1" : {
|
||||
"description" : "China (Beijing)"
|
||||
@@ -124,6 +139,107 @@
|
||||
"description" : "China (Ningxia)"
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"id" : "aws-eusc",
|
||||
"outputs" : {
|
||||
"dnsSuffix" : "amazonaws.eu",
|
||||
"dualStackDnsSuffix" : "api.amazonwebservices.eu",
|
||||
"implicitGlobalRegion" : "eusc-de-east-1",
|
||||
"name" : "aws-eusc",
|
||||
"supportsDualStack" : true,
|
||||
"supportsFIPS" : true
|
||||
},
|
||||
"regionRegex" : "^eusc\\-(de)\\-\\w+\\-\\d+$",
|
||||
"regions" : {
|
||||
"eusc-de-east-1" : {
|
||||
"description" : "EU (Germany)"
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"id" : "aws-iso",
|
||||
"outputs" : {
|
||||
"dnsSuffix" : "c2s.ic.gov",
|
||||
"dualStackDnsSuffix" : "api.aws.ic.gov",
|
||||
"implicitGlobalRegion" : "us-iso-east-1",
|
||||
"name" : "aws-iso",
|
||||
"supportsDualStack" : true,
|
||||
"supportsFIPS" : true
|
||||
},
|
||||
"regionRegex" : "^us\\-iso\\-\\w+\\-\\d+$",
|
||||
"regions" : {
|
||||
"aws-iso-global" : {
|
||||
"description" : "aws-iso global region"
|
||||
},
|
||||
"us-iso-east-1" : {
|
||||
"description" : "US ISO East"
|
||||
},
|
||||
"us-iso-west-1" : {
|
||||
"description" : "US ISO WEST"
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"id" : "aws-iso-b",
|
||||
"outputs" : {
|
||||
"dnsSuffix" : "sc2s.sgov.gov",
|
||||
"dualStackDnsSuffix" : "api.aws.scloud",
|
||||
"implicitGlobalRegion" : "us-isob-east-1",
|
||||
"name" : "aws-iso-b",
|
||||
"supportsDualStack" : true,
|
||||
"supportsFIPS" : true
|
||||
},
|
||||
"regionRegex" : "^us\\-isob\\-\\w+\\-\\d+$",
|
||||
"regions" : {
|
||||
"aws-iso-b-global" : {
|
||||
"description" : "aws-iso-b global region"
|
||||
},
|
||||
"us-isob-east-1" : {
|
||||
"description" : "US ISOB East (Ohio)"
|
||||
},
|
||||
"us-isob-west-1" : {
|
||||
"description" : "US ISOB West"
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"id" : "aws-iso-e",
|
||||
"outputs" : {
|
||||
"dnsSuffix" : "cloud.adc-e.uk",
|
||||
"dualStackDnsSuffix" : "api.cloud-aws.adc-e.uk",
|
||||
"implicitGlobalRegion" : "eu-isoe-west-1",
|
||||
"name" : "aws-iso-e",
|
||||
"supportsDualStack" : true,
|
||||
"supportsFIPS" : true
|
||||
},
|
||||
"regionRegex" : "^eu\\-isoe\\-\\w+\\-\\d+$",
|
||||
"regions" : {
|
||||
"aws-iso-e-global" : {
|
||||
"description" : "aws-iso-e global region"
|
||||
},
|
||||
"eu-isoe-west-1" : {
|
||||
"description" : "EU ISOE West"
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"id" : "aws-iso-f",
|
||||
"outputs" : {
|
||||
"dnsSuffix" : "csp.hci.ic.gov",
|
||||
"dualStackDnsSuffix" : "api.aws.hci.ic.gov",
|
||||
"implicitGlobalRegion" : "us-isof-south-1",
|
||||
"name" : "aws-iso-f",
|
||||
"supportsDualStack" : true,
|
||||
"supportsFIPS" : true
|
||||
},
|
||||
"regionRegex" : "^us\\-isof\\-\\w+\\-\\d+$",
|
||||
"regions" : {
|
||||
"aws-iso-f-global" : {
|
||||
"description" : "aws-iso-f global region"
|
||||
},
|
||||
"us-isof-east-1" : {
|
||||
"description" : "US ISOF EAST"
|
||||
},
|
||||
"us-isof-south-1" : {
|
||||
"description" : "US ISOF SOUTH"
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"id" : "aws-us-gov",
|
||||
"outputs" : {
|
||||
@@ -137,7 +253,7 @@
|
||||
"regionRegex" : "^us\\-gov\\-\\w+\\-\\d+$",
|
||||
"regions" : {
|
||||
"aws-us-gov-global" : {
|
||||
"description" : "AWS GovCloud (US) global region"
|
||||
"description" : "aws-us-gov global region"
|
||||
},
|
||||
"us-gov-east-1" : {
|
||||
"description" : "AWS GovCloud (US-East)"
|
||||
@@ -146,75 +262,6 @@
|
||||
"description" : "AWS GovCloud (US-West)"
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"id" : "aws-iso",
|
||||
"outputs" : {
|
||||
"dnsSuffix" : "c2s.ic.gov",
|
||||
"dualStackDnsSuffix" : "c2s.ic.gov",
|
||||
"implicitGlobalRegion" : "us-iso-east-1",
|
||||
"name" : "aws-iso",
|
||||
"supportsDualStack" : false,
|
||||
"supportsFIPS" : true
|
||||
},
|
||||
"regionRegex" : "^us\\-iso\\-\\w+\\-\\d+$",
|
||||
"regions" : {
|
||||
"aws-iso-global" : {
|
||||
"description" : "AWS ISO (US) global region"
|
||||
},
|
||||
"us-iso-east-1" : {
|
||||
"description" : "US ISO East"
|
||||
},
|
||||
"us-iso-west-1" : {
|
||||
"description" : "US ISO WEST"
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"id" : "aws-iso-b",
|
||||
"outputs" : {
|
||||
"dnsSuffix" : "sc2s.sgov.gov",
|
||||
"dualStackDnsSuffix" : "sc2s.sgov.gov",
|
||||
"implicitGlobalRegion" : "us-isob-east-1",
|
||||
"name" : "aws-iso-b",
|
||||
"supportsDualStack" : false,
|
||||
"supportsFIPS" : true
|
||||
},
|
||||
"regionRegex" : "^us\\-isob\\-\\w+\\-\\d+$",
|
||||
"regions" : {
|
||||
"aws-iso-b-global" : {
|
||||
"description" : "AWS ISOB (US) global region"
|
||||
},
|
||||
"us-isob-east-1" : {
|
||||
"description" : "US ISOB East (Ohio)"
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"id" : "aws-iso-e",
|
||||
"outputs" : {
|
||||
"dnsSuffix" : "cloud.adc-e.uk",
|
||||
"dualStackDnsSuffix" : "cloud.adc-e.uk",
|
||||
"implicitGlobalRegion" : "eu-isoe-west-1",
|
||||
"name" : "aws-iso-e",
|
||||
"supportsDualStack" : false,
|
||||
"supportsFIPS" : true
|
||||
},
|
||||
"regionRegex" : "^eu\\-isoe\\-\\w+\\-\\d+$",
|
||||
"regions" : {
|
||||
"eu-isoe-west-1" : {
|
||||
"description" : "EU ISOE West"
|
||||
}
|
||||
}
|
||||
}, {
|
||||
"id" : "aws-iso-f",
|
||||
"outputs" : {
|
||||
"dnsSuffix" : "csp.hci.ic.gov",
|
||||
"dualStackDnsSuffix" : "csp.hci.ic.gov",
|
||||
"implicitGlobalRegion" : "us-isof-south-1",
|
||||
"name" : "aws-iso-f",
|
||||
"supportsDualStack" : false,
|
||||
"supportsFIPS" : true
|
||||
},
|
||||
"regionRegex" : "^us\\-isof\\-\\w+\\-\\d+$",
|
||||
"regions" : { }
|
||||
} ],
|
||||
"version" : "1.1"
|
||||
}
|
||||
5
vendor/modules.txt
vendored
5
vendor/modules.txt
vendored
@@ -131,12 +131,11 @@ github.com/armon/circbuf
|
||||
# github.com/armon/go-metrics v0.4.1
|
||||
## explicit; go 1.12
|
||||
github.com/armon/go-metrics
|
||||
# github.com/aws/aws-sdk-go-v2 v1.30.3
|
||||
## explicit; go 1.20
|
||||
# github.com/aws/aws-sdk-go-v2 v1.39.4
|
||||
## explicit; go 1.23
|
||||
github.com/aws/aws-sdk-go-v2/aws
|
||||
github.com/aws/aws-sdk-go-v2/aws/defaults
|
||||
github.com/aws/aws-sdk-go-v2/aws/middleware
|
||||
github.com/aws/aws-sdk-go-v2/aws/middleware/private/metrics
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/query
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/restjson
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/xml
|
||||
|
||||
Reference in New Issue
Block a user