Merge pull request #52702 from renovate-bot/renovate/aws-sdk-go-v2-monorepo

Update aws-sdk-go-v2 monorepo
This commit is contained in:
Paweł Gronowski
2026-06-05 14:56:01 +02:00
committed by GitHub
56 changed files with 816 additions and 499 deletions

32
go.mod
View File

@@ -12,12 +12,12 @@ require (
github.com/Microsoft/go-winio v0.6.2
github.com/Microsoft/hcsshim v0.14.1
github.com/RackSec/srslog v0.0.0-20180709174129-a4725f04ec91
github.com/aws/aws-sdk-go-v2 v1.41.7
github.com/aws/aws-sdk-go-v2/config v1.32.17
github.com/aws/aws-sdk-go-v2/credentials v1.19.16
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.23
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.74.0
github.com/aws/smithy-go v1.25.1
github.com/aws/aws-sdk-go-v2 v1.41.9
github.com/aws/aws-sdk-go-v2/config v1.32.20
github.com/aws/aws-sdk-go-v2/credentials v1.19.19
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.25
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.74.2
github.com/aws/smithy-go v1.26.0
github.com/cloudflare/cfssl v1.6.5
github.com/containerd/cgroups/v3 v3.1.3
github.com/containerd/containerd/api v1.10.0
@@ -133,16 +133,16 @@ require (
github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2 // indirect
github.com/armon/go-metrics v0.4.1 // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.10 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.23 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.23 // indirect
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.24 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.9 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.23 // indirect
github.com/aws/aws-sdk-go-v2/service/signin v1.0.11 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.30.17 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.21 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.42.1 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.11 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.25 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.25 // indirect
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.26 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.10 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.25 // indirect
github.com/aws/aws-sdk-go-v2/service/signin v1.1.1 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.30.19 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.36.2 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.42.3 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/bits-and-blooms/bitset v1.13.0 // indirect
github.com/blang/semver v3.5.1+incompatible // indirect

64
go.sum
View File

@@ -81,40 +81,40 @@ github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3d
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/aws/aws-sdk-go v1.55.7 h1:UJrkFq7es5CShfBwlWAC8DA077vp8PyVbQd3lqLiztE=
github.com/aws/aws-sdk-go v1.55.7/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQHfHkpNU=
github.com/aws/aws-sdk-go-v2 v1.41.7 h1:DWpAJt66FmnnaRIOT/8ASTucrvuDPZASqhhLey6tLY8=
github.com/aws/aws-sdk-go-v2 v1.41.7/go.mod h1:4LAfZOPHNVNQEckOACQx60Y8pSRjIkNZQz1w92xpMJc=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.10 h1:gx1AwW1Iyk9Z9dD9F4akX5gnN3QZwUB20GGKH/I+Rho=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.10/go.mod h1:qqY157uZoqm5OXq/amuaBJyC9hgBCBQnsaWnPe905GY=
github.com/aws/aws-sdk-go-v2/config v1.32.17 h1:FpL4/758/diKwqbytU0prpuiu60fgXKUWCpDJtApclU=
github.com/aws/aws-sdk-go-v2/config v1.32.17/go.mod h1:OXqUMzgXytfoF9JaKkhrOYsyh72t9G+MJH8mMRaexOE=
github.com/aws/aws-sdk-go-v2/credentials v1.19.16 h1:r3RJBuU7X9ibt8RHbMjWE6y60QbKBiII6wSrXnapxSU=
github.com/aws/aws-sdk-go-v2/credentials v1.19.16/go.mod h1:6cx7zqDENJDbBIIWX6P8s0h6hqHC8Avbjh9Dseo27ug=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.23 h1:UuSfcORqNSz/ey3VPRS8TcVH2Ikf0/sC+Hdj400QI6U=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.23/go.mod h1:+G/OSGiOFnSOkYloKj/9M35s74LgVAdJBSD5lsFfqKg=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.23 h1:GpT/TrnBYuE5gan2cZbTtvP+JlHsutdmlV2YfEyNde0=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.23/go.mod h1:xYWD6BS9ywC5bS3sz9Xh04whO/hzK2plt2Zkyrp4JuA=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.23 h1:bpd8vxhlQi2r1hiueOw02f/duEPTMK59Q4QMAoTTtTo=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.23/go.mod h1:15DfR2nw+CRHIk0tqNyifu3G1YdAOy68RftkhMDDwYk=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.24 h1:OQqn11BtaYv1WLUowvcA30MpzIu8Ti4pcLPIIyoKZrA=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.24/go.mod h1:X5ZJyfwVrWA96GzPmUCWFQaEARPR7gCrpq2E92PJwAE=
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.74.0 h1:6TqDeYdvJJEIJGg5ICy7nzC7/UuHk2Eg3wrpb5bWKPM=
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.74.0/go.mod h1:MLJu3PUd8fp5Qvj4CiLvyY5H8y7kxHKlTp060Wsd+Vc=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.9 h1:FLudkZLt5ci0ozzgkVo8BJGwvqNaZbTWb3UcucAateA=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.9/go.mod h1:w7wZ/s9qK7c8g4al+UyoF1Sp/Z45UwMGcqIzLWVQHWk=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.23 h1:pbrxO/kuIwgEsOPLkaHu0O+m4fNgLU8B3vxQ+72jTPw=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.23/go.mod h1:/CMNUqoj46HpS3MNRDEDIwcgEnrtZlKRaHNaHxIFpNA=
github.com/aws/aws-sdk-go-v2 v1.41.9 h1:/rYeyO2+HrMztAmxAq9++XJtFMqSIpSsNA0yDGALYq4=
github.com/aws/aws-sdk-go-v2 v1.41.9/go.mod h1:+HsoOEX80qAVUitj1A2DhCNTjmb3edVyuDypb6LNEeo=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.11 h1:h5+3VT69KUBK24grGuuA5saDJTj2IIjLb9au668Fo5I=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.11/go.mod h1:dnakxebH6UwFvcvujL0LVggYQ8nEvBGjU4G/V79Nv94=
github.com/aws/aws-sdk-go-v2/config v1.32.20 h1:8VMDnWc/kEzxsI/1ngGM9mG81a8IGmIHD8KLcYGwagc=
github.com/aws/aws-sdk-go-v2/config v1.32.20/go.mod h1:PuwEpciweIXGULWeOeSTXtSbH4CW9mWdWrhdCKQI1sM=
github.com/aws/aws-sdk-go-v2/credentials v1.19.19 h1:yuFzSV1U0aRNYCQGVaTY2zW2M/L93pYHnXnrJUphYhU=
github.com/aws/aws-sdk-go-v2/credentials v1.19.19/go.mod h1:7y63L1kGzeoDlJaQ3Z578KrnmfBut96JjvJUzGwR+YE=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.25 h1:0w6dCiO8iez+YKwRhRBlL1CH/E3GTfdkuzrwj1by8vo=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.25/go.mod h1:9FDWUothyr5RCRAHc45XOiVCzUR8n/IhCYX+uVqw6vk=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.25 h1:Uii3frf9ztec/ABM2/FSH9/z7PLzxfpG8h4RpkUFflQ=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.25/go.mod h1:G6kntsA2GorAxDPbap6xgB2F+amSLUF8GJTi7PUoX44=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.25 h1:r1+/l6m+WaUJF9HISEsNOLHSNj5EXYQxK8VX6Cz9NlA=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.25/go.mod h1:cKf+D+NMDK1LndD7BowHbBZPgR9V0/5HubH0PFWvA+c=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.26 h1:A1PmWU2zfkIm9EyFlJncFXL4W4phML+h8KjltUsCvNQ=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.26/go.mod h1:dY4MRzXEizrD4hqtpKvWVGPX7QleSGGVY+EBolo1RmM=
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.74.2 h1:ZG6ahQOknnJnvx7X+nza34k7dUTzEBCRyguW5ghr270=
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.74.2/go.mod h1:FBpD9d2czaAfwdeVjM/7DRkKaHSbsVaJK+T6DSK7DFc=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.10 h1:d5/908OJ4bXg8lyjeMPvXetEKqoDoLi5Owy1zNue3yg=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.10/go.mod h1:a57l7Hwh+FWI+we50g5NPJHYUKeJKfXbc4w8SyXu8Ig=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.25 h1:dD3dhHNglpd98gs72my22Ndqi1hqQGllFFg1F+twfxg=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.25/go.mod h1:0yAbjPfd64gG7mj85RW+fMEYdfBgCRZw8g/oWcL1pjc=
github.com/aws/aws-sdk-go-v2/service/kms v1.50.3 h1:s/zDSG/a/Su9aX+v0Ld9cimUCdkr5FWPmBV8owaEbZY=
github.com/aws/aws-sdk-go-v2/service/kms v1.50.3/go.mod h1:/iSgiUor15ZuxFGQSTf3lA2FmKxFsQoc2tADOarQBSw=
github.com/aws/aws-sdk-go-v2/service/signin v1.0.11 h1:TdJ+HdzOBhU8+iVAOGUTU63VXopcumCOF1paFulHWZc=
github.com/aws/aws-sdk-go-v2/service/signin v1.0.11/go.mod h1:R82ZRExE/nheo0N+T8zHPcLRTcH8MGsnR3BiVGX0TwI=
github.com/aws/aws-sdk-go-v2/service/sso v1.30.17 h1:7byT8HUWrgoRp6sXjxtZwgOKfhss5fW6SkLBtqzgRoE=
github.com/aws/aws-sdk-go-v2/service/sso v1.30.17/go.mod h1:xNWknVi4Ezm1vg1QsB/5EWpAJURq22uqd38U8qKvOJc=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.21 h1:+1Kl1zx6bWi4X7cKi3VYh29h8BvsCoHQEQ6ST9X8w7w=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.21/go.mod h1:4vIRDq+CJB2xFAXZ+YgGUTiEft7oAQlhIs71xcSeuVg=
github.com/aws/aws-sdk-go-v2/service/sts v1.42.1 h1:F/M5Y9I3nwr2IEpshZgh1GeHpOItExNM9L1euNuh/fk=
github.com/aws/aws-sdk-go-v2/service/sts v1.42.1/go.mod h1:mTNxImtovCOEEuD65mKW7DCsL+2gjEH+RPEAexAzAio=
github.com/aws/smithy-go v1.25.1 h1:J8ERsGSU7d+aCmdQur5Txg6bVoYelvQJgtZehD12GkI=
github.com/aws/smithy-go v1.25.1/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
github.com/aws/aws-sdk-go-v2/service/signin v1.1.1 h1:1VwbP3qMNfxUDEXWki4rCE5iA+44VA1lokTz9HasGzw=
github.com/aws/aws-sdk-go-v2/service/signin v1.1.1/go.mod h1:vUtyoSj0OPji3kjIVSc/GlKuWEiL33f/WFxl6dmpy/A=
github.com/aws/aws-sdk-go-v2/service/sso v1.30.19 h1:N6pIsdFOW1Kd9S4KyFKXdGRBojPPxkP32+uHFWLv4Hc=
github.com/aws/aws-sdk-go-v2/service/sso v1.30.19/go.mod h1:3gt5WJArFooNmyLONS+h/R4J+o86II8du38IgCwj9dE=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.36.2 h1:hc+lBYiiTr8Zk4MTzIsQ92MeDWCIDvWGmzKUWOaBcOg=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.36.2/go.mod h1:hU6fqB3OJA6/ePheD47LQnxvjYk6br6PtQxs+Q9ojvk=
github.com/aws/aws-sdk-go-v2/service/sts v1.42.3 h1:ErklX/7uhSbkAAeyQD/Y1OoQ9hO3SJXQNEgksORW3Js=
github.com/aws/aws-sdk-go-v2/service/sts v1.42.3/go.mod h1:ULe4HCzfKPiR6R3HEurE3b1upEkuk8AkMrOKtaOxKO8=
github.com/aws/smithy-go v1.26.0 h1:9ouqbi+NyKP7fV3Te7UElCwdAb6Y8uk7LGwPE5tVe/s=
github.com/aws/smithy-go v1.26.0/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=

View File

@@ -204,6 +204,10 @@ type Config struct {
// 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)
// Controls whether the SDK restricts file permissions on credential
// cache files it creates.
RestrictFilePermissions RestrictFilePermissions
}
// NewConfig returns a new Config pointer that can be chained with builder

View File

@@ -3,4 +3,4 @@
package aws
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.41.7"
const goModuleVersion = "1.41.9"

View File

@@ -1,3 +1,7 @@
# v1.7.11 (2026-05-29)
* **Dependency Update**: Update to smithy-go v1.26.0.
# v1.7.10 (2026-04-29)
* **Dependency Update**: Update to smithy-go v1.25.1.

View File

@@ -3,4 +3,4 @@
package eventstream
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.7.10"
const goModuleVersion = "1.7.11"

View File

@@ -0,0 +1,21 @@
package aws
// RestrictFilePermissions controls whether the SDK restricts file permissions
// on credential cache files it creates.
type RestrictFilePermissions string
const (
// RestrictFilePermissionsUnset indicates the setting has not been
// configured.
RestrictFilePermissionsUnset RestrictFilePermissions = ""
// RestrictFilePermissionsUserReadWrite sets file permissions to owner
// read/write only (0600) and directory permissions to owner only (0700)
// when creating new cache files and directories on Unix. This is the
// default behavior.
RestrictFilePermissionsUserReadWrite RestrictFilePermissions = "user_read_write"
// RestrictFilePermissionsUnrestricted does not set any file or directory
// permissions, relying on the system's default umask.
RestrictFilePermissionsUnrestricted RestrictFilePermissions = "unrestricted"
)

View File

@@ -1,3 +1,17 @@
# v1.32.20 (2026-05-29)
* **Dependency Update**: Update to smithy-go v1.26.0.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.32.19 (2026-05-28)
* **Bug Fix**: Adds support for AWS_RESTRICT_FILE_PERMISSIONS for env and in-code config.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.32.18 (2026-05-22)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.32.17 (2026-04-29)
* **Dependency Update**: Update to smithy-go v1.25.1.

View File

@@ -96,6 +96,8 @@ var defaultAWSConfigResolvers = []awsConfigResolver{
// Sets the ServiceOptions if present in LoadOptions
resolveServiceOptions,
resolveRestrictFilePermissions,
}
// A Config represents a generic configuration value or set of values. This type

View File

@@ -87,6 +87,8 @@ const (
awsResponseChecksumValidation = "AWS_RESPONSE_CHECKSUM_VALIDATION"
awsAuthSchemePreferenceEnv = "AWS_AUTH_SCHEME_PREFERENCE"
awsRestrictFilePermissionsEnv = "AWS_RESTRICT_FILE_PERMISSIONS"
)
var (
@@ -309,6 +311,10 @@ type EnvConfig struct {
// Priority list of preferred auth scheme names (e.g. sigv4a).
AuthSchemePreference []string
// Controls whether the SDK restricts file permissions on credential
// cache files it creates.
RestrictFilePermissions aws.RestrictFilePermissions
}
// loadEnvConfig reads configuration values from the OS's environment variables.
@@ -422,6 +428,10 @@ func NewEnvConfig() (EnvConfig, error) {
cfg.AuthSchemePreference = toAuthSchemePreferenceList(os.Getenv(awsAuthSchemePreferenceEnv))
if err := setRestrictFilePermissionsFromEnvVal(&cfg.RestrictFilePermissions, []string{awsRestrictFilePermissionsEnv}); err != nil {
return cfg, err
}
return cfg, nil
}
@@ -930,3 +940,27 @@ func (c EnvConfig) getAuthSchemePreference() ([]string, bool) {
}
return nil, false
}
func (c EnvConfig) getRestrictFilePermissions(context.Context) (aws.RestrictFilePermissions, bool, error) {
return c.RestrictFilePermissions, len(c.RestrictFilePermissions) > 0, nil
}
func setRestrictFilePermissionsFromEnvVal(m *aws.RestrictFilePermissions, keys []string) error {
for _, k := range keys {
value := os.Getenv(k)
if len(value) == 0 {
continue
}
switch strings.ToLower(value) {
case "user_read_write":
*m = aws.RestrictFilePermissionsUserReadWrite
case "unrestricted":
*m = aws.RestrictFilePermissionsUnrestricted
default:
return fmt.Errorf("invalid value for environment variable, %s=%s, must be user_read_write/unrestricted", k, value)
}
break
}
return nil
}

View File

@@ -3,4 +3,4 @@
package config
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.32.17"
const goModuleVersion = "1.32.20"

View File

@@ -240,6 +240,10 @@ type LoadOptions struct {
// 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)
// Controls whether the SDK restricts file permissions on credential
// cache files it creates.
RestrictFilePermissions aws.RestrictFilePermissions
}
func (o LoadOptions) getDefaultsMode(ctx context.Context) (aws.DefaultsMode, bool, error) {
@@ -1353,3 +1357,15 @@ func (o LoadOptions) getAuthSchemePreference() ([]string, bool) {
}
return nil, false
}
func (o LoadOptions) getRestrictFilePermissions(context.Context) (aws.RestrictFilePermissions, bool, error) {
return o.RestrictFilePermissions, len(o.RestrictFilePermissions) > 0, nil
}
// WithRestrictFilePermissions sets the RestrictFilePermissions mode on config.
func WithRestrictFilePermissions(m aws.RestrictFilePermissions) LoadOptionsFunc {
return func(o *LoadOptions) error {
o.RestrictFilePermissions = m
return nil
}
}

View File

@@ -784,3 +784,19 @@ func getServiceOptions(ctx context.Context, configs configs) (v []func(string, a
}
return v, found, err
}
type restrictFilePermissionsProvider interface {
getRestrictFilePermissions(context.Context) (aws.RestrictFilePermissions, bool, error)
}
func getRestrictFilePermissions(ctx context.Context, configs configs) (value aws.RestrictFilePermissions, found bool, err error) {
for _, cfg := range configs {
if p, ok := cfg.(restrictFilePermissionsProvider); ok {
value, found, err = p.getRestrictFilePermissions(ctx)
if err != nil || found {
break
}
}
}
return
}

View File

@@ -442,3 +442,17 @@ func resolveServiceOptions(ctx context.Context, cfg *aws.Config, configs configs
cfg.ServiceOptions = serviceOptions
return nil
}
func resolveRestrictFilePermissions(ctx context.Context, cfg *aws.Config, configs configs) error {
m, found, err := getRestrictFilePermissions(ctx, configs)
if err != nil {
return err
}
if !found {
m = aws.RestrictFilePermissionsUserReadWrite
}
cfg.RestrictFilePermissions = m
return nil
}

View File

@@ -640,6 +640,7 @@ func resolveLoginCredentials(ctx context.Context, cfg *aws.Config, sharedCfg *Sh
svc := signin.NewFromConfig(*cfg)
provider := logincreds.New(svc, tokenPath, func(o *logincreds.Options) {
o.CredentialSources = getCredentialSources(ctx)
o.RestrictPermissions = cfg.RestrictFilePermissions != aws.RestrictFilePermissionsUnrestricted
})
cfg.Credentials, err = wrapWithCredentialsCache(ctx, configs, provider)
if err != nil {

View File

@@ -1,3 +1,17 @@
# v1.19.19 (2026-05-29)
* **Dependency Update**: Update to smithy-go v1.26.0.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.19.18 (2026-05-28)
* **Bug Fix**: Create new login cache files with 0600 on Unix platforms.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.19.17 (2026-05-22)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.19.16 (2026-04-29)
* **Dependency Update**: Update to smithy-go v1.25.1.

View File

@@ -3,4 +3,4 @@
package credentials
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.19.16"
const goModuleVersion = "1.19.19"

View File

@@ -9,6 +9,6 @@ var openFile func(string) (io.ReadCloser, error) = func(name string) (io.ReadClo
return os.Open(name)
}
var createFile func(string) (io.WriteCloser, error) = func(name string) (io.WriteCloser, error) {
return os.Create(name)
var createFile func(string, os.FileMode) (io.WriteCloser, error) = func(name string, mode os.FileMode) (io.WriteCloser, error) {
return os.OpenFile(name, os.O_RDWR|os.O_CREATE|os.O_TRUNC, mode)
}

View File

@@ -42,6 +42,10 @@ type Options struct {
// The path to the cached login token.
CachedTokenFilepath string
// Whether to restrict file permissions on newly-written cache files.
// When true, files are created with 0600 on Unix.
RestrictPermissions bool
// The chain of providers that was used to create this provider.
//
// These values are for reporting purposes and are not meant to be set up
@@ -145,7 +149,15 @@ func (p *Provider) saveToken(token *loginToken) error {
return err
}
f, err := createFile(p.options.CachedTokenFilepath)
mode := os.FileMode(0666) // matches that used by os.Create
if p.options.RestrictPermissions {
mode = 0600
}
// createFile DOES NOT re-create the file with new permissions if it
// already exists, so in that scenario any existing permissions are
// preserved
f, err := createFile(p.options.CachedTokenFilepath, mode)
if err != nil {
return err
}

View File

@@ -1,3 +1,12 @@
# v1.18.25 (2026-05-29)
* **Dependency Update**: Update to smithy-go v1.26.0.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.18.24 (2026-05-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.18.23 (2026-04-29)
* **Dependency Update**: Update to smithy-go v1.25.1.

View File

@@ -3,4 +3,4 @@
package imds
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.18.23"
const goModuleVersion = "1.18.25"

View File

@@ -1,3 +1,12 @@
# v1.4.25 (2026-05-29)
* **Dependency Update**: Update to smithy-go v1.26.0.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.4.24 (2026-05-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.4.23 (2026-04-29)
* **Dependency Update**: Update to smithy-go v1.25.1.

View File

@@ -3,4 +3,4 @@
package configsources
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.4.23"
const goModuleVersion = "1.4.25"

View File

@@ -1,3 +1,12 @@
# v2.7.25 (2026-05-29)
* **Dependency Update**: Update to smithy-go v1.26.0.
* **Dependency Update**: Updated to the latest SDK module versions
# v2.7.24 (2026-05-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v2.7.23 (2026-04-29)
* **Dependency Update**: Update to smithy-go v1.25.1.

View File

@@ -3,4 +3,4 @@
package endpoints
// goModuleVersion is the tagged release for this module
const goModuleVersion = "2.7.23"
const goModuleVersion = "2.7.25"

View File

@@ -1,3 +1,12 @@
# v1.4.26 (2026-05-29)
* **Dependency Update**: Update to smithy-go v1.26.0.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.4.25 (2026-05-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.4.24 (2026-04-29)
* **Dependency Update**: Update to smithy-go v1.25.1.

View File

@@ -3,4 +3,4 @@
package v4a
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.4.24"
const goModuleVersion = "1.4.26"

View File

@@ -1,3 +1,12 @@
# v1.74.2 (2026-05-29)
* **Dependency Update**: Update to smithy-go v1.26.0.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.74.1 (2026-05-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.74.0 (2026-05-15)
* **Feature**: Updating the max limit for start query api parameter.

View File

@@ -184,7 +184,7 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option)
}
for _, scheme := range m.options.AuthSchemes {
if scheme.SchemeID() != option.SchemeID {
if !matchSchemeID(scheme.SchemeID(), option.SchemeID) {
continue
}
@@ -197,6 +197,16 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option)
return nil, false
}
func matchSchemeID(registered, option string) bool {
if registered == option {
return true
}
if i := strings.LastIndex(registered, "#"); i != -1 {
return registered[i+1:] == option
}
return false
}
func sortAuthOptions(options []*smithyauth.Option, preferred []string) []*smithyauth.Option {
byPriority := make([]*smithyauth.Option, 0, len(options))
for _, prefName := range preferred {

View File

@@ -229,6 +229,8 @@ func bindRegion(region string) (*string, error) {
return aws.String(endpoints.MapFIPSRegion(region)), nil
}
var _ = rulesfn.StringSlice(nil)
// EndpointParameters provides the parameters that influence how endpoints are
// resolved.
type EndpointParameters struct {
@@ -294,17 +296,6 @@ func (p EndpointParameters) WithDefaults() EndpointParameters {
return p
}
type stringSlice []string
func (s stringSlice) Get(i int) *string {
if i < 0 || i >= len(s) {
return nil
}
v := s[i]
return &v
}
// EndpointResolverV2 provides the interface for resolving service endpoints.
type EndpointResolverV2 interface {
// ResolveEndpoint attempts to resolve the endpoint with the provided options,

View File

@@ -3,4 +3,4 @@
package cloudwatchlogs
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.74.0"
const goModuleVersion = "1.74.2"

View File

@@ -1,3 +1,7 @@
# v1.13.10 (2026-05-29)
* **Dependency Update**: Update to smithy-go v1.26.0.
# v1.13.9 (2026-04-29)
* **Dependency Update**: Update to smithy-go v1.25.1.

View File

@@ -3,4 +3,4 @@
package acceptencoding
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.13.9"
const goModuleVersion = "1.13.10"

View File

@@ -1,3 +1,12 @@
# v1.13.25 (2026-05-29)
* **Dependency Update**: Update to smithy-go v1.26.0.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.13.24 (2026-05-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.13.23 (2026-04-29)
* **Dependency Update**: Update to smithy-go v1.25.1.

View File

@@ -3,4 +3,4 @@
package presignedurl
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.13.23"
const goModuleVersion = "1.13.25"

View File

@@ -1,3 +1,13 @@
# v1.1.1 (2026-05-29)
* **Dependency Update**: Update to smithy-go v1.26.0.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.1.0 (2026-05-28)
* **Feature**: Adding new BDD representation of endpoint ruleset
* **Dependency Update**: Updated to the latest SDK module versions
# v1.0.11 (2026-04-29)
* **Dependency Update**: Update to smithy-go v1.25.1.

View File

@@ -190,7 +190,7 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option)
}
for _, scheme := range m.options.AuthSchemes {
if scheme.SchemeID() != option.SchemeID {
if !matchSchemeID(scheme.SchemeID(), option.SchemeID) {
continue
}
@@ -203,6 +203,16 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option)
return nil, false
}
func matchSchemeID(registered, option string) bool {
if registered == option {
return true
}
if i := strings.LastIndex(registered, "#"); i != -1 {
return registered[i+1:] == option
}
return false
}
func sortAuthOptions(options []*smithyauth.Option, preferred []string) []*smithyauth.Option {
byPriority := make([]*smithyauth.Option, 0, len(options))
for _, prefName := range preferred {

View File

@@ -14,6 +14,7 @@ import (
internalendpoints "github.com/aws/aws-sdk-go-v2/service/signin/internal/endpoints"
smithyauth "github.com/aws/smithy-go/auth"
smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/endpoints/private/bdd"
"github.com/aws/smithy-go/endpoints/private/rulesfn"
"github.com/aws/smithy-go/middleware"
"github.com/aws/smithy-go/ptr"
@@ -229,6 +230,8 @@ func bindRegion(region string) (*string, error) {
return aws.String(endpoints.MapFIPSRegion(region)), nil
}
var _ = rulesfn.StringSlice(nil)
// EndpointParameters provides the parameters that influence how endpoints are
// resolved.
type EndpointParameters struct {
@@ -294,21 +297,193 @@ func (p EndpointParameters) WithDefaults() EndpointParameters {
return p
}
type stringSlice []string
const bddRoot int32 = 2
func (s stringSlice) Get(i int) *string {
if i < 0 || i >= len(s) {
return nil
var bddNodes = [48]int32{
-1, 1, -1, 0, 15, 3, 1, 4, 100000014, 2, 5, 100000014, 3, 11, 6, 4, 10, 7, 7, 100000004, 8, 8, 100000005, 9, 9, 100000006, 100000013, 5, 100000011, 100000012, 4, 13, 12, 6, 100000009, 100000010, 5, 14, 100000008, 6, 100000007, 100000008, 3, 100000001, 16, 4, 100000002, 100000003}
type conditionContext struct {
PartitionResult *awsrulesfn.PartitionConfig
}
func evalCondition(idx int, params *EndpointParameters, c *conditionContext) bool {
switch idx {
case 0:
return params.Endpoint != nil
case 1:
return params.Region != nil
case 2:
if v := awsrulesfn.GetPartition(*params.Region); v != nil {
c.PartitionResult = v
return true
}
return false
case 3:
return *params.UseFIPS == true
case 4:
return *params.UseDualStack == true
case 5:
return c.PartitionResult.SupportsDualStack == true
case 6:
return c.PartitionResult.SupportsFIPS == true
case 7:
return c.PartitionResult.Name == "aws"
case 8:
return c.PartitionResult.Name == "aws-cn"
case 9:
return c.PartitionResult.Name == "aws-us-gov"
}
return false
}
v := s[i]
return &v
func resolveResult(idx int32, params *EndpointParameters, c *conditionContext) (smithyendpoints.Endpoint, error) {
switch idx {
case 0:
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint resolution failed: no matching rule")
case 1:
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: FIPS and custom endpoint are not supported")
case 2:
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Dualstack and custom endpoint are not supported")
case 3:
uriString := *params.Endpoint
uri, err := url.Parse(uriString)
if err != nil {
return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
case 4:
uriString := func() string {
var out strings.Builder
out.WriteString("https://")
out.WriteString(*params.Region)
out.WriteString(".signin.aws.amazon.com")
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
case 5:
uriString := func() string {
var out strings.Builder
out.WriteString("https://")
out.WriteString(*params.Region)
out.WriteString(".signin.amazonaws.cn")
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
case 6:
uriString := func() string {
var out strings.Builder
out.WriteString("https://")
out.WriteString(*params.Region)
out.WriteString(".signin.amazonaws-us-gov.com")
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
case 7:
uriString := func() string {
var out strings.Builder
out.WriteString("https://signin-fips.")
out.WriteString(*params.Region)
out.WriteString(".")
out.WriteString(c.PartitionResult.DualStackDnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
case 8:
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "FIPS and DualStack are enabled, but this partition does not support one or both")
case 9:
uriString := func() string {
var out strings.Builder
out.WriteString("https://signin-fips.")
out.WriteString(*params.Region)
out.WriteString(".")
out.WriteString(c.PartitionResult.DnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
case 10:
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "FIPS is enabled but this partition does not support FIPS")
case 11:
uriString := func() string {
var out strings.Builder
out.WriteString("https://signin.")
out.WriteString(*params.Region)
out.WriteString(".")
out.WriteString(c.PartitionResult.DualStackDnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
case 12:
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "DualStack is enabled but this partition does not support DualStack")
case 13:
uriString := func() string {
var out strings.Builder
out.WriteString("https://signin.")
out.WriteString(*params.Region)
out.WriteString(".")
out.WriteString(c.PartitionResult.DnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
case 14:
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Missing Region")
}
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, invalid result index: %d", idx)
}
// EndpointResolverV2 provides the interface for resolving service endpoints.
type EndpointResolverV2 interface {
// ResolveEndpoint attempts to resolve the endpoint with the provided options,
// returning the endpoint if found. Otherwise an error is returned.
ResolveEndpoint(ctx context.Context, params EndpointParameters) (
smithyendpoints.Endpoint, error,
)
@@ -332,206 +507,12 @@ func (r *resolver) ResolveEndpoint(
if err = params.ValidateRequired(); err != nil {
return endpoint, fmt.Errorf("endpoint parameters are not valid, %w", err)
}
_UseDualStack := *params.UseDualStack
_ = _UseDualStack
_UseFIPS := *params.UseFIPS
_ = _UseFIPS
if exprVal := params.Endpoint; exprVal != nil {
_Endpoint := *exprVal
_ = _Endpoint
if _UseFIPS == true {
return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: FIPS and custom endpoint are not supported")
}
if _UseDualStack == true {
return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Dualstack and custom endpoint are not supported")
}
uriString := _Endpoint
uri, err := url.Parse(uriString)
if err != nil {
return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
}
if exprVal := params.Region; exprVal != nil {
_Region := *exprVal
_ = _Region
if exprVal := awsrulesfn.GetPartition(_Region); exprVal != nil {
_PartitionResult := *exprVal
_ = _PartitionResult
if _PartitionResult.Name == "aws" {
if _UseFIPS == false {
if _UseDualStack == false {
uriString := func() string {
var out strings.Builder
out.WriteString("https://")
out.WriteString(_Region)
out.WriteString(".signin.aws.amazon.com")
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
}
}
}
if _PartitionResult.Name == "aws-cn" {
if _UseFIPS == false {
if _UseDualStack == false {
uriString := func() string {
var out strings.Builder
out.WriteString("https://")
out.WriteString(_Region)
out.WriteString(".signin.amazonaws.cn")
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
}
}
}
if _PartitionResult.Name == "aws-us-gov" {
if _UseFIPS == false {
if _UseDualStack == false {
uriString := func() string {
var out strings.Builder
out.WriteString("https://")
out.WriteString(_Region)
out.WriteString(".signin.amazonaws-us-gov.com")
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
}
}
}
if _UseFIPS == true {
if _UseDualStack == true {
if true == _PartitionResult.SupportsFIPS {
if true == _PartitionResult.SupportsDualStack {
uriString := func() string {
var out strings.Builder
out.WriteString("https://signin-fips.")
out.WriteString(_Region)
out.WriteString(".")
out.WriteString(_PartitionResult.DualStackDnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
}
}
return endpoint, fmt.Errorf("endpoint rule error, %s", "FIPS and DualStack are enabled, but this partition does not support one or both")
}
}
if _UseFIPS == true {
if _UseDualStack == false {
if _PartitionResult.SupportsFIPS == true {
uriString := func() string {
var out strings.Builder
out.WriteString("https://signin-fips.")
out.WriteString(_Region)
out.WriteString(".")
out.WriteString(_PartitionResult.DnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
}
return endpoint, fmt.Errorf("endpoint rule error, %s", "FIPS is enabled but this partition does not support FIPS")
}
}
if _UseFIPS == false {
if _UseDualStack == true {
if true == _PartitionResult.SupportsDualStack {
uriString := func() string {
var out strings.Builder
out.WriteString("https://signin.")
out.WriteString(_Region)
out.WriteString(".")
out.WriteString(_PartitionResult.DualStackDnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
}
return endpoint, fmt.Errorf("endpoint rule error, %s", "DualStack is enabled but this partition does not support DualStack")
}
}
uriString := func() string {
var out strings.Builder
out.WriteString("https://signin.")
out.WriteString(_Region)
out.WriteString(".")
out.WriteString(_PartitionResult.DnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
}
return endpoint, fmt.Errorf("Endpoint resolution failed. Invalid operation or environment input.")
}
return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Missing Region")
c := &conditionContext{}
ref := bdd.Evaluate(bddNodes[:], bddRoot, func(idx int) bool {
return evalCondition(idx, &params, c)
})
return resolveResult(ref, &params, c)
}
type endpointParamsBinder interface {

View File

@@ -3,4 +3,4 @@
package signin
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.0.11"
const goModuleVersion = "1.1.1"

View File

@@ -1,3 +1,12 @@
# v1.30.19 (2026-05-29)
* **Dependency Update**: Update to smithy-go v1.26.0.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.30.18 (2026-05-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.30.17 (2026-04-29)
* **Dependency Update**: Update to smithy-go v1.25.1.

View File

@@ -208,7 +208,7 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option)
}
for _, scheme := range m.options.AuthSchemes {
if scheme.SchemeID() != option.SchemeID {
if !matchSchemeID(scheme.SchemeID(), option.SchemeID) {
continue
}
@@ -221,6 +221,16 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option)
return nil, false
}
func matchSchemeID(registered, option string) bool {
if registered == option {
return true
}
if i := strings.LastIndex(registered, "#"); i != -1 {
return registered[i+1:] == option
}
return false
}
func sortAuthOptions(options []*smithyauth.Option, preferred []string) []*smithyauth.Option {
byPriority := make([]*smithyauth.Option, 0, len(options))
for _, prefName := range preferred {

View File

@@ -229,6 +229,8 @@ func bindRegion(region string) (*string, error) {
return aws.String(endpoints.MapFIPSRegion(region)), nil
}
var _ = rulesfn.StringSlice(nil)
// EndpointParameters provides the parameters that influence how endpoints are
// resolved.
type EndpointParameters struct {
@@ -294,17 +296,6 @@ func (p EndpointParameters) WithDefaults() EndpointParameters {
return p
}
type stringSlice []string
func (s stringSlice) Get(i int) *string {
if i < 0 || i >= len(s) {
return nil
}
v := s[i]
return &v
}
// EndpointResolverV2 provides the interface for resolving service endpoints.
type EndpointResolverV2 interface {
// ResolveEndpoint attempts to resolve the endpoint with the provided options,

View File

@@ -3,4 +3,4 @@
package sso
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.30.17"
const goModuleVersion = "1.30.19"

View File

@@ -1,3 +1,16 @@
# v1.36.2 (2026-05-29)
* **Dependency Update**: Update to smithy-go v1.26.0.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.36.1 (2026-05-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.36.0 (2026-05-22)
* **Feature**: Adding new BDD representation of endpoint ruleset
# v1.35.21 (2026-04-29)
* **Dependency Update**: Update to smithy-go v1.25.1.

View File

@@ -202,7 +202,7 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option)
}
for _, scheme := range m.options.AuthSchemes {
if scheme.SchemeID() != option.SchemeID {
if !matchSchemeID(scheme.SchemeID(), option.SchemeID) {
continue
}
@@ -215,6 +215,16 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option)
return nil, false
}
func matchSchemeID(registered, option string) bool {
if registered == option {
return true
}
if i := strings.LastIndex(registered, "#"); i != -1 {
return registered[i+1:] == option
}
return false
}
func sortAuthOptions(options []*smithyauth.Option, preferred []string) []*smithyauth.Option {
byPriority := make([]*smithyauth.Option, 0, len(options))
for _, prefName := range preferred {

View File

@@ -14,6 +14,7 @@ import (
internalendpoints "github.com/aws/aws-sdk-go-v2/service/ssooidc/internal/endpoints"
smithyauth "github.com/aws/smithy-go/auth"
smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/endpoints/private/bdd"
"github.com/aws/smithy-go/endpoints/private/rulesfn"
"github.com/aws/smithy-go/middleware"
"github.com/aws/smithy-go/ptr"
@@ -229,6 +230,8 @@ func bindRegion(region string) (*string, error) {
return aws.String(endpoints.MapFIPSRegion(region)), nil
}
var _ = rulesfn.StringSlice(nil)
// EndpointParameters provides the parameters that influence how endpoints are
// resolved.
type EndpointParameters struct {
@@ -294,21 +297,157 @@ func (p EndpointParameters) WithDefaults() EndpointParameters {
return p
}
type stringSlice []string
const bddRoot int32 = 2
func (s stringSlice) Get(i int) *string {
if i < 0 || i >= len(s) {
return nil
var bddNodes = [42]int32{
-1, 1, -1, 0, 13, 3, 1, 4, 100000012, 2, 5, 100000012, 3, 8, 6, 4, 7, 100000011, 5, 100000009, 100000010, 4, 11, 9, 6, 10, 100000008, 7, 100000006, 100000007, 5, 12, 100000005, 6, 100000004, 100000005, 3, 100000001, 14, 4, 100000002, 100000003}
type conditionContext struct {
PartitionResult *awsrulesfn.PartitionConfig
}
func evalCondition(idx int, params *EndpointParameters, c *conditionContext) bool {
switch idx {
case 0:
return params.Endpoint != nil
case 1:
return params.Region != nil
case 2:
if v := awsrulesfn.GetPartition(*params.Region); v != nil {
c.PartitionResult = v
return true
}
return false
case 3:
return *params.UseFIPS == true
case 4:
return *params.UseDualStack == true
case 5:
return c.PartitionResult.SupportsDualStack == true
case 6:
return c.PartitionResult.SupportsFIPS == true
case 7:
return c.PartitionResult.Name == "aws-us-gov"
}
return false
}
v := s[i]
return &v
func resolveResult(idx int32, params *EndpointParameters, c *conditionContext) (smithyendpoints.Endpoint, error) {
switch idx {
case 0:
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint resolution failed: no matching rule")
case 1:
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: FIPS and custom endpoint are not supported")
case 2:
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Dualstack and custom endpoint are not supported")
case 3:
uriString := *params.Endpoint
uri, err := url.Parse(uriString)
if err != nil {
return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
case 4:
uriString := func() string {
var out strings.Builder
out.WriteString("https://oidc-fips.")
out.WriteString(*params.Region)
out.WriteString(".")
out.WriteString(c.PartitionResult.DualStackDnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
case 5:
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "FIPS and DualStack are enabled, but this partition does not support one or both")
case 6:
uriString := func() string {
var out strings.Builder
out.WriteString("https://oidc.")
out.WriteString(*params.Region)
out.WriteString(".amazonaws.com")
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
case 7:
uriString := func() string {
var out strings.Builder
out.WriteString("https://oidc-fips.")
out.WriteString(*params.Region)
out.WriteString(".")
out.WriteString(c.PartitionResult.DnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
case 8:
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "FIPS is enabled but this partition does not support FIPS")
case 9:
uriString := func() string {
var out strings.Builder
out.WriteString("https://oidc.")
out.WriteString(*params.Region)
out.WriteString(".")
out.WriteString(c.PartitionResult.DualStackDnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
case 10:
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "DualStack is enabled but this partition does not support DualStack")
case 11:
uriString := func() string {
var out strings.Builder
out.WriteString("https://oidc.")
out.WriteString(*params.Region)
out.WriteString(".")
out.WriteString(c.PartitionResult.DnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return smithyendpoints.Endpoint{}, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
case 12:
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Missing Region")
}
return smithyendpoints.Endpoint{}, fmt.Errorf("endpoint rule error, invalid result index: %d", idx)
}
// EndpointResolverV2 provides the interface for resolving service endpoints.
type EndpointResolverV2 interface {
// ResolveEndpoint attempts to resolve the endpoint with the provided options,
// returning the endpoint if found. Otherwise an error is returned.
ResolveEndpoint(ctx context.Context, params EndpointParameters) (
smithyendpoints.Endpoint, error,
)
@@ -332,152 +471,12 @@ func (r *resolver) ResolveEndpoint(
if err = params.ValidateRequired(); err != nil {
return endpoint, fmt.Errorf("endpoint parameters are not valid, %w", err)
}
_UseDualStack := *params.UseDualStack
_ = _UseDualStack
_UseFIPS := *params.UseFIPS
_ = _UseFIPS
if exprVal := params.Endpoint; exprVal != nil {
_Endpoint := *exprVal
_ = _Endpoint
if _UseFIPS == true {
return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: FIPS and custom endpoint are not supported")
}
if _UseDualStack == true {
return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Dualstack and custom endpoint are not supported")
}
uriString := _Endpoint
uri, err := url.Parse(uriString)
if err != nil {
return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
}
if exprVal := params.Region; exprVal != nil {
_Region := *exprVal
_ = _Region
if exprVal := awsrulesfn.GetPartition(_Region); exprVal != nil {
_PartitionResult := *exprVal
_ = _PartitionResult
if _UseFIPS == true {
if _UseDualStack == true {
if true == _PartitionResult.SupportsFIPS {
if true == _PartitionResult.SupportsDualStack {
uriString := func() string {
var out strings.Builder
out.WriteString("https://oidc-fips.")
out.WriteString(_Region)
out.WriteString(".")
out.WriteString(_PartitionResult.DualStackDnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
}
}
return endpoint, fmt.Errorf("endpoint rule error, %s", "FIPS and DualStack are enabled, but this partition does not support one or both")
}
}
if _UseFIPS == true {
if _PartitionResult.SupportsFIPS == true {
if _PartitionResult.Name == "aws-us-gov" {
uriString := func() string {
var out strings.Builder
out.WriteString("https://oidc.")
out.WriteString(_Region)
out.WriteString(".amazonaws.com")
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
}
uriString := func() string {
var out strings.Builder
out.WriteString("https://oidc-fips.")
out.WriteString(_Region)
out.WriteString(".")
out.WriteString(_PartitionResult.DnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
}
return endpoint, fmt.Errorf("endpoint rule error, %s", "FIPS is enabled but this partition does not support FIPS")
}
if _UseDualStack == true {
if true == _PartitionResult.SupportsDualStack {
uriString := func() string {
var out strings.Builder
out.WriteString("https://oidc.")
out.WriteString(_Region)
out.WriteString(".")
out.WriteString(_PartitionResult.DualStackDnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
}
return endpoint, fmt.Errorf("endpoint rule error, %s", "DualStack is enabled but this partition does not support DualStack")
}
uriString := func() string {
var out strings.Builder
out.WriteString("https://oidc.")
out.WriteString(_Region)
out.WriteString(".")
out.WriteString(_PartitionResult.DnsSuffix)
return out.String()
}()
uri, err := url.Parse(uriString)
if err != nil {
return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
}
return smithyendpoints.Endpoint{
URI: *uri,
Headers: http.Header{},
}, nil
}
return endpoint, fmt.Errorf("Endpoint resolution failed. Invalid operation or environment input.")
}
return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Missing Region")
c := &conditionContext{}
ref := bdd.Evaluate(bddNodes[:], bddRoot, func(idx int) bool {
return evalCondition(idx, &params, c)
})
return resolveResult(ref, &params, c)
}
type endpointParamsBinder interface {

View File

@@ -3,4 +3,4 @@
package ssooidc
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.35.21"
const goModuleVersion = "1.36.2"

View File

@@ -1,3 +1,12 @@
# v1.42.3 (2026-05-29)
* **Dependency Update**: Update to smithy-go v1.26.0.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.42.2 (2026-05-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.42.1 (2026-04-29)
* **Dependency Update**: Update to smithy-go v1.25.1.

View File

@@ -206,7 +206,7 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option)
}
for _, scheme := range m.options.AuthSchemes {
if scheme.SchemeID() != option.SchemeID {
if !matchSchemeID(scheme.SchemeID(), option.SchemeID) {
continue
}
@@ -219,6 +219,16 @@ func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option)
return nil, false
}
func matchSchemeID(registered, option string) bool {
if registered == option {
return true
}
if i := strings.LastIndex(registered, "#"); i != -1 {
return registered[i+1:] == option
}
return false
}
func sortAuthOptions(options []*smithyauth.Option, preferred []string) []*smithyauth.Option {
byPriority := make([]*smithyauth.Option, 0, len(options))
for _, prefName := range preferred {

View File

@@ -230,6 +230,8 @@ func bindRegion(region string) (*string, error) {
return aws.String(endpoints.MapFIPSRegion(region)), nil
}
var _ = rulesfn.StringSlice(nil)
// EndpointParameters provides the parameters that influence how endpoints are
// resolved.
type EndpointParameters struct {
@@ -312,17 +314,6 @@ func (p EndpointParameters) WithDefaults() EndpointParameters {
return p
}
type stringSlice []string
func (s stringSlice) Get(i int) *string {
if i < 0 || i >= len(s) {
return nil
}
v := s[i]
return &v
}
// EndpointResolverV2 provides the interface for resolving service endpoints.
type EndpointResolverV2 interface {
// ResolveEndpoint attempts to resolve the endpoint with the provided options,
@@ -382,7 +373,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -412,7 +403,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -442,7 +433,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -472,7 +463,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -502,7 +493,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -532,7 +523,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -562,7 +553,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -592,7 +583,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -622,7 +613,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -652,7 +643,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -682,7 +673,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -712,7 +703,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -742,7 +733,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -772,7 +763,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -802,7 +793,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -832,7 +823,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -868,7 +859,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")
@@ -1022,7 +1013,7 @@ func (r *resolver) ResolveEndpoint(
var out smithy.Properties
smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
{
SchemeID: "aws.auth#sigv4",
SchemeID: "sigv4",
SignerProperties: func() smithy.Properties {
var sp smithy.Properties
smithyhttp.SetSigV4SigningName(&sp, "sts")

View File

@@ -3,4 +3,4 @@
package sts
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.42.1"
const goModuleVersion = "1.42.3"

View File

@@ -1,3 +1,12 @@
# Release (2026-05-27)
## General Highlights
* **Dependency Update**: Updated to the latest SDK module versions
## Module Highlights
* `github.com/aws/smithy-go`: v1.26.0
* **Feature**: Add StringSlice to endpoint rulesfn.
# Release (2026-04-23)
## General Highlights

View File

@@ -0,0 +1,35 @@
package bdd
const resultOffset int32 = 100_000_000
const intsPerNode = 3
// Evaluate traverses a compiled BDD node array and returns the result index.
// nodes is a flat array of [condIdx, hi, lo] triples (1-indexed).
// root is the root node reference. evalCond returns true/false for condition index.
func Evaluate(nodes []int32, root int32, evalCond func(int) bool) int32 {
ref := root
for {
if ref >= resultOffset {
return ref - resultOffset
}
if ref == 1 || ref == -1 {
return 0 // NoMatchRule
}
complement := ref < 0
nodeIdx := ref
if complement {
nodeIdx = -ref
}
base := (nodeIdx - 1) * intsPerNode
condIdx := nodes[base]
hi := nodes[base+1]
lo := nodes[base+2]
if complement != evalCond(int(condIdx)) {
ref = hi
} else {
ref = lo
}
}
}

View File

@@ -0,0 +1,18 @@
package rulesfn
// StringSlice is a string slice with a negative-index-aware Get method for use
// in endpoint rule evaluation.
type StringSlice []string
// Get returns a pointer to the string at index i, or nil if the index is out
// of bounds. Negative indices count from the end of the slice.
func (s StringSlice) Get(i int) *string {
if i < 0 {
i = len(s) + i
}
if i < 0 || i >= len(s) {
return nil
}
v := s[i]
return &v
}

View File

@@ -3,4 +3,4 @@
package smithy
// goModuleVersion is the tagged release for this module
const goModuleVersion = "1.25.1"
const goModuleVersion = "1.26.0"

33
vendor/modules.txt vendored
View File

@@ -188,7 +188,7 @@ github.com/armon/go-metrics
# github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2
## explicit; go 1.13
github.com/asaskevich/govalidator
# github.com/aws/aws-sdk-go-v2 v1.41.7
# github.com/aws/aws-sdk-go-v2 v1.41.9
## explicit; go 1.24
github.com/aws/aws-sdk-go-v2/aws
github.com/aws/aws-sdk-go-v2/aws/defaults
@@ -213,15 +213,15 @@ 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/aws/protocol/eventstream v1.7.10
# github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.11
## explicit; go 1.24
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi
# github.com/aws/aws-sdk-go-v2/config v1.32.17
# github.com/aws/aws-sdk-go-v2/config v1.32.20
## explicit; go 1.24
github.com/aws/aws-sdk-go-v2/config
github.com/aws/aws-sdk-go-v2/config/internal/ini
# github.com/aws/aws-sdk-go-v2/credentials v1.19.16
# github.com/aws/aws-sdk-go-v2/credentials v1.19.19
## explicit; go 1.24
github.com/aws/aws-sdk-go-v2/credentials
github.com/aws/aws-sdk-go-v2/credentials/ec2rolecreds
@@ -231,53 +231,53 @@ github.com/aws/aws-sdk-go-v2/credentials/logincreds
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.18.23
# github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.25
## explicit; go 1.24
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.23
# github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.25
## explicit; go 1.24
github.com/aws/aws-sdk-go-v2/internal/configsources
# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.23
# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.25
## explicit; go 1.24
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2
# github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.24
# github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.26
## explicit; go 1.24
github.com/aws/aws-sdk-go-v2/internal/v4a
github.com/aws/aws-sdk-go-v2/internal/v4a/internal/crypto
github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4
# github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.74.0
# github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs v1.74.2
## explicit; go 1.24
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs/internal/endpoints
github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs/types
# github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.9
# github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.10
## explicit; go 1.24
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding
# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.23
# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.25
## explicit; go 1.24
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url
# github.com/aws/aws-sdk-go-v2/service/signin v1.0.11
# github.com/aws/aws-sdk-go-v2/service/signin v1.1.1
## explicit; go 1.24
github.com/aws/aws-sdk-go-v2/service/signin
github.com/aws/aws-sdk-go-v2/service/signin/internal/endpoints
github.com/aws/aws-sdk-go-v2/service/signin/types
# github.com/aws/aws-sdk-go-v2/service/sso v1.30.17
# github.com/aws/aws-sdk-go-v2/service/sso v1.30.19
## explicit; go 1.24
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.35.21
# github.com/aws/aws-sdk-go-v2/service/ssooidc v1.36.2
## explicit; go 1.24
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.42.1
# github.com/aws/aws-sdk-go-v2/service/sts v1.42.3
## explicit; go 1.24
github.com/aws/aws-sdk-go-v2/service/sts
github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints
github.com/aws/aws-sdk-go-v2/service/sts/types
# github.com/aws/smithy-go v1.25.1
# github.com/aws/smithy-go v1.26.0
## explicit; go 1.24
github.com/aws/smithy-go
github.com/aws/smithy-go/auth
@@ -289,6 +289,7 @@ github.com/aws/smithy-go/encoding/httpbinding
github.com/aws/smithy-go/encoding/json
github.com/aws/smithy-go/encoding/xml
github.com/aws/smithy-go/endpoints
github.com/aws/smithy-go/endpoints/private/bdd
github.com/aws/smithy-go/endpoints/private/rulesfn
github.com/aws/smithy-go/internal/sync/singleflight
github.com/aws/smithy-go/io