chore(deps): bump github.com/aws/aws-sdk-go-v2 from 1.27.0 to 1.27.2 (#3194)
Bumps [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) from 1.27.0 to 1.27.2. - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.27.0...v1.27.2) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
parent
c93ecd3120
commit
66b359be13
2
go.mod
2
go.mod
|
|
@ -5,7 +5,7 @@ go 1.22
|
||||||
require (
|
require (
|
||||||
cloud.google.com/go/storage v1.41.0
|
cloud.google.com/go/storage v1.41.0
|
||||||
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.3.2
|
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.3.2
|
||||||
github.com/aws/aws-sdk-go-v2 v1.27.0
|
github.com/aws/aws-sdk-go-v2 v1.27.2
|
||||||
github.com/aws/aws-sdk-go-v2/config v1.27.16
|
github.com/aws/aws-sdk-go-v2/config v1.27.16
|
||||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.21
|
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.21
|
||||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.54.3
|
github.com/aws/aws-sdk-go-v2/service/s3 v1.54.3
|
||||||
|
|
|
||||||
4
go.sum
4
go.sum
|
|
@ -74,8 +74,8 @@ github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFI
|
||||||
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
|
github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4=
|
||||||
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
|
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=
|
||||||
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
|
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
|
||||||
github.com/aws/aws-sdk-go-v2 v1.27.0 h1:7bZWKoXhzI+mMR/HjdMx8ZCC5+6fY0lS5tr0bbgiLlo=
|
github.com/aws/aws-sdk-go-v2 v1.27.2 h1:pLsTXqX93rimAOZG2FIYraDQstZaaGVVN4tNw65v0h8=
|
||||||
github.com/aws/aws-sdk-go-v2 v1.27.0/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM=
|
github.com/aws/aws-sdk-go-v2 v1.27.2/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM=
|
||||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 h1:x6xsQXGSmW6frevwDA+vi/wqhp1ct18mVXYN08/93to=
|
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 h1:x6xsQXGSmW6frevwDA+vi/wqhp1ct18mVXYN08/93to=
|
||||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2/go.mod h1:lPprDr1e6cJdyYeGXnRaJoP4Md+cDBvi2eOj00BlGmg=
|
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2/go.mod h1:lPprDr1e6cJdyYeGXnRaJoP4Md+cDBvi2eOj00BlGmg=
|
||||||
github.com/aws/aws-sdk-go-v2/config v1.27.16 h1:knpCuH7laFVGYTNd99Ns5t+8PuRjDn4HnnZK48csipM=
|
github.com/aws/aws-sdk-go-v2/config v1.27.16 h1:knpCuH7laFVGYTNd99Ns5t+8PuRjDn4HnnZK48csipM=
|
||||||
|
|
|
||||||
|
|
@ -70,6 +70,10 @@ func GetUseFIPSEndpoint(options ...interface{}) (value FIPSEndpointState, found
|
||||||
// The SDK will automatically resolve these endpoints per API client using an
|
// The SDK will automatically resolve these endpoints per API client using an
|
||||||
// internal endpoint resolvers. If you'd like to provide custom endpoint
|
// internal endpoint resolvers. If you'd like to provide custom endpoint
|
||||||
// resolving behavior you can implement the EndpointResolver interface.
|
// resolving behavior you can implement the EndpointResolver interface.
|
||||||
|
//
|
||||||
|
// Deprecated: This structure was used with the global [EndpointResolver]
|
||||||
|
// interface, which has been deprecated in favor of service-specific endpoint
|
||||||
|
// resolution. See the deprecation docs on that interface for more information.
|
||||||
type Endpoint struct {
|
type Endpoint struct {
|
||||||
// The base URL endpoint the SDK API clients will use to make API calls to.
|
// The base URL endpoint the SDK API clients will use to make API calls to.
|
||||||
// The SDK will suffix URI path and query elements to this endpoint.
|
// The SDK will suffix URI path and query elements to this endpoint.
|
||||||
|
|
@ -124,6 +128,8 @@ type Endpoint struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
// EndpointSource is the endpoint source type.
|
// EndpointSource is the endpoint source type.
|
||||||
|
//
|
||||||
|
// Deprecated: The global [Endpoint] structure is deprecated.
|
||||||
type EndpointSource int
|
type EndpointSource int
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|
@ -161,19 +167,25 @@ func (e *EndpointNotFoundError) Unwrap() error {
|
||||||
// API clients will fallback to attempting to resolve the endpoint using its
|
// API clients will fallback to attempting to resolve the endpoint using its
|
||||||
// internal default endpoint resolver.
|
// internal default endpoint resolver.
|
||||||
//
|
//
|
||||||
// Deprecated: See EndpointResolverWithOptions
|
// Deprecated: The global endpoint resolution interface is deprecated. The API
|
||||||
|
// for endpoint resolution is now unique to each service and is set via the
|
||||||
|
// EndpointResolverV2 field on service client options. Setting a value for
|
||||||
|
// EndpointResolver on aws.Config or service client options will prevent you
|
||||||
|
// from using any endpoint-related service features released after the
|
||||||
|
// introduction of EndpointResolverV2. You may also encounter broken or
|
||||||
|
// unexpected behavior when using the old global interface with services that
|
||||||
|
// use many endpoint-related customizations such as S3.
|
||||||
type EndpointResolver interface {
|
type EndpointResolver interface {
|
||||||
ResolveEndpoint(service, region string) (Endpoint, error)
|
ResolveEndpoint(service, region string) (Endpoint, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// EndpointResolverFunc wraps a function to satisfy the EndpointResolver interface.
|
// EndpointResolverFunc wraps a function to satisfy the EndpointResolver interface.
|
||||||
//
|
//
|
||||||
// Deprecated: See EndpointResolverWithOptionsFunc
|
// Deprecated: The global endpoint resolution interface is deprecated. See
|
||||||
|
// deprecation docs on [EndpointResolver].
|
||||||
type EndpointResolverFunc func(service, region string) (Endpoint, error)
|
type EndpointResolverFunc func(service, region string) (Endpoint, error)
|
||||||
|
|
||||||
// ResolveEndpoint calls the wrapped function and returns the results.
|
// ResolveEndpoint calls the wrapped function and returns the results.
|
||||||
//
|
|
||||||
// Deprecated: See EndpointResolverWithOptions.ResolveEndpoint
|
|
||||||
func (e EndpointResolverFunc) ResolveEndpoint(service, region string) (Endpoint, error) {
|
func (e EndpointResolverFunc) ResolveEndpoint(service, region string) (Endpoint, error) {
|
||||||
return e(service, region)
|
return e(service, region)
|
||||||
}
|
}
|
||||||
|
|
@ -184,11 +196,17 @@ func (e EndpointResolverFunc) ResolveEndpoint(service, region string) (Endpoint,
|
||||||
// available. If the EndpointResolverWithOptions returns an EndpointNotFoundError error,
|
// available. If the EndpointResolverWithOptions returns an EndpointNotFoundError error,
|
||||||
// API clients will fallback to attempting to resolve the endpoint using its
|
// API clients will fallback to attempting to resolve the endpoint using its
|
||||||
// internal default endpoint resolver.
|
// internal default endpoint resolver.
|
||||||
|
//
|
||||||
|
// Deprecated: The global endpoint resolution interface is deprecated. See
|
||||||
|
// deprecation docs on [EndpointResolver].
|
||||||
type EndpointResolverWithOptions interface {
|
type EndpointResolverWithOptions interface {
|
||||||
ResolveEndpoint(service, region string, options ...interface{}) (Endpoint, error)
|
ResolveEndpoint(service, region string, options ...interface{}) (Endpoint, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// EndpointResolverWithOptionsFunc wraps a function to satisfy the EndpointResolverWithOptions interface.
|
// EndpointResolverWithOptionsFunc wraps a function to satisfy the EndpointResolverWithOptions interface.
|
||||||
|
//
|
||||||
|
// Deprecated: The global endpoint resolution interface is deprecated. See
|
||||||
|
// deprecation docs on [EndpointResolver].
|
||||||
type EndpointResolverWithOptionsFunc func(service, region string, options ...interface{}) (Endpoint, error)
|
type EndpointResolverWithOptionsFunc func(service, region string, options ...interface{}) (Endpoint, error)
|
||||||
|
|
||||||
// ResolveEndpoint calls the wrapped function and returns the results.
|
// ResolveEndpoint calls the wrapped function and returns the results.
|
||||||
|
|
|
||||||
|
|
@ -3,4 +3,4 @@
|
||||||
package aws
|
package aws
|
||||||
|
|
||||||
// goModuleVersion is the tagged release for this module
|
// goModuleVersion is the tagged release for this module
|
||||||
const goModuleVersion = "1.27.0"
|
const goModuleVersion = "1.27.2"
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,15 @@ package retry
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
"github.com/aws/aws-sdk-go-v2/aws/middleware/private/metrics"
|
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"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/aws-sdk-go-v2/aws"
|
"github.com/aws/aws-sdk-go-v2/aws"
|
||||||
awsmiddle "github.com/aws/aws-sdk-go-v2/aws/middleware"
|
awsmiddle "github.com/aws/aws-sdk-go-v2/aws/middleware"
|
||||||
"github.com/aws/aws-sdk-go-v2/internal/sdk"
|
"github.com/aws/aws-sdk-go-v2/internal/sdk"
|
||||||
|
|
@ -39,6 +42,10 @@ type Attempt struct {
|
||||||
requestCloner RequestCloner
|
requestCloner RequestCloner
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// define the threshold at which we will consider certain kind of errors to be probably
|
||||||
|
// caused by clock skew
|
||||||
|
const skewThreshold = 4 * time.Minute
|
||||||
|
|
||||||
// NewAttemptMiddleware returns a new Attempt retry middleware.
|
// NewAttemptMiddleware returns a new Attempt retry middleware.
|
||||||
func NewAttemptMiddleware(retryer aws.Retryer, requestCloner RequestCloner, optFns ...func(*Attempt)) *Attempt {
|
func NewAttemptMiddleware(retryer aws.Retryer, requestCloner RequestCloner, optFns ...func(*Attempt)) *Attempt {
|
||||||
m := &Attempt{
|
m := &Attempt{
|
||||||
|
|
@ -86,6 +93,9 @@ func (r *Attempt) HandleFinalize(ctx context.Context, in smithymiddle.FinalizeIn
|
||||||
AttemptClockSkew: attemptClockSkew,
|
AttemptClockSkew: attemptClockSkew,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// Setting clock skew to be used on other context (like signing)
|
||||||
|
ctx = internalcontext.SetAttemptSkewContext(ctx, attemptClockSkew)
|
||||||
|
|
||||||
var attemptResult AttemptResult
|
var attemptResult AttemptResult
|
||||||
out, attemptResult, releaseRetryToken, err = r.handleAttempt(attemptCtx, attemptInput, releaseRetryToken, next)
|
out, attemptResult, releaseRetryToken, err = r.handleAttempt(attemptCtx, attemptInput, releaseRetryToken, next)
|
||||||
attemptClockSkew, _ = awsmiddle.GetAttemptSkew(attemptResult.ResponseMetadata)
|
attemptClockSkew, _ = awsmiddle.GetAttemptSkew(attemptResult.ResponseMetadata)
|
||||||
|
|
@ -185,6 +195,8 @@ func (r *Attempt) handleAttempt(
|
||||||
return out, attemptResult, nopRelease, err
|
return out, attemptResult, nopRelease, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = wrapAsClockSkew(ctx, err)
|
||||||
|
|
||||||
//------------------------------
|
//------------------------------
|
||||||
// Is Retryable and Should Retry
|
// Is Retryable and Should Retry
|
||||||
//------------------------------
|
//------------------------------
|
||||||
|
|
@ -247,6 +259,37 @@ func (r *Attempt) handleAttempt(
|
||||||
return out, attemptResult, releaseRetryToken, err
|
return out, attemptResult, releaseRetryToken, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// errors that, if detected when we know there's a clock skew,
|
||||||
|
// can be retried and have a high chance of success
|
||||||
|
var possibleSkewCodes = map[string]struct{}{
|
||||||
|
"InvalidSignatureException": {},
|
||||||
|
"SignatureDoesNotMatch": {},
|
||||||
|
"AuthFailure": {},
|
||||||
|
}
|
||||||
|
|
||||||
|
var definiteSkewCodes = map[string]struct{}{
|
||||||
|
"RequestExpired": {},
|
||||||
|
"RequestInTheFuture": {},
|
||||||
|
"RequestTimeTooSkewed": {},
|
||||||
|
}
|
||||||
|
|
||||||
|
// wrapAsClockSkew checks if this error could be related to a clock skew
|
||||||
|
// error and if so, wrap the error.
|
||||||
|
func wrapAsClockSkew(ctx context.Context, err error) error {
|
||||||
|
var v interface{ ErrorCode() string }
|
||||||
|
if !errors.As(err, &v) {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
if _, ok := definiteSkewCodes[v.ErrorCode()]; ok {
|
||||||
|
return &retryableClockSkewError{Err: err}
|
||||||
|
}
|
||||||
|
_, isPossibleSkewCode := possibleSkewCodes[v.ErrorCode()]
|
||||||
|
if skew := internalcontext.GetAttemptSkewContext(ctx); skew > skewThreshold && isPossibleSkewCode {
|
||||||
|
return &retryableClockSkewError{Err: err}
|
||||||
|
}
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// MetricsHeader attaches SDK request metric header for retries to the transport
|
// MetricsHeader attaches SDK request metric header for retries to the transport
|
||||||
type MetricsHeader struct{}
|
type MetricsHeader struct{}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package retry
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
"net"
|
"net"
|
||||||
"net/url"
|
"net/url"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
@ -199,3 +200,23 @@ func (r RetryableErrorCode) IsErrorRetryable(err error) aws.Ternary {
|
||||||
|
|
||||||
return aws.TrueTernary
|
return aws.TrueTernary
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// retryableClockSkewError marks errors that can be caused by clock skew
|
||||||
|
// (difference between server time and client time).
|
||||||
|
// This is returned when there's certain confidence that adjusting the client time
|
||||||
|
// could allow a retry to succeed
|
||||||
|
type retryableClockSkewError struct{ Err error }
|
||||||
|
|
||||||
|
func (e *retryableClockSkewError) Error() string {
|
||||||
|
return fmt.Sprintf("Probable clock skew error: %v", e.Err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Unwrap returns the wrapped error.
|
||||||
|
func (e *retryableClockSkewError) Unwrap() error {
|
||||||
|
return e.Err
|
||||||
|
}
|
||||||
|
|
||||||
|
// RetryableError allows the retryer to retry this request
|
||||||
|
func (e *retryableClockSkewError) RetryableError() bool {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,6 @@ var RequiredSignedHeaders = Rules{
|
||||||
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm": struct{}{},
|
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm": struct{}{},
|
||||||
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key": struct{}{},
|
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key": struct{}{},
|
||||||
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5": struct{}{},
|
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5": struct{}{},
|
||||||
"X-Amz-Expected-Bucket-Owner": struct{}{},
|
|
||||||
"X-Amz-Grant-Full-control": struct{}{},
|
"X-Amz-Grant-Full-control": struct{}{},
|
||||||
"X-Amz-Grant-Read": struct{}{},
|
"X-Amz-Grant-Read": struct{}{},
|
||||||
"X-Amz-Grant-Read-Acp": struct{}{},
|
"X-Amz-Grant-Read-Acp": struct{}{},
|
||||||
|
|
|
||||||
|
|
@ -395,6 +395,12 @@ func buildQuery(r v4Internal.Rule, header http.Header) (url.Values, http.Header)
|
||||||
query := url.Values{}
|
query := url.Values{}
|
||||||
unsignedHeaders := http.Header{}
|
unsignedHeaders := http.Header{}
|
||||||
for k, h := range header {
|
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 r.IsValid(k) {
|
if r.IsValid(k) {
|
||||||
query[k] = h
|
query[k] = h
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
v4 "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
|
v4 "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
|
||||||
|
internalcontext "github.com/aws/aws-sdk-go-v2/internal/context"
|
||||||
"github.com/aws/aws-sdk-go-v2/internal/sdk"
|
"github.com/aws/aws-sdk-go-v2/internal/sdk"
|
||||||
"github.com/aws/smithy-go"
|
"github.com/aws/smithy-go"
|
||||||
"github.com/aws/smithy-go/auth"
|
"github.com/aws/smithy-go/auth"
|
||||||
|
|
@ -39,7 +40,10 @@ func (v *V4SignerAdapter) SignRequest(ctx context.Context, r *smithyhttp.Request
|
||||||
}
|
}
|
||||||
|
|
||||||
hash := v4.GetPayloadHash(ctx)
|
hash := v4.GetPayloadHash(ctx)
|
||||||
err := v.Signer.SignHTTP(ctx, ca.Credentials, r.Request, hash, name, region, sdk.NowTime(), func(o *v4.SignerOptions) {
|
signingTime := sdk.NowTime()
|
||||||
|
skew := internalcontext.GetAttemptSkewContext(ctx)
|
||||||
|
signingTime = signingTime.Add(skew)
|
||||||
|
err := v.Signer.SignHTTP(ctx, ca.Credentials, r.Request, hash, name, region, signingTime, func(o *v4.SignerOptions) {
|
||||||
o.DisableURIPathEscaping, _ = smithyhttp.GetDisableDoubleEncoding(&props)
|
o.DisableURIPathEscaping, _ = smithyhttp.GetDisableDoubleEncoding(&props)
|
||||||
|
|
||||||
o.Logger = v.Logger
|
o.Logger = v.Logger
|
||||||
|
|
|
||||||
|
|
@ -2,12 +2,14 @@ package context
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/aws/smithy-go/middleware"
|
"github.com/aws/smithy-go/middleware"
|
||||||
)
|
)
|
||||||
|
|
||||||
type s3BackendKey struct{}
|
type s3BackendKey struct{}
|
||||||
type checksumInputAlgorithmKey struct{}
|
type checksumInputAlgorithmKey struct{}
|
||||||
|
type clockSkew struct{}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
// S3BackendS3Express identifies the S3Express backend
|
// S3BackendS3Express identifies the S3Express backend
|
||||||
|
|
@ -37,3 +39,14 @@ func GetChecksumInputAlgorithm(ctx context.Context) string {
|
||||||
v, _ := middleware.GetStackValue(ctx, checksumInputAlgorithmKey{}).(string)
|
v, _ := middleware.GetStackValue(ctx, checksumInputAlgorithmKey{}).(string)
|
||||||
return v
|
return v
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// SetAttemptSkewContext sets the clock skew value on the context
|
||||||
|
func SetAttemptSkewContext(ctx context.Context, v time.Duration) context.Context {
|
||||||
|
return middleware.WithStackValue(ctx, clockSkew{}, v)
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetAttemptSkewContext gets the clock skew value from the context
|
||||||
|
func GetAttemptSkewContext(ctx context.Context) time.Duration {
|
||||||
|
x, _ := middleware.GetStackValue(ctx, clockSkew{}).(time.Duration)
|
||||||
|
return x
|
||||||
|
}
|
||||||
|
|
|
||||||
6
vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.json
generated
vendored
6
vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.json
generated
vendored
|
|
@ -198,7 +198,11 @@
|
||||||
"supportsFIPS" : true
|
"supportsFIPS" : true
|
||||||
},
|
},
|
||||||
"regionRegex" : "^eu\\-isoe\\-\\w+\\-\\d+$",
|
"regionRegex" : "^eu\\-isoe\\-\\w+\\-\\d+$",
|
||||||
"regions" : { }
|
"regions" : {
|
||||||
|
"eu-isoe-west-1" : {
|
||||||
|
"description" : "EU ISOE West"
|
||||||
|
}
|
||||||
|
}
|
||||||
}, {
|
}, {
|
||||||
"id" : "aws-iso-f",
|
"id" : "aws-iso-f",
|
||||||
"outputs" : {
|
"outputs" : {
|
||||||
|
|
|
||||||
|
|
@ -193,7 +193,7 @@ github.com/ProtonMail/go-crypto/openpgp/s2k
|
||||||
# github.com/agext/levenshtein v1.2.3
|
# github.com/agext/levenshtein v1.2.3
|
||||||
## explicit
|
## explicit
|
||||||
github.com/agext/levenshtein
|
github.com/agext/levenshtein
|
||||||
# github.com/aws/aws-sdk-go-v2 v1.27.0
|
# github.com/aws/aws-sdk-go-v2 v1.27.2
|
||||||
## explicit; go 1.20
|
## explicit; go 1.20
|
||||||
github.com/aws/aws-sdk-go-v2/aws
|
github.com/aws/aws-sdk-go-v2/aws
|
||||||
github.com/aws/aws-sdk-go-v2/aws/arn
|
github.com/aws/aws-sdk-go-v2/aws/arn
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue