🌱 Bump the aws group across 1 directory with 4 updates (#1105)
Scorecard supply-chain security / Scorecard analysis (push) Failing after 5m2s
Post / coverage (push) Failing after 40m4s
Post / images (amd64, addon-manager) (push) Failing after 8m26s
Post / images (amd64, placement) (push) Failing after 7m46s
Post / images (amd64, registration) (push) Failing after 7m42s
Post / images (amd64, registration-operator) (push) Failing after 7m50s
Post / images (amd64, work) (push) Failing after 7m47s
Post / images (arm64, addon-manager) (push) Failing after 7m48s
Post / images (arm64, placement) (push) Failing after 7m51s
Post / images (arm64, registration) (push) Failing after 8m10s
Post / images (arm64, registration-operator) (push) Failing after 7m55s
Post / images (arm64, work) (push) Failing after 7m44s
Post / image manifest (addon-manager) (push) Has been skipped
Post / image manifest (placement) (push) Has been skipped
Post / image manifest (registration) (push) Has been skipped
Post / image manifest (registration-operator) (push) Has been skipped
Post / image manifest (work) (push) Has been skipped
Post / trigger clusteradm e2e (push) Has been skipped
Close stale issues and PRs / stale (push) Successful in 1m12s

Bumps the aws group with 4 updates in the / directory: [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2), [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2), [github.com/aws/aws-sdk-go-v2/service/eks](https://github.com/aws/aws-sdk-go-v2) and [github.com/aws/aws-sdk-go-v2/service/iam](https://github.com/aws/aws-sdk-go-v2).


Updates `github.com/aws/aws-sdk-go-v2` from 1.37.0 to 1.37.1
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.37.0...v1.37.1)

Updates `github.com/aws/aws-sdk-go-v2/config` from 1.30.0 to 1.30.2
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.30.0...v1.30.2)

Updates `github.com/aws/aws-sdk-go-v2/service/eks` from 1.67.0 to 1.67.1
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.67.0...service/s3/v1.67.1)

Updates `github.com/aws/aws-sdk-go-v2/service/iam` from 1.44.0 to 1.44.1
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/main/changelog-template.json)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.44.0...service/ecr/v1.44.1)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
  dependency-version: 1.37.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aws
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-version: 1.30.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aws
- dependency-name: github.com/aws/aws-sdk-go-v2/service/eks
  dependency-version: 1.67.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aws
- dependency-name: github.com/aws/aws-sdk-go-v2/service/iam
  dependency-version: 1.44.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: aws
...

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:
dependabot[bot]
2025-08-12 02:23:05 +00:00
committed by GitHub
co-authored by lnx01
parent ef4b3194ce
commit 3df894dc84
57 changed files with 516 additions and 112 deletions
+12 -12
View File
@@ -3,10 +3,10 @@ module open-cluster-management.io/ocm
go 1.24.0
require (
github.com/aws/aws-sdk-go-v2 v1.37.0
github.com/aws/aws-sdk-go-v2/config v1.30.0
github.com/aws/aws-sdk-go-v2/service/eks v1.67.0
github.com/aws/aws-sdk-go-v2/service/iam v1.44.0
github.com/aws/aws-sdk-go-v2 v1.37.2
github.com/aws/aws-sdk-go-v2/config v1.30.3
github.com/aws/aws-sdk-go-v2/service/eks v1.69.0
github.com/aws/aws-sdk-go-v2/service/iam v1.45.0
github.com/aws/smithy-go v1.22.5
github.com/cloudevents/sdk-go/v2 v2.16.1
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc
@@ -60,16 +60,16 @@ require (
github.com/Microsoft/hcsshim v0.12.9 // indirect
github.com/NYTimes/gziphandler v1.1.1 // indirect
github.com/antlr4-go/antlr/v4 v4.13.0 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.18.0 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.17.0 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.0 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.0 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.18.3 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.0 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.26.0 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.31.0 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.35.0 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/blang/semver/v4 v4.0.0 // indirect
github.com/bwmarrin/snowflake v0.3.0 // indirect
+24 -24
View File
@@ -24,34 +24,34 @@ github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cq
github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI=
github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g=
github.com/aws/aws-sdk-go-v2 v1.37.0 h1:YtCOESR/pN4j5oA7cVHSfOwIcuh/KwHC4DOSXFbv5F0=
github.com/aws/aws-sdk-go-v2 v1.37.0/go.mod h1:9Q0OoGQoboYIAJyslFyF1f5K1Ryddop8gqMhWx/n4Wg=
github.com/aws/aws-sdk-go-v2/config v1.30.0 h1:XhzXYU2x/T441/0CBh0g6UUC/OFGk+FRpl3ThI8AqM8=
github.com/aws/aws-sdk-go-v2/config v1.30.0/go.mod h1:4j78A2ko2xc7SMLjjSUrgpp42vyneH9c8j3emf/CLTo=
github.com/aws/aws-sdk-go-v2/credentials v1.18.0 h1:r9W/BX4B1dEbsd2NogyuFXmEfYhdUULUVEOh0SDAovw=
github.com/aws/aws-sdk-go-v2/credentials v1.18.0/go.mod h1:SMtUJQRWEpyfC+ouDJNYdI7NNMqUjHM/Oaf0FV+vWNs=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.17.0 h1:ouCRc4lCriJtCnrIN4Kw2tA/uETRZBrxwb/607gRvkE=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.17.0/go.mod h1:LW9/PxQD1SYFC7pnWcgqPhoyZprhjEdg5hBK6qYPLW8=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.0 h1:H2iZoqW/v2Jnrh1FnU725Bq6KJ0k2uP63yH+DcY+HUI=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.0/go.mod h1:L0FqLbwMXHvNC/7crWV1iIxUlOKYZUE8KuTIA+TozAI=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.0 h1:EDped/rNzAhFPhVY0sDGbtD16OKqksfA8OjF/kLEgw8=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.0/go.mod h1:uUI335jvzpZRPpjYx6ODc/wg1qH+NnoSTK/FwVeK0C0=
github.com/aws/aws-sdk-go-v2 v1.37.2 h1:xkW1iMYawzcmYFYEV0UCMxc8gSsjCGEhBXQkdQywVbo=
github.com/aws/aws-sdk-go-v2 v1.37.2/go.mod h1:9Q0OoGQoboYIAJyslFyF1f5K1Ryddop8gqMhWx/n4Wg=
github.com/aws/aws-sdk-go-v2/config v1.30.3 h1:utupeVnE3bmB221W08P0Moz1lDI3OwYa2fBtUhl7TCc=
github.com/aws/aws-sdk-go-v2/config v1.30.3/go.mod h1:NDGwOEBdpyZwLPlQkpKIO7frf18BW8PaCmAM9iUxQmI=
github.com/aws/aws-sdk-go-v2/credentials v1.18.3 h1:ptfyXmv+ooxzFwyuBth0yqABcjVIkjDL0iTYZBSbum8=
github.com/aws/aws-sdk-go-v2/credentials v1.18.3/go.mod h1:Q43Nci++Wohb0qUh4m54sNln0dbxJw8PvQWkrwOkGOI=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2 h1:nRniHAvjFJGUCl04F3WaAj7qp/rcz5Gi1OVoj5ErBkc=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2/go.mod h1:eJDFKAMHHUvv4a0Zfa7bQb//wFNUXGrbFpYRCHe2kD0=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2 h1:sPiRHLVUIIQcoVZTNwqQcdtjkqkPopyYmIX0M5ElRf4=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2/go.mod h1:ik86P3sgV+Bk7c1tBFCwI3VxMoSEwl4YkRB9xn1s340=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2 h1:ZdzDAg075H6stMZtbD2o+PyB933M/f20e9WmCBC17wA=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2/go.mod h1:eE1IIzXG9sdZCB0pNNpMpsYTLl4YdOQD3njiVN1e/E4=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3 h1:bIqFDwgGXXN1Kpp99pDOdKMTTb5d2KyU5X/BZxjOkRo=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3/go.mod h1:H5O/EsxDWyU+LP/V8i5sm8cxoZgc2fdNR9bxlOFrQTo=
github.com/aws/aws-sdk-go-v2/service/eks v1.67.0 h1:Q6eEFXjq0l2EsOyTiACpHFWMTqPJCI8D/Zqj8m08tlc=
github.com/aws/aws-sdk-go-v2/service/eks v1.67.0/go.mod h1:kHfybTXNRagH1UNWrMOLFSxLaQHrwJjXppoXGBo8CXc=
github.com/aws/aws-sdk-go-v2/service/iam v1.44.0 h1:xE1lyJEce58QSIcS3nh9pgLwx343J93WOn/kYrqW2jg=
github.com/aws/aws-sdk-go-v2/service/iam v1.44.0/go.mod h1:53RWbnrMMSyphkpNPbthmFf+U507eWbuJvCxk6iMKRM=
github.com/aws/aws-sdk-go-v2/service/eks v1.69.0 h1:eiZOCsKGl0D7M3FSeSJwJbsikxowCMVz513WDFCe6HY=
github.com/aws/aws-sdk-go-v2/service/eks v1.69.0/go.mod h1:u3CDoNUAkSIGKNiA6LfQtApPmHPGRuAjikx3ObM5XBs=
github.com/aws/aws-sdk-go-v2/service/iam v1.45.0 h1:H4iGrdJQREYDugHeFeknCZSIQKi2j9xqCFuK0VG1ldI=
github.com/aws/aws-sdk-go-v2/service/iam v1.45.0/go.mod h1:RLNjsuRZyUKWwC1Tj51dEpEKi3IgrxIvEbYdvD14WjU=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0 h1:6+lZi2JeGKtCraAj1rpoZfKqnQ9SptseRZioejfUOLM=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0/go.mod h1:eb3gfbVIxIoGgJsi9pGne19dhCBpK6opTYpQqAmdy44=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.0 h1:eRhU3Sh8dGbaniI6B+I48XJMrTPRkK4DKo+vqIxziOU=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.0/go.mod h1:paNLV18DZ6FnWE/bd06RIKPDIFpjuvCkGKWTG/GDBeM=
github.com/aws/aws-sdk-go-v2/service/sso v1.26.0 h1:cuFWHH87GP1NBGXXfMicUbE7Oty5KpPxN6w4JpmuxYc=
github.com/aws/aws-sdk-go-v2/service/sso v1.26.0/go.mod h1:aJBemdlbCKyOXEXdXBqS7E+8S9XTDcOTaoOjtng54hA=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.31.0 h1:t2va+wewPOYIqC6XyJ4MGjiGKkczMAPsgq5W4FtL9ME=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.31.0/go.mod h1:ExCTcqYqN0hYYRsDlBVU8+68grqlWdgX9/nZJwQW4aY=
github.com/aws/aws-sdk-go-v2/service/sts v1.35.0 h1:FD9agdG4CeOGS3ORLByJk56YIXDS7mxFpmZyCtpqExc=
github.com/aws/aws-sdk-go-v2/service/sts v1.35.0/go.mod h1:NDzDPbBF1xtSTZUMuZx0w3hIfWzcL7X2AQ0Tr9becIQ=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2 h1:oxmDEO14NBZJbK/M8y3brhMFEIGN4j8a6Aq8eY0sqlo=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2/go.mod h1:4hH+8QCrk1uRWDPsVfsNDUup3taAjO8Dnx63au7smAU=
github.com/aws/aws-sdk-go-v2/service/sso v1.27.0 h1:j7/jTOjWeJDolPwZ/J4yZ7dUsxsWZEsxNwH5O7F8eEA=
github.com/aws/aws-sdk-go-v2/service/sso v1.27.0/go.mod h1:M0xdEPQtgpNT7kdAX4/vOAPkFj60hSQRb7TvW9B0iug=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0 h1:ywQF2N4VjqX+Psw+jLjMmUL2g1RDHlvri3NxHA08MGI=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0/go.mod h1:Z+qv5Q6b7sWiclvbJyPSOT1BRVU9wfSUPaqQzZ1Xg3E=
github.com/aws/aws-sdk-go-v2/service/sts v1.36.0 h1:bRP/a9llXSSgDPk7Rqn5GD/DQCGo6uk95plBFKoXt2M=
github.com/aws/aws-sdk-go-v2/service/sts v1.36.0/go.mod h1:tgBsFzxwl65BWkuJ/x2EUs59bD4SfYKgikvFDJi1S58=
github.com/aws/smithy-go v1.22.5 h1:P9ATCXPMb2mPjYBgueqJNCA5S9UfktsW0tTxi+a7eqw=
github.com/aws/smithy-go v1.22.5/go.mod h1:t1ufH5HMublsJYulve2RKmHDC15xu1f26kHCp/HgceI=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
+3
View File
@@ -196,6 +196,9 @@ type Config struct {
// Registry of HTTP interceptors.
Interceptors smithyhttp.InterceptorRegistry
// Priority list of preferred auth scheme IDs.
AuthSchemePreference []string
}
// NewConfig returns a new Config pointer that can be chained with builder
+1 -1
View File
@@ -3,4 +3,4 @@
package aws
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.37.0"
const goModuleVersion = "1.37.2"
+1 -1
View File
@@ -260,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)
}
//------------------------------
+12
View File
@@ -1,3 +1,15 @@
# v1.30.3 (2025-08-04)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.30.2 (2025-07-30)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.30.1 (2025-07-29)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.30.0 (2025-07-28)
* **Feature**: Add support for HTTP interceptors.
+19
View File
@@ -0,0 +1,19 @@
package config
import "strings"
func toAuthSchemePreferenceList(cfg string) []string {
if len(cfg) == 0 {
return nil
}
parts := strings.Split(cfg, ",")
ids := make([]string, 0, len(parts))
for _, p := range parts {
if id := strings.TrimSpace(p); len(id) > 0 {
ids = append(ids, id)
}
}
return ids
}
+2
View File
@@ -91,6 +91,8 @@ var defaultAWSConfigResolvers = []awsConfigResolver{
resolveResponseChecksumValidation,
resolveInterceptors,
resolveAuthSchemePreference,
}
// A Config represents a generic configuration value or set of values. This type
+14
View File
@@ -85,6 +85,8 @@ const (
awsRequestChecksumCalculation = "AWS_REQUEST_CHECKSUM_CALCULATION"
awsResponseChecksumValidation = "AWS_RESPONSE_CHECKSUM_VALIDATION"
awsAuthSchemePreferenceEnv = "AWS_AUTH_SCHEME_PREFERENCE"
)
var (
@@ -304,6 +306,9 @@ type EnvConfig struct {
// Indicates whether response checksum should be validated
ResponseChecksumValidation aws.ResponseChecksumValidation
// Priority list of preferred auth scheme names (e.g. sigv4a).
AuthSchemePreference []string
}
// loadEnvConfig reads configuration values from the OS's environment variables.
@@ -415,6 +420,8 @@ func NewEnvConfig() (EnvConfig, error) {
return cfg, err
}
cfg.AuthSchemePreference = toAuthSchemePreferenceList(os.Getenv(awsAuthSchemePreferenceEnv))
return cfg, nil
}
@@ -916,3 +923,10 @@ func (c EnvConfig) GetS3DisableExpressAuth() (value, ok bool) {
return *c.S3DisableExpressAuth, true
}
func (c EnvConfig) getAuthSchemePreference() ([]string, bool) {
if len(c.AuthSchemePreference) > 0 {
return c.AuthSchemePreference, true
}
return nil, false
}
+1 -1
View File
@@ -3,4 +3,4 @@
package config
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.30.0"
const goModuleVersion = "1.30.3"
+20
View File
@@ -232,6 +232,9 @@ type LoadOptions struct {
// Registry of operation interceptors.
Interceptors smithyhttp.InterceptorRegistry
// Priority list of preferred auth scheme names (e.g. sigv4a).
AuthSchemePreference []string
}
func (o LoadOptions) getDefaultsMode(ctx context.Context) (aws.DefaultsMode, bool, error) {
@@ -1315,3 +1318,20 @@ func WithAfterExecution(i smithyhttp.AfterExecutionInterceptor) LoadOptionsFunc
return nil
}
}
// WithAuthSchemePreference sets the priority order of auth schemes on config.
//
// Schemes are expressed as names e.g. sigv4a or sigv4.
func WithAuthSchemePreference(schemeIDs ...string) LoadOptionsFunc {
return func(o *LoadOptions) error {
o.AuthSchemePreference = schemeIDs
return nil
}
}
func (o LoadOptions) getAuthSchemePreference() ([]string, bool) {
if len(o.AuthSchemePreference) > 0 {
return o.AuthSchemePreference, true
}
return nil, false
}
+15
View File
@@ -753,3 +753,18 @@ func getRetryMode(ctx context.Context, configs configs) (v aws.RetryMode, found
}
return v, found, err
}
func getAuthSchemePreference(ctx context.Context, configs configs) ([]string, bool) {
type provider interface {
getAuthSchemePreference() ([]string, bool)
}
for _, cfg := range configs {
if p, ok := cfg.(provider); ok {
if v, ok := p.getAuthSchemePreference(); ok {
return v, true
}
}
}
return nil, false
}
+7
View File
@@ -422,3 +422,10 @@ func resolveInterceptors(ctx context.Context, cfg *aws.Config, configs configs)
}
return nil
}
func resolveAuthSchemePreference(ctx context.Context, cfg *aws.Config, configs configs) error {
if pref, ok := getAuthSchemePreference(ctx, configs); ok {
cfg.AuthSchemePreference = pref
}
return nil
}
+16
View File
@@ -123,6 +123,8 @@ const (
responseChecksumValidationKey = "response_checksum_validation"
checksumWhenSupported = "when_supported"
checksumWhenRequired = "when_required"
authSchemePreferenceKey = "auth_scheme_preference"
)
// defaultSharedConfigProfile allows for swapping the default profile for testing
@@ -357,6 +359,9 @@ type SharedConfig struct {
// ResponseChecksumValidation indicates if the response checksum should be validated
ResponseChecksumValidation aws.ResponseChecksumValidation
// Priority list of preferred auth scheme names (e.g. sigv4a).
AuthSchemePreference []string
}
func (c SharedConfig) getDefaultsMode(ctx context.Context) (value aws.DefaultsMode, ok bool, err error) {
@@ -890,6 +895,8 @@ func mergeSections(dst *ini.Sections, src ini.Sections) error {
ssoRegionKey,
ssoRoleNameKey,
ssoStartURLKey,
authSchemePreferenceKey,
}
for i := range stringKeys {
if err := mergeStringKey(&srcSection, &dstSection, sectionName, stringKeys[i]); err != nil {
@@ -1166,6 +1173,8 @@ func (c *SharedConfig) setFromIniSection(profile string, section ini.Section) er
updateString(&c.ServicesSectionName, section, servicesSectionKey)
c.AuthSchemePreference = toAuthSchemePreferenceList(section.String(authSchemePreferenceKey))
return nil
}
@@ -1678,3 +1687,10 @@ func updateUseFIPSEndpoint(dst *aws.FIPSEndpointState, section ini.Section, key
return
}
func (c SharedConfig) getAuthSchemePreference() ([]string, bool) {
if len(c.AuthSchemePreference) > 0 {
return c.AuthSchemePreference, true
}
return nil, false
}
+12
View File
@@ -1,3 +1,15 @@
# v1.18.3 (2025-08-04)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.18.2 (2025-07-30)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.18.1 (2025-07-29)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.18.0 (2025-07-28)
* **Feature**: Add support for HTTP interceptors.
+1 -1
View File
@@ -3,4 +3,4 @@
package credentials
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.18.0"
const goModuleVersion = "1.18.3"
+12
View File
@@ -1,3 +1,15 @@
# v1.18.2 (2025-08-04)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.18.1 (2025-07-30)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.18.0 (2025-07-29)
* **Feature**: Add config switch `DisableDefaultMaxBackoff` that allows you to disable the default maximum backoff (1 second) for IMDS calls retry attempt
# v1.17.0 (2025-07-28)
* **Feature**: Add support for HTTP interceptors.
+7 -1
View File
@@ -75,7 +75,9 @@ func New(options Options, optFns ...func(*Options)) *Client {
if options.Retryer == nil {
options.Retryer = retry.NewStandard()
}
options.Retryer = retry.AddWithMaxBackoffDelay(options.Retryer, 1*time.Second)
if !options.DisableDefaultMaxBackoff {
options.Retryer = retry.AddWithMaxBackoffDelay(options.Retryer, 1*time.Second)
}
if options.ClientEnableState == ClientDefaultEnableState {
if v := os.Getenv(disableClientEnvVar); strings.EqualFold(v, "true") {
@@ -189,6 +191,10 @@ type Options struct {
// can disable that behavior with this setting.
DisableDefaultTimeout bool
// By default all IMDS client operations enforce a 1-second retry delay at maximum.
// You can disable that behavior with this setting.
DisableDefaultMaxBackoff bool
// provides the caching of API tokens used for operation calls. If unset,
// the API token will not be retrieved for the operation.
tokenProvider *tokenProvider
@@ -3,4 +3,4 @@
package imds
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.17.0"
const goModuleVersion = "1.18.2"
@@ -1,3 +1,11 @@
# v1.4.2 (2025-08-04)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.4.1 (2025-07-30)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.4.0 (2025-07-28)
* **Feature**: Add support for HTTP interceptors.
@@ -3,4 +3,4 @@
package configsources
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.4.0"
const goModuleVersion = "1.4.2"
@@ -1,3 +1,11 @@
# v2.7.2 (2025-08-04)
* **Dependency Update**: Updated to the latest SDK module versions
# v2.7.1 (2025-07-30)
* **Dependency Update**: Updated to the latest SDK module versions
# v2.7.0 (2025-07-28)
* **Feature**: Add support for HTTP interceptors.
@@ -3,4 +3,4 @@
package endpoints
// goModuleVersion is the tagged release for this module
const goModuleVersion = "2.7.0"
const goModuleVersion = "2.7.2"
+13
View File
@@ -1,3 +1,16 @@
# v1.69.0 (2025-08-05)
* **Feature**: Add support for deletion protection on EKS clusters
# v1.68.0 (2025-08-04)
* **Feature**: Support configurable auth scheme preferences in service clients via AWS_AUTH_SCHEME_PREFERENCE in the environment, auth_scheme_preference in the config file, and through in-code settings on LoadDefaultConfig and client constructor methods.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.67.1 (2025-07-30)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.67.0 (2025-07-28)
* **Feature**: Add support for HTTP interceptors.
+10 -9
View File
@@ -424,15 +424,16 @@ func setResolvedDefaultsMode(o *Options) {
// NewFromConfig returns a new client from the provided config.
func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client {
opts := Options{
Region: cfg.Region,
DefaultsMode: cfg.DefaultsMode,
RuntimeEnvironment: cfg.RuntimeEnvironment,
HTTPClient: cfg.HTTPClient,
Credentials: cfg.Credentials,
APIOptions: cfg.APIOptions,
Logger: cfg.Logger,
ClientLogMode: cfg.ClientLogMode,
AppID: cfg.AppID,
Region: cfg.Region,
DefaultsMode: cfg.DefaultsMode,
RuntimeEnvironment: cfg.RuntimeEnvironment,
HTTPClient: cfg.HTTPClient,
Credentials: cfg.Credentials,
APIOptions: cfg.APIOptions,
Logger: cfg.Logger,
ClientLogMode: cfg.ClientLogMode,
AppID: cfg.AppID,
AuthSchemePreference: cfg.AuthSchemePreference,
}
resolveAWSRetryerProvider(cfg, &opts)
resolveAWSRetryMaxAttempts(cfg, &opts)
@@ -122,6 +122,11 @@ type CreateClusterInput struct {
// create and delete EC2 Managed Instances in your Amazon Web Services account
ComputeConfig *types.ComputeConfigRequest
// Indicates whether to enable deletion protection for the cluster. When enabled,
// the cluster cannot be deleted unless deletion protection is first disabled. This
// helps prevent accidental cluster deletion. Default value is false .
DeletionProtection *bool
// The encryption configuration for the cluster.
EncryptionConfig []types.EncryptionConfig
@@ -91,6 +91,12 @@ type UpdateClusterConfigInput struct {
// cluster. For example, enable the capability.
ComputeConfig *types.ComputeConfigRequest
// Specifies whether to enable or disable deletion protection for the cluster.
// When enabled ( true ), the cluster cannot be deleted until deletion protection
// is explicitly disabled. When disabled ( false ), the cluster can be deleted
// normally.
DeletionProtection *bool
// The Kubernetes network configuration for the cluster.
KubernetesNetworkConfig *types.KubernetesNetworkConfigRequest
+27 -1
View File
@@ -12,6 +12,8 @@ import (
"github.com/aws/smithy-go/middleware"
"github.com/aws/smithy-go/tracing"
smithyhttp "github.com/aws/smithy-go/transport/http"
"slices"
"strings"
)
func bindAuthParamsRegion(_ interface{}, params *AuthResolverParameters, _ interface{}, options Options) {
@@ -169,7 +171,8 @@ func (m *resolveAuthSchemeMiddleware) HandleFinalize(ctx context.Context, in mid
}
func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option) (*resolvedAuthScheme, bool) {
for _, option := range options {
sorted := sortAuthOptions(options, m.options.AuthSchemePreference)
for _, option := range sorted {
if option.SchemeID == smithyauth.SchemeIDAnonymous {
return newResolvedAuthScheme(smithyhttp.NewAnonymousScheme(), option), true
}
@@ -188,6 +191,29 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option)
return nil, false
}
func sortAuthOptions(options []*smithyauth.Option, preferred []string) []*smithyauth.Option {
byPriority := make([]*smithyauth.Option, 0, len(options))
for _, prefName := range preferred {
for _, option := range options {
optName := option.SchemeID
if parts := strings.Split(option.SchemeID, "#"); len(parts) == 2 {
optName = parts[1]
}
if prefName == optName {
byPriority = append(byPriority, option)
}
}
}
for _, option := range options {
if !slices.ContainsFunc(byPriority, func(o *smithyauth.Option) bool {
return o.SchemeID == option.SchemeID
}) {
byPriority = append(byPriority, option)
}
}
return byPriority
}
type resolvedAuthSchemeKey struct{}
type resolvedAuthScheme struct {
+12
View File
@@ -2089,6 +2089,9 @@ func awsRestjson1_deserializeOpErrorDeleteCluster(response *smithyhttp.Response,
case strings.EqualFold("ClientException", errorCode):
return awsRestjson1_deserializeErrorClientException(response, errorBody)
case strings.EqualFold("InvalidRequestException", errorCode):
return awsRestjson1_deserializeErrorInvalidRequestException(response, errorBody)
case strings.EqualFold("ResourceInUseException", errorCode):
return awsRestjson1_deserializeErrorResourceInUseException(response, errorBody)
@@ -11393,6 +11396,15 @@ func awsRestjson1_deserializeDocumentCluster(v **types.Cluster, value interface{
}
}
case "deletionProtection":
if value != nil {
jtv, ok := value.(bool)
if !ok {
return fmt.Errorf("expected BoxedBoolean to be of type *bool, got %T instead", value)
}
sv.DeletionProtection = ptr.Bool(jtv)
}
case "encryptionConfig":
if err := awsRestjson1_deserializeDocumentEncryptionConfigList(&sv.EncryptionConfig, value); err != nil {
return err
+1 -1
View File
@@ -3,4 +3,4 @@
package eks
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.67.0"
const goModuleVersion = "1.69.0"
+3
View File
@@ -132,6 +132,9 @@ type Options struct {
// The list of auth schemes supported by the client.
AuthSchemes []smithyhttp.AuthScheme
// Priority list of preferred auth scheme names (e.g. sigv4a).
AuthSchemePreference []string
}
// Copy creates a clone where the APIOptions list is deep copied.
+10
View File
@@ -687,6 +687,11 @@ func awsRestjson1_serializeOpDocumentCreateClusterInput(v *CreateClusterInput, v
}
}
if v.DeletionProtection != nil {
ok := object.Key("deletionProtection")
ok.Boolean(*v.DeletionProtection)
}
if v.EncryptionConfig != nil {
ok := object.Key("encryptionConfig")
if err := awsRestjson1_serializeDocumentEncryptionConfigList(v.EncryptionConfig, ok); err != nil {
@@ -4898,6 +4903,11 @@ func awsRestjson1_serializeOpDocumentUpdateClusterConfigInput(v *UpdateClusterCo
}
}
if v.DeletionProtection != nil {
ok := object.Key("deletionProtection")
ok.Boolean(*v.DeletionProtection)
}
if v.KubernetesNetworkConfig != nil {
ok := object.Key("kubernetesNetworkConfig")
if err := awsRestjson1_serializeDocumentKubernetesNetworkConfigRequest(v.KubernetesNetworkConfig, ok); err != nil {
+4
View File
@@ -820,6 +820,7 @@ const (
UpdateParamTypeStorageConfig UpdateParamType = "StorageConfig"
UpdateParamTypeKubernetesNetworkConfig UpdateParamType = "KubernetesNetworkConfig"
UpdateParamTypeRemoteNetworkConfig UpdateParamType = "RemoteNetworkConfig"
UpdateParamTypeDeletionProtection UpdateParamType = "DeletionProtection"
)
// Values returns all known values for UpdateParamType. Note that this can be
@@ -864,6 +865,7 @@ func (UpdateParamType) Values() []UpdateParamType {
"StorageConfig",
"KubernetesNetworkConfig",
"RemoteNetworkConfig",
"DeletionProtection",
}
}
@@ -908,6 +910,7 @@ const (
UpdateTypeZonalShiftConfigUpdate UpdateType = "ZonalShiftConfigUpdate"
UpdateTypeAutoModeUpdate UpdateType = "AutoModeUpdate"
UpdateTypeRemoteNetworkConfigUpdate UpdateType = "RemoteNetworkConfigUpdate"
UpdateTypeDeletionProtectionUpdate UpdateType = "DeletionProtectionUpdate"
)
// Values returns all known values for UpdateType. Note that this can be expanded
@@ -930,6 +933,7 @@ func (UpdateType) Values() []UpdateType {
"ZonalShiftConfigUpdate",
"AutoModeUpdate",
"RemoteNetworkConfigUpdate",
"DeletionProtectionUpdate",
}
}
+6
View File
@@ -387,6 +387,12 @@ type Cluster struct {
// The Unix epoch timestamp at object creation.
CreatedAt *time.Time
// The current deletion protection setting for the cluster. When true , deletion
// protection is enabled and the cluster cannot be deleted until protection is
// disabled. When false , the cluster can be deleted normally. This setting only
// applies to clusters in an active state.
DeletionProtection *bool
// The encryption configuration for the cluster.
EncryptionConfig []EncryptionConfig
+9
View File
@@ -1,3 +1,12 @@
# v1.45.0 (2025-08-04)
* **Feature**: Support configurable auth scheme preferences in service clients via AWS_AUTH_SCHEME_PREFERENCE in the environment, auth_scheme_preference in the config file, and through in-code settings on LoadDefaultConfig and client constructor methods.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.44.1 (2025-07-30)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.44.0 (2025-07-28)
* **Feature**: Add support for HTTP interceptors.
+10 -9
View File
@@ -420,15 +420,16 @@ func setResolvedDefaultsMode(o *Options) {
// NewFromConfig returns a new client from the provided config.
func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client {
opts := Options{
Region: cfg.Region,
DefaultsMode: cfg.DefaultsMode,
RuntimeEnvironment: cfg.RuntimeEnvironment,
HTTPClient: cfg.HTTPClient,
Credentials: cfg.Credentials,
APIOptions: cfg.APIOptions,
Logger: cfg.Logger,
ClientLogMode: cfg.ClientLogMode,
AppID: cfg.AppID,
Region: cfg.Region,
DefaultsMode: cfg.DefaultsMode,
RuntimeEnvironment: cfg.RuntimeEnvironment,
HTTPClient: cfg.HTTPClient,
Credentials: cfg.Credentials,
APIOptions: cfg.APIOptions,
Logger: cfg.Logger,
ClientLogMode: cfg.ClientLogMode,
AppID: cfg.AppID,
AuthSchemePreference: cfg.AuthSchemePreference,
}
resolveAWSRetryerProvider(cfg, &opts)
resolveAWSRetryMaxAttempts(cfg, &opts)
+27 -1
View File
@@ -12,6 +12,8 @@ import (
"github.com/aws/smithy-go/middleware"
"github.com/aws/smithy-go/tracing"
smithyhttp "github.com/aws/smithy-go/transport/http"
"slices"
"strings"
)
func bindAuthParamsRegion(_ interface{}, params *AuthResolverParameters, _ interface{}, options Options) {
@@ -169,7 +171,8 @@ func (m *resolveAuthSchemeMiddleware) HandleFinalize(ctx context.Context, in mid
}
func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option) (*resolvedAuthScheme, bool) {
for _, option := range options {
sorted := sortAuthOptions(options, m.options.AuthSchemePreference)
for _, option := range sorted {
if option.SchemeID == smithyauth.SchemeIDAnonymous {
return newResolvedAuthScheme(smithyhttp.NewAnonymousScheme(), option), true
}
@@ -188,6 +191,29 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option)
return nil, false
}
func sortAuthOptions(options []*smithyauth.Option, preferred []string) []*smithyauth.Option {
byPriority := make([]*smithyauth.Option, 0, len(options))
for _, prefName := range preferred {
for _, option := range options {
optName := option.SchemeID
if parts := strings.Split(option.SchemeID, "#"); len(parts) == 2 {
optName = parts[1]
}
if prefName == optName {
byPriority = append(byPriority, option)
}
}
}
for _, option := range options {
if !slices.ContainsFunc(byPriority, func(o *smithyauth.Option) bool {
return o.SchemeID == option.SchemeID
}) {
byPriority = append(byPriority, option)
}
}
return byPriority
}
type resolvedAuthSchemeKey struct{}
type resolvedAuthScheme struct {
+1 -1
View File
@@ -3,4 +3,4 @@
package iam
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.44.0"
const goModuleVersion = "1.45.0"
+3
View File
@@ -128,6 +128,9 @@ type Options struct {
// The list of auth schemes supported by the client.
AuthSchemes []smithyhttp.AuthScheme
// Priority list of preferred auth scheme names (e.g. sigv4a).
AuthSchemePreference []string
}
// Copy creates a clone where the APIOptions list is deep copied.
@@ -1,3 +1,11 @@
# v1.13.2 (2025-08-04)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.13.1 (2025-07-30)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.13.0 (2025-07-28)
* **Feature**: Add support for HTTP interceptors.
@@ -3,4 +3,4 @@
package presignedurl
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.13.0"
const goModuleVersion = "1.13.2"
+9
View File
@@ -1,3 +1,12 @@
# v1.27.0 (2025-08-04)
* **Feature**: Support configurable auth scheme preferences in service clients via AWS_AUTH_SCHEME_PREFERENCE in the environment, auth_scheme_preference in the config file, and through in-code settings on LoadDefaultConfig and client constructor methods.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.26.1 (2025-07-30)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.26.0 (2025-07-28)
* **Feature**: Add support for HTTP interceptors.
+10 -9
View File
@@ -419,15 +419,16 @@ func setResolvedDefaultsMode(o *Options) {
// NewFromConfig returns a new client from the provided config.
func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client {
opts := Options{
Region: cfg.Region,
DefaultsMode: cfg.DefaultsMode,
RuntimeEnvironment: cfg.RuntimeEnvironment,
HTTPClient: cfg.HTTPClient,
Credentials: cfg.Credentials,
APIOptions: cfg.APIOptions,
Logger: cfg.Logger,
ClientLogMode: cfg.ClientLogMode,
AppID: cfg.AppID,
Region: cfg.Region,
DefaultsMode: cfg.DefaultsMode,
RuntimeEnvironment: cfg.RuntimeEnvironment,
HTTPClient: cfg.HTTPClient,
Credentials: cfg.Credentials,
APIOptions: cfg.APIOptions,
Logger: cfg.Logger,
ClientLogMode: cfg.ClientLogMode,
AppID: cfg.AppID,
AuthSchemePreference: cfg.AuthSchemePreference,
}
resolveAWSRetryerProvider(cfg, &opts)
resolveAWSRetryMaxAttempts(cfg, &opts)
+27 -1
View File
@@ -12,6 +12,8 @@ import (
"github.com/aws/smithy-go/middleware"
"github.com/aws/smithy-go/tracing"
smithyhttp "github.com/aws/smithy-go/transport/http"
"slices"
"strings"
)
func bindAuthParamsRegion(_ interface{}, params *AuthResolverParameters, _ interface{}, options Options) {
@@ -193,7 +195,8 @@ func (m *resolveAuthSchemeMiddleware) HandleFinalize(ctx context.Context, in mid
}
func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option) (*resolvedAuthScheme, bool) {
for _, option := range options {
sorted := sortAuthOptions(options, m.options.AuthSchemePreference)
for _, option := range sorted {
if option.SchemeID == smithyauth.SchemeIDAnonymous {
return newResolvedAuthScheme(smithyhttp.NewAnonymousScheme(), option), true
}
@@ -212,6 +215,29 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option)
return nil, false
}
func sortAuthOptions(options []*smithyauth.Option, preferred []string) []*smithyauth.Option {
byPriority := make([]*smithyauth.Option, 0, len(options))
for _, prefName := range preferred {
for _, option := range options {
optName := option.SchemeID
if parts := strings.Split(option.SchemeID, "#"); len(parts) == 2 {
optName = parts[1]
}
if prefName == optName {
byPriority = append(byPriority, option)
}
}
}
for _, option := range options {
if !slices.ContainsFunc(byPriority, func(o *smithyauth.Option) bool {
return o.SchemeID == option.SchemeID
}) {
byPriority = append(byPriority, option)
}
}
return byPriority
}
type resolvedAuthSchemeKey struct{}
type resolvedAuthScheme struct {
+1 -1
View File
@@ -3,4 +3,4 @@
package sso
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.26.0"
const goModuleVersion = "1.27.0"
+3
View File
@@ -128,6 +128,9 @@ type Options struct {
// The list of auth schemes supported by the client.
AuthSchemes []smithyhttp.AuthScheme
// Priority list of preferred auth scheme names (e.g. sigv4a).
AuthSchemePreference []string
}
// Copy creates a clone where the APIOptions list is deep copied.
+9
View File
@@ -1,3 +1,12 @@
# v1.32.0 (2025-08-04)
* **Feature**: Support configurable auth scheme preferences in service clients via AWS_AUTH_SCHEME_PREFERENCE in the environment, auth_scheme_preference in the config file, and through in-code settings on LoadDefaultConfig and client constructor methods.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.31.1 (2025-07-30)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.31.0 (2025-07-28)
* **Feature**: Add support for HTTP interceptors.
+10 -9
View File
@@ -419,15 +419,16 @@ func setResolvedDefaultsMode(o *Options) {
// NewFromConfig returns a new client from the provided config.
func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client {
opts := Options{
Region: cfg.Region,
DefaultsMode: cfg.DefaultsMode,
RuntimeEnvironment: cfg.RuntimeEnvironment,
HTTPClient: cfg.HTTPClient,
Credentials: cfg.Credentials,
APIOptions: cfg.APIOptions,
Logger: cfg.Logger,
ClientLogMode: cfg.ClientLogMode,
AppID: cfg.AppID,
Region: cfg.Region,
DefaultsMode: cfg.DefaultsMode,
RuntimeEnvironment: cfg.RuntimeEnvironment,
HTTPClient: cfg.HTTPClient,
Credentials: cfg.Credentials,
APIOptions: cfg.APIOptions,
Logger: cfg.Logger,
ClientLogMode: cfg.ClientLogMode,
AppID: cfg.AppID,
AuthSchemePreference: cfg.AuthSchemePreference,
}
resolveAWSRetryerProvider(cfg, &opts)
resolveAWSRetryMaxAttempts(cfg, &opts)
+27 -1
View File
@@ -12,6 +12,8 @@ import (
"github.com/aws/smithy-go/middleware"
"github.com/aws/smithy-go/tracing"
smithyhttp "github.com/aws/smithy-go/transport/http"
"slices"
"strings"
)
func bindAuthParamsRegion(_ interface{}, params *AuthResolverParameters, _ interface{}, options Options) {
@@ -187,7 +189,8 @@ func (m *resolveAuthSchemeMiddleware) HandleFinalize(ctx context.Context, in mid
}
func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option) (*resolvedAuthScheme, bool) {
for _, option := range options {
sorted := sortAuthOptions(options, m.options.AuthSchemePreference)
for _, option := range sorted {
if option.SchemeID == smithyauth.SchemeIDAnonymous {
return newResolvedAuthScheme(smithyhttp.NewAnonymousScheme(), option), true
}
@@ -206,6 +209,29 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option)
return nil, false
}
func sortAuthOptions(options []*smithyauth.Option, preferred []string) []*smithyauth.Option {
byPriority := make([]*smithyauth.Option, 0, len(options))
for _, prefName := range preferred {
for _, option := range options {
optName := option.SchemeID
if parts := strings.Split(option.SchemeID, "#"); len(parts) == 2 {
optName = parts[1]
}
if prefName == optName {
byPriority = append(byPriority, option)
}
}
}
for _, option := range options {
if !slices.ContainsFunc(byPriority, func(o *smithyauth.Option) bool {
return o.SchemeID == option.SchemeID
}) {
byPriority = append(byPriority, option)
}
}
return byPriority
}
type resolvedAuthSchemeKey struct{}
type resolvedAuthScheme struct {
+1 -1
View File
@@ -3,4 +3,4 @@
package ssooidc
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.31.0"
const goModuleVersion = "1.32.0"
+3
View File
@@ -128,6 +128,9 @@ type Options struct {
// The list of auth schemes supported by the client.
AuthSchemes []smithyhttp.AuthScheme
// Priority list of preferred auth scheme names (e.g. sigv4a).
AuthSchemePreference []string
}
// Copy creates a clone where the APIOptions list is deep copied.
+9
View File
@@ -1,3 +1,12 @@
# v1.36.0 (2025-08-04)
* **Feature**: Support configurable auth scheme preferences in service clients via AWS_AUTH_SCHEME_PREFERENCE in the environment, auth_scheme_preference in the config file, and through in-code settings on LoadDefaultConfig and client constructor methods.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.35.1 (2025-07-30)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.35.0 (2025-07-28)
* **Feature**: Add support for HTTP interceptors.
+10 -9
View File
@@ -423,15 +423,16 @@ func setResolvedDefaultsMode(o *Options) {
// NewFromConfig returns a new client from the provided config.
func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client {
opts := Options{
Region: cfg.Region,
DefaultsMode: cfg.DefaultsMode,
RuntimeEnvironment: cfg.RuntimeEnvironment,
HTTPClient: cfg.HTTPClient,
Credentials: cfg.Credentials,
APIOptions: cfg.APIOptions,
Logger: cfg.Logger,
ClientLogMode: cfg.ClientLogMode,
AppID: cfg.AppID,
Region: cfg.Region,
DefaultsMode: cfg.DefaultsMode,
RuntimeEnvironment: cfg.RuntimeEnvironment,
HTTPClient: cfg.HTTPClient,
Credentials: cfg.Credentials,
APIOptions: cfg.APIOptions,
Logger: cfg.Logger,
ClientLogMode: cfg.ClientLogMode,
AppID: cfg.AppID,
AuthSchemePreference: cfg.AuthSchemePreference,
}
resolveAWSRetryerProvider(cfg, &opts)
resolveAWSRetryMaxAttempts(cfg, &opts)
+27 -1
View File
@@ -12,6 +12,8 @@ import (
"github.com/aws/smithy-go/middleware"
"github.com/aws/smithy-go/tracing"
smithyhttp "github.com/aws/smithy-go/transport/http"
"slices"
"strings"
)
func bindAuthParamsRegion(_ interface{}, params *AuthResolverParameters, _ interface{}, options Options) {
@@ -181,7 +183,8 @@ func (m *resolveAuthSchemeMiddleware) HandleFinalize(ctx context.Context, in mid
}
func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option) (*resolvedAuthScheme, bool) {
for _, option := range options {
sorted := sortAuthOptions(options, m.options.AuthSchemePreference)
for _, option := range sorted {
if option.SchemeID == smithyauth.SchemeIDAnonymous {
return newResolvedAuthScheme(smithyhttp.NewAnonymousScheme(), option), true
}
@@ -200,6 +203,29 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option)
return nil, false
}
func sortAuthOptions(options []*smithyauth.Option, preferred []string) []*smithyauth.Option {
byPriority := make([]*smithyauth.Option, 0, len(options))
for _, prefName := range preferred {
for _, option := range options {
optName := option.SchemeID
if parts := strings.Split(option.SchemeID, "#"); len(parts) == 2 {
optName = parts[1]
}
if prefName == optName {
byPriority = append(byPriority, option)
}
}
}
for _, option := range options {
if !slices.ContainsFunc(byPriority, func(o *smithyauth.Option) bool {
return o.SchemeID == option.SchemeID
}) {
byPriority = append(byPriority, option)
}
}
return byPriority
}
type resolvedAuthSchemeKey struct{}
type resolvedAuthScheme struct {
+1 -1
View File
@@ -3,4 +3,4 @@
package sts
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.35.0"
const goModuleVersion = "1.36.0"
+3
View File
@@ -128,6 +128,9 @@ type Options struct {
// The list of auth schemes supported by the client.
AuthSchemes []smithyhttp.AuthScheme
// Priority list of preferred auth scheme names (e.g. sigv4a).
AuthSchemePreference []string
}
// Copy creates a clone where the APIOptions list is deep copied.
+12 -12
View File
@@ -28,7 +28,7 @@ github.com/NYTimes/gziphandler
# github.com/antlr4-go/antlr/v4 v4.13.0
## explicit; go 1.20
github.com/antlr4-go/antlr/v4
# github.com/aws/aws-sdk-go-v2 v1.37.0
# github.com/aws/aws-sdk-go-v2 v1.37.2
## explicit; go 1.22
github.com/aws/aws-sdk-go-v2/aws
github.com/aws/aws-sdk-go-v2/aws/arn
@@ -55,10 +55,10 @@ github.com/aws/aws-sdk-go-v2/internal/shareddefaults
github.com/aws/aws-sdk-go-v2/internal/strings
github.com/aws/aws-sdk-go-v2/internal/sync/singleflight
github.com/aws/aws-sdk-go-v2/internal/timeconv
# github.com/aws/aws-sdk-go-v2/config v1.30.0
# github.com/aws/aws-sdk-go-v2/config v1.30.3
## explicit; go 1.22
github.com/aws/aws-sdk-go-v2/config
# github.com/aws/aws-sdk-go-v2/credentials v1.18.0
# github.com/aws/aws-sdk-go-v2/credentials v1.18.3
## explicit; go 1.22
github.com/aws/aws-sdk-go-v2/credentials
github.com/aws/aws-sdk-go-v2/credentials/ec2rolecreds
@@ -67,25 +67,25 @@ github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client
github.com/aws/aws-sdk-go-v2/credentials/processcreds
github.com/aws/aws-sdk-go-v2/credentials/ssocreds
github.com/aws/aws-sdk-go-v2/credentials/stscreds
# github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.17.0
# github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.2
## explicit; go 1.22
github.com/aws/aws-sdk-go-v2/feature/ec2/imds
github.com/aws/aws-sdk-go-v2/feature/ec2/imds/internal/config
# github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.0
# github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.2
## explicit; go 1.22
github.com/aws/aws-sdk-go-v2/internal/configsources
# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.0
# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.2
## explicit; go 1.22
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2
# github.com/aws/aws-sdk-go-v2/internal/ini v1.8.3
## explicit; go 1.22
github.com/aws/aws-sdk-go-v2/internal/ini
# github.com/aws/aws-sdk-go-v2/service/eks v1.67.0
# github.com/aws/aws-sdk-go-v2/service/eks v1.69.0
## explicit; go 1.22
github.com/aws/aws-sdk-go-v2/service/eks
github.com/aws/aws-sdk-go-v2/service/eks/internal/endpoints
github.com/aws/aws-sdk-go-v2/service/eks/types
# github.com/aws/aws-sdk-go-v2/service/iam v1.44.0
# github.com/aws/aws-sdk-go-v2/service/iam v1.45.0
## explicit; go 1.22
github.com/aws/aws-sdk-go-v2/service/iam
github.com/aws/aws-sdk-go-v2/service/iam/internal/endpoints
@@ -93,20 +93,20 @@ github.com/aws/aws-sdk-go-v2/service/iam/types
# github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.0
## explicit; go 1.22
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding
# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.0
# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.2
## explicit; go 1.22
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url
# github.com/aws/aws-sdk-go-v2/service/sso v1.26.0
# github.com/aws/aws-sdk-go-v2/service/sso v1.27.0
## explicit; go 1.22
github.com/aws/aws-sdk-go-v2/service/sso
github.com/aws/aws-sdk-go-v2/service/sso/internal/endpoints
github.com/aws/aws-sdk-go-v2/service/sso/types
# github.com/aws/aws-sdk-go-v2/service/ssooidc v1.31.0
# github.com/aws/aws-sdk-go-v2/service/ssooidc v1.32.0
## explicit; go 1.22
github.com/aws/aws-sdk-go-v2/service/ssooidc
github.com/aws/aws-sdk-go-v2/service/ssooidc/internal/endpoints
github.com/aws/aws-sdk-go-v2/service/ssooidc/types
# github.com/aws/aws-sdk-go-v2/service/sts v1.35.0
# github.com/aws/aws-sdk-go-v2/service/sts v1.36.0
## explicit; go 1.22
github.com/aws/aws-sdk-go-v2/service/sts
github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints