chore(deps): bump github.com/aws/aws-sdk-go-v2/feature/s3/manager (#2897)
Bumps [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) from 1.15.3 to 1.15.7. - [Release notes](https://github.com/aws/aws-sdk-go-v2/releases) - [Changelog](https://github.com/aws/aws-sdk-go-v2/blob/config/v1.15.7/CHANGELOG.md) - [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.15.3...config/v1.15.7) --- updated-dependencies: - dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This commit is contained in:
parent
ff6ee0f867
commit
60aa11e0a6
34
go.mod
34
go.mod
|
|
@ -11,9 +11,9 @@ require (
|
|||
// The version string is a side-effect of Go module version numbering rules. Functionality is otherwise unchanged.
|
||||
github.com/GoogleCloudPlatform/docker-credential-gcr v1.5.1-0.20230328182921-62afb2723512
|
||||
github.com/aws/aws-sdk-go-v2 v1.24.0
|
||||
github.com/aws/aws-sdk-go-v2/config v1.25.11
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.15.3
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.47.1
|
||||
github.com/aws/aws-sdk-go-v2/config v1.26.1
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.15.7
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.47.5
|
||||
github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20230522190001-adf1bafd791a
|
||||
github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589
|
||||
github.com/containerd/cgroups v1.1.0 // indirect
|
||||
|
|
@ -65,20 +65,20 @@ require (
|
|||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
||||
github.com/ProtonMail/go-crypto v0.0.0-20230828082145-3c4c8a2d2371 // indirect
|
||||
github.com/agext/levenshtein v1.2.3 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.3 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.16.9 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.9 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.8 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.8 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.1 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.3 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.8 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.7 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.18.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.26.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.4 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.16.12 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.10 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.9 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.9 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.9 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.9 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.9 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.9 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.18.5 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.5 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.26.5 // indirect
|
||||
github.com/aws/smithy-go v1.19.0 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||
|
|
|
|||
68
go.sum
68
go.sum
|
|
@ -107,54 +107,54 @@ github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPd
|
|||
github.com/aws/aws-sdk-go-v2 v1.18.0/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw=
|
||||
github.com/aws/aws-sdk-go-v2 v1.24.0 h1:890+mqQ+hTpNuw0gGP6/4akolQkSToDJgHfQE7AwGuk=
|
||||
github.com/aws/aws-sdk-go-v2 v1.24.0/go.mod h1:LNh45Br1YAkEKaAqvmE1m8FUx6a5b/V0oAKV7of29b4=
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.3 h1:Zx9+31KyB8wQna6SXFWOewlgoY5uGdDAu6PTOEU3OQI=
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.3/go.mod h1:zxbEJhRdKTH1nqS2qu6UJ7zGe25xaHxZXaC2CvuQFnA=
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.4 h1:OCs21ST2LrepDfD3lwlQiOqIGp6JiEUqG84GzTDoyJs=
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.4/go.mod h1:usURWEKSNNAcAZuzRn/9ZYPT8aZQkR7xcCtunK/LkJo=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.18.22/go.mod h1:mN7Li1wxaPxSSy4Xkr6stFuinJGf3VZW3ZSNvO0q6sI=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.25.11 h1:RWzp7jhPRliIcACefGkKp03L0Yofmd2p8M25kbiyvno=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.25.11/go.mod h1:BVUs0chMdygHsQtvaMyEOpW2GIW+ubrxJLgIz/JU29s=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.26.1 h1:z6DqMxclFGL3Zfo+4Q0rLnAZ6yVkzCRxhRMsiRQnD1o=
|
||||
github.com/aws/aws-sdk-go-v2/config v1.26.1/go.mod h1:ZB+CuKHRbb5v5F0oJtGdhFTelmrxd4iWO1lf0rQwSAg=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.13.21/go.mod h1:90Dk1lJoMyspa/EDUrldTxsPns0wn6+KpRKpdAWc0uA=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.16.9 h1:LQo3MUIOzod9JdUK+wxmSdgzLVYUbII3jXn3S/HJZU0=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.16.9/go.mod h1:R7mDuIJoCjH6TxGUc/cylE7Lp/o0bhKVoxdBThsjqCM=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.16.12 h1:v/WgB8NxprNvr5inKIiVVrXPuuTegM+K8nncFkr1usU=
|
||||
github.com/aws/aws-sdk-go-v2/credentials v1.16.12/go.mod h1:X21k0FjEJe+/pauud82HYiQbEr9jRKY3kXEIQ4hXeTQ=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.3/go.mod h1:4Q0UFP0YJf0NrsEuEYHpM9fTSEVnD16Z3uyEF7J9JGM=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.9 h1:FZVFahMyZle6WcogZCOxo6D/lkDA2lqKIn4/ueUmVXw=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.9/go.mod h1:kjq7REMIkxdtcEC9/4BVXjOsNY5isz6jQbEgk6osRTU=
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.15.3 h1:0Pw2ku539I0EugduMpJ+579WRc+38nv8rZhThWjsuYQ=
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.15.3/go.mod h1:vQtGu6huTQkoEhNgkDeijtYm9Y8HgpQqvGeKUPoEunY=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.10 h1:w98BT5w+ao1/r5sUuiH6JkVzjowOKeOJRHERyy1vh58=
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.10/go.mod h1:K2WGI7vUvkIv1HoNbfBA1bvIZ+9kL3YVmWxeKuLQsiw=
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.15.7 h1:FnLf60PtjXp8ZOzQfhJVsqF0OtYKQZWQfqOLshh8YXg=
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.15.7/go.mod h1:tDVvl8hyU6E9B8TrnNrZQEVkQlB8hjJwcgpPhgtlnNg=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.33/go.mod h1:7i0PF1ME/2eUPFcjkVIwq+DOygHEoK92t5cDqNgYbIw=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.8 h1:8GVZIR0y6JRIUNSYI1xAMF4HDfV8H/bOsZ/8AD/uY5Q=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.8/go.mod h1:rwBfu0SoUkBUZndVgPZKAD9Y2JigaZtRP68unRiYToQ=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.9 h1:v+HbZaCGmOwnTTVS86Fleq0vPzOd7tnJGbFhP0stNLs=
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.9/go.mod h1:Xjqy+Nyj7VDLBtCMkQYOw1QYfAEZCVLrfI0ezve8wd4=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.27/go.mod h1:UrHnn3QV/d0pBZ6QBAEQcqFLf8FAzLmoUfPVIueOvoM=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.8 h1:ZE2ds/qeBkhk3yqYvS3CDCFNvd9ir5hMjlVStLZWrvM=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.8/go.mod h1:/lAPPymDYL023+TS6DJmjuL42nxix2AvEvfjqOBRODk=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.9 h1:N94sVhRACtXyVcjXxrwK1SKFIJrA9pOJ5yu2eSHnmls=
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.9/go.mod h1:hqamLz7g1/4EJP+GH5NBhcUMLjW+gKLQabgyz6/7WAU=
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.3.34/go.mod h1:Etz2dj6UHYuw+Xw830KfzCfWGMzqvUTCjUj5b76GVDc=
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.1 h1:uR9lXYjdPX0xY+NhvaJ4dD8rpSRz5VY81ccIIoNG+lw=
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.1/go.mod h1:6fQQgfuGmw8Al/3M2IgIllycxV7ZW7WCdVSqfBeUiCY=
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.7 h1:3VaUNB1LclLomv82VnP5QnxAfowG+Ro4m82+af9wjZ4=
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.7/go.mod h1:D5i0c+qvEY0LV5F4elFZd+mYnvHQbufCLHNHoBfQR2g=
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2 h1:GrSw8s0Gs/5zZ0SX+gX4zQjRnRsMJDJ2sLur1gRBhEM=
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2/go.mod h1:6fQQgfuGmw8Al/3M2IgIllycxV7ZW7WCdVSqfBeUiCY=
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.9 h1:ugD6qzjYtB7zM5PN/ZIeaAIyefPaD82G8+SJopgvUpw=
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.9/go.mod h1:YD0aYBWCrPENpHolhKw2XDlTIWae2GKXT1T4o6N6hiM=
|
||||
github.com/aws/aws-sdk-go-v2/service/ecr v1.18.10 h1:3s6Jg0xx6U/wDVgZy8exuZoGlsL/6tYcItAaXg9vMSA=
|
||||
github.com/aws/aws-sdk-go-v2/service/ecr v1.18.10/go.mod h1:Ce1q2jlNm8BVpjLaOnwnm5v2RClAbK6txwPljFzyW6c=
|
||||
github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.16.1 h1:iqooVPD/xAM5SCTbrFsBeuiQ2o0D9wdqlHcUBTDxJPA=
|
||||
github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.16.1/go.mod h1:uHtRE7aqXNmpeYL+7Ec7LacH5zC9+w2T5MBOeEKDdu0=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.3 h1:e3PCNeEaev/ZF01cQyNZgmYE9oYYePIMJs2mWSKG514=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.3/go.mod h1:gIeeNyaL8tIEqZrzAnTeyhHcE0yysCtcaP+N9kxLZ+E=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.7 h1:Mft1tmIK1fkFS9l9sYVYiN+OdgXeOcQ9ZS3SxKOh3A4=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.7/go.mod h1:QWI83fhocxDaN3b74N8rrvET60CBaike5lQ+5sm3OcE=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 h1:/b31bi3YVNlkzkBrm9LfpaKoaYZUxIAj4sHfOTmLfqw=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4/go.mod h1:2aGXHFmbInwgP9ZfpmdIfOELL79zhdNYNmReK8qDfdQ=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.9 h1:/90OR2XbSYfXucBMJ4U14wrjlfleq/0SB6dZDPncgmo=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.9/go.mod h1:dN/Of9/fNZet7UrQQ6kTDo/VSwKPIq94vjlU16bRARc=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.27/go.mod h1:EOwBD4J4S5qYszS5/3DpkejfuK+Z5/1uzICfPaZLtqw=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.8 h1:EamsKe+ZjkOQjDdHd86/JCEucjFKQ9T0atWKO4s2Lgs=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.8/go.mod h1:Q0vV3/csTpbkfKLI5Sb56cJQTCTtJ0ixdb7P+Wedqiw=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.7 h1:ybtGXm0qFVFi0hFUF7eFAVnL3ntl9MO7lrxhhGP7KYU=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.7/go.mod h1:BUyWJUKAnNqoEq1LfyQxy+Eh4U8Y3c5w2C6m21f3yvI=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.47.1 h1:0/W5F+LlXzKZ7KTsRcD8pugasVnsrjUWmhOsN/LdSFY=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.47.1/go.mod h1:TqThLn4bRCn/UYf960hNZgPPjmxc17fQcwmjfuG6D5k=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.9 h1:Nf2sHxjMJR8CSImIVCONRi4g0Su3J+TSTbS7G0pUeMU=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.9/go.mod h1:idky4TER38YIjr2cADF1/ugFMKvZV7p//pVeV5LZbF0=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.9 h1:iEAeF6YC3l4FzlJPP9H3Ko1TXpdjdqWffxXjp8SY6uk=
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.9/go.mod h1:kjsXoK23q9Z/tLBrckZLLyvjhZoS+AGrzqzUfEClvMM=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.47.5 h1:Keso8lIOS+IzI2MkPZyK6G0LYcK3My2LQ+T5bxghEAY=
|
||||
github.com/aws/aws-sdk-go-v2/service/s3 v1.47.5/go.mod h1:vADO6Jn+Rq4nDtfwNjhgR84qkZwiC6FqCaXdw/kYwjA=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.12.9/go.mod h1:ouy2P4z6sJN70fR3ka3wD3Ro3KezSxU6eKGQI2+2fjI=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.18.2 h1:xJPydhNm0Hiqct5TVKEuHG7weC0+sOs4MUnd7A5n5F4=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.18.2/go.mod h1:zxk6y1X2KXThESWMS5CrKRvISD8mbIMab6nZrCGxDG0=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.18.5 h1:ldSFWz9tEHAwHNmjx2Cvy1MjP5/L9kNoR0skc6wyOOM=
|
||||
github.com/aws/aws-sdk-go-v2/service/sso v1.18.5/go.mod h1:CaFfXLYL376jgbP7VKC96uFcU8Rlavak0UlAwk1Dlhc=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.9/go.mod h1:AFvkxc8xfBe8XA+5St5XIHHrQQtkxqrRincx4hmMHOk=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.2 h1:8dU9zqA77C5egbU6yd4hFLaiIdPv3rU+6cp7sz5FjCU=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.2/go.mod h1:7Lt5mjQ8x5rVdKqg+sKKDeuwoszDJIIPmkd8BVsEdS0=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.5 h1:2k9KmFawS63euAkY4/ixVNsYYwrwnd5fIvgEKkfZFNM=
|
||||
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.5/go.mod h1:W+nd4wWDVkSUIox9bacmkBP5NMFQeTJ/xqNabpzSR38=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.18.10/go.mod h1:BgQOMsg8av8jset59jelyPW7NoZcZXLVpDsXunGDrk8=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.26.2 h1:fFrLsy08wEbAisqW3KDl/cPHrF43GmV79zXB9EwJiZw=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.26.2/go.mod h1:7Ld9eTqocTvJqqJ5K/orbSDwmGcpRdlDiLjz2DO+SL8=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.26.5 h1:5UYvv8JUvllZsRnfrcMQ+hJ9jNICmcgKPAO1CER25Wg=
|
||||
github.com/aws/aws-sdk-go-v2/service/sts v1.26.5/go.mod h1:XX5gh4CB7wAs4KhcF46G6C8a2i7eupU19dcAAE+EydU=
|
||||
github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA=
|
||||
github.com/aws/smithy-go v1.19.0 h1:KWFKQV80DpP3vJrrA9sVAHQ5gc2z8i4EzrLhLlWXcBM=
|
||||
github.com/aws/smithy-go v1.19.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE=
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
# v1.5.4 (2023-12-07)
|
||||
|
||||
* No change notes available for this release.
|
||||
|
||||
# v1.5.3 (2023-11-30)
|
||||
|
||||
* No change notes available for this release.
|
||||
|
|
|
|||
2
vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/go_module_metadata.go
generated
vendored
|
|
@ -3,4 +3,4 @@
|
|||
package eventstream
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.5.3"
|
||||
const goModuleVersion = "1.5.4"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,17 @@
|
|||
# v1.26.1 (2023-12-08)
|
||||
|
||||
* **Bug Fix**: Correct loading of [services *] sections into shared config.
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.26.0 (2023-12-07)
|
||||
|
||||
* **Feature**: Support modeled request compression. The only algorithm supported at this time is `gzip`.
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.25.12 (2023-12-06)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.25.11 (2023-12-01)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
|
|
|||
|
|
@ -70,10 +70,16 @@ var defaultAWSConfigResolvers = []awsConfigResolver{
|
|||
// httpBearerAuth authentication scheme.
|
||||
resolveBearerAuthToken,
|
||||
|
||||
// Sets the sdk app ID if present in shared config profile
|
||||
// Sets the sdk app ID if present in env var or shared config profile
|
||||
resolveAppID,
|
||||
|
||||
resolveBaseEndpoint,
|
||||
|
||||
// Sets the DisableRequestCompression if present in env var or shared config profile
|
||||
resolveDisableRequestCompression,
|
||||
|
||||
// Sets the RequestMinCompressSizeBytes if present in env var or shared config profile
|
||||
resolveRequestMinCompressSizeBytes,
|
||||
}
|
||||
|
||||
// A Config represents a generic configuration value or set of values. This type
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ import (
|
|||
|
||||
"github.com/aws/aws-sdk-go-v2/aws"
|
||||
"github.com/aws/aws-sdk-go-v2/feature/ec2/imds"
|
||||
smithyrequestcompression "github.com/aws/smithy-go/private/requestcompression"
|
||||
)
|
||||
|
||||
// CredentialsSourceName provides a name of the provider when config is
|
||||
|
|
@ -75,6 +76,9 @@ const (
|
|||
awsIgnoreConfiguredEndpoints = "AWS_IGNORE_CONFIGURED_ENDPOINT_URLS"
|
||||
awsEndpointURL = "AWS_ENDPOINT_URL"
|
||||
|
||||
awsDisableRequestCompression = "AWS_DISABLE_REQUEST_COMPRESSION"
|
||||
awsRequestMinCompressionSizeBytes = "AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTES"
|
||||
|
||||
awsS3DisableExpressSessionAuthEnv = "AWS_S3_DISABLE_EXPRESS_SESSION_AUTH"
|
||||
)
|
||||
|
||||
|
|
@ -271,6 +275,15 @@ type EnvConfig struct {
|
|||
// corresponding endpoint resolution field.
|
||||
BaseEndpoint string
|
||||
|
||||
// determine if request compression is allowed, default to false
|
||||
// retrieved from env var AWS_DISABLE_REQUEST_COMPRESSION
|
||||
DisableRequestCompression *bool
|
||||
|
||||
// inclusive threshold request body size to trigger compression,
|
||||
// default to 10240 and must be within 0 and 10485760 bytes inclusive
|
||||
// retrieved from env var AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTES
|
||||
RequestMinCompressSizeBytes *int64
|
||||
|
||||
// Whether S3Express auth is disabled.
|
||||
//
|
||||
// This will NOT prevent requests from being made to S3Express buckets, it
|
||||
|
|
@ -319,6 +332,13 @@ func NewEnvConfig() (EnvConfig, error) {
|
|||
|
||||
cfg.AppID = os.Getenv(awsSdkAppID)
|
||||
|
||||
if err := setBoolPtrFromEnvVal(&cfg.DisableRequestCompression, []string{awsDisableRequestCompression}); err != nil {
|
||||
return cfg, err
|
||||
}
|
||||
if err := setInt64PtrFromEnvVal(&cfg.RequestMinCompressSizeBytes, []string{awsRequestMinCompressionSizeBytes}, smithyrequestcompression.MaxRequestMinCompressSizeBytes); err != nil {
|
||||
return cfg, err
|
||||
}
|
||||
|
||||
if err := setEndpointDiscoveryTypeFromEnvVal(&cfg.EnableEndpointDiscovery, []string{awsEnableEndpointDiscoveryEnvVar}); err != nil {
|
||||
return cfg, err
|
||||
}
|
||||
|
|
@ -383,6 +403,20 @@ func (c EnvConfig) getAppID(context.Context) (string, bool, error) {
|
|||
return c.AppID, len(c.AppID) > 0, nil
|
||||
}
|
||||
|
||||
func (c EnvConfig) getDisableRequestCompression(context.Context) (bool, bool, error) {
|
||||
if c.DisableRequestCompression == nil {
|
||||
return false, false, nil
|
||||
}
|
||||
return *c.DisableRequestCompression, true, nil
|
||||
}
|
||||
|
||||
func (c EnvConfig) getRequestMinCompressSizeBytes(context.Context) (int64, bool, error) {
|
||||
if c.RequestMinCompressSizeBytes == nil {
|
||||
return 0, false, nil
|
||||
}
|
||||
return *c.RequestMinCompressSizeBytes, true, nil
|
||||
}
|
||||
|
||||
// GetRetryMaxAttempts returns the value of AWS_MAX_ATTEMPTS if was specified,
|
||||
// and not 0.
|
||||
func (c EnvConfig) GetRetryMaxAttempts(ctx context.Context) (int, bool, error) {
|
||||
|
|
@ -639,6 +673,30 @@ func setBoolPtrFromEnvVal(dst **bool, keys []string) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
func setInt64PtrFromEnvVal(dst **int64, keys []string, max int64) error {
|
||||
for _, k := range keys {
|
||||
value := os.Getenv(k)
|
||||
if len(value) == 0 {
|
||||
continue
|
||||
}
|
||||
|
||||
v, err := strconv.ParseInt(value, 10, 64)
|
||||
if err != nil {
|
||||
return fmt.Errorf("invalid value for env var, %s=%s, need int64", k, value)
|
||||
} else if v < 0 || v > max {
|
||||
return fmt.Errorf("invalid range for env var min request compression size bytes %q, must be within 0 and 10485760 inclusively", v)
|
||||
}
|
||||
if *dst == nil {
|
||||
*dst = new(int64)
|
||||
}
|
||||
|
||||
**dst = v
|
||||
break
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func setEndpointDiscoveryTypeFromEnvVal(dst *aws.EndpointDiscoveryEnableState, keys []string) error {
|
||||
for _, k := range keys {
|
||||
value := os.Getenv(k)
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
package config
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.25.11"
|
||||
const goModuleVersion = "1.26.1"
|
||||
|
|
|
|||
|
|
@ -207,6 +207,12 @@ type LoadOptions struct {
|
|||
// The sdk app ID retrieved from env var or shared config to be added to request user agent header
|
||||
AppID string
|
||||
|
||||
// Specifies whether an operation request could be compressed
|
||||
DisableRequestCompression *bool
|
||||
|
||||
// The inclusive min bytes of a request body that could be compressed
|
||||
RequestMinCompressSizeBytes *int64
|
||||
|
||||
// Whether S3 Express auth is disabled.
|
||||
S3DisableExpressAuth *bool
|
||||
}
|
||||
|
|
@ -256,6 +262,22 @@ func (o LoadOptions) getAppID(ctx context.Context) (string, bool, error) {
|
|||
return o.AppID, len(o.AppID) > 0, nil
|
||||
}
|
||||
|
||||
// getDisableRequestCompression returns DisableRequestCompression from config's LoadOptions
|
||||
func (o LoadOptions) getDisableRequestCompression(ctx context.Context) (bool, bool, error) {
|
||||
if o.DisableRequestCompression == nil {
|
||||
return false, false, nil
|
||||
}
|
||||
return *o.DisableRequestCompression, true, nil
|
||||
}
|
||||
|
||||
// getRequestMinCompressSizeBytes returns RequestMinCompressSizeBytes from config's LoadOptions
|
||||
func (o LoadOptions) getRequestMinCompressSizeBytes(ctx context.Context) (int64, bool, error) {
|
||||
if o.RequestMinCompressSizeBytes == nil {
|
||||
return 0, false, nil
|
||||
}
|
||||
return *o.RequestMinCompressSizeBytes, true, nil
|
||||
}
|
||||
|
||||
// WithRegion is a helper function to construct functional options
|
||||
// that sets Region on config's LoadOptions. Setting the region to
|
||||
// an empty string, will result in the region value being ignored.
|
||||
|
|
@ -277,6 +299,30 @@ func WithAppID(ID string) LoadOptionsFunc {
|
|||
}
|
||||
}
|
||||
|
||||
// WithDisableRequestCompression is a helper function to construct functional options
|
||||
// that sets DisableRequestCompression on config's LoadOptions.
|
||||
func WithDisableRequestCompression(DisableRequestCompression *bool) LoadOptionsFunc {
|
||||
return func(o *LoadOptions) error {
|
||||
if DisableRequestCompression == nil {
|
||||
return nil
|
||||
}
|
||||
o.DisableRequestCompression = DisableRequestCompression
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// WithRequestMinCompressSizeBytes is a helper function to construct functional options
|
||||
// that sets RequestMinCompressSizeBytes on config's LoadOptions.
|
||||
func WithRequestMinCompressSizeBytes(RequestMinCompressSizeBytes *int64) LoadOptionsFunc {
|
||||
return func(o *LoadOptions) error {
|
||||
if RequestMinCompressSizeBytes == nil {
|
||||
return nil
|
||||
}
|
||||
o.RequestMinCompressSizeBytes = RequestMinCompressSizeBytes
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
||||
// getDefaultRegion returns DefaultRegion from config's LoadOptions
|
||||
func (o LoadOptions) getDefaultRegion(ctx context.Context) (string, bool, error) {
|
||||
if len(o.DefaultRegion) == 0 {
|
||||
|
|
|
|||
|
|
@ -191,6 +191,40 @@ func getAppID(ctx context.Context, configs configs) (value string, found bool, e
|
|||
return
|
||||
}
|
||||
|
||||
// disableRequestCompressionProvider provides access to the DisableRequestCompression
|
||||
type disableRequestCompressionProvider interface {
|
||||
getDisableRequestCompression(context.Context) (bool, bool, error)
|
||||
}
|
||||
|
||||
func getDisableRequestCompression(ctx context.Context, configs configs) (value bool, found bool, err error) {
|
||||
for _, cfg := range configs {
|
||||
if p, ok := cfg.(disableRequestCompressionProvider); ok {
|
||||
value, found, err = p.getDisableRequestCompression(ctx)
|
||||
if err != nil || found {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// requestMinCompressSizeBytesProvider provides access to the MinCompressSizeBytes
|
||||
type requestMinCompressSizeBytesProvider interface {
|
||||
getRequestMinCompressSizeBytes(context.Context) (int64, bool, error)
|
||||
}
|
||||
|
||||
func getRequestMinCompressSizeBytes(ctx context.Context, configs configs) (value int64, found bool, err error) {
|
||||
for _, cfg := range configs {
|
||||
if p, ok := cfg.(requestMinCompressSizeBytesProvider); ok {
|
||||
value, found, err = p.getRequestMinCompressSizeBytes(ctx)
|
||||
if err != nil || found {
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
// ec2IMDSRegionProvider provides access to the ec2 imds region
|
||||
// configuration value
|
||||
type ec2IMDSRegionProvider interface {
|
||||
|
|
|
|||
|
|
@ -139,6 +139,33 @@ func resolveAppID(ctx context.Context, cfg *aws.Config, configs configs) error {
|
|||
return nil
|
||||
}
|
||||
|
||||
// resolveDisableRequestCompression extracts the DisableRequestCompression from the configs slice's
|
||||
// SharedConfig or EnvConfig
|
||||
func resolveDisableRequestCompression(ctx context.Context, cfg *aws.Config, configs configs) error {
|
||||
disable, _, err := getDisableRequestCompression(ctx, configs)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
cfg.DisableRequestCompression = disable
|
||||
return nil
|
||||
}
|
||||
|
||||
// resolveRequestMinCompressSizeBytes extracts the RequestMinCompressSizeBytes from the configs slice's
|
||||
// SharedConfig or EnvConfig
|
||||
func resolveRequestMinCompressSizeBytes(ctx context.Context, cfg *aws.Config, configs configs) error {
|
||||
minBytes, found, err := getRequestMinCompressSizeBytes(ctx, configs)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
// must set a default min size 10240 if not configured
|
||||
if !found {
|
||||
minBytes = 10240
|
||||
}
|
||||
cfg.RequestMinCompressSizeBytes = minBytes
|
||||
return nil
|
||||
}
|
||||
|
||||
// resolveDefaultRegion extracts the first instance of a default region and sets `aws.Config.Region` to the default
|
||||
// region if region had not been resolved from other sources.
|
||||
func resolveDefaultRegion(ctx context.Context, cfg *aws.Config, configs configs) error {
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ import (
|
|||
"github.com/aws/aws-sdk-go-v2/internal/ini"
|
||||
"github.com/aws/aws-sdk-go-v2/internal/shareddefaults"
|
||||
"github.com/aws/smithy-go/logging"
|
||||
smithyrequestcompression "github.com/aws/smithy-go/private/requestcompression"
|
||||
)
|
||||
|
||||
const (
|
||||
|
|
@ -30,7 +31,7 @@ const (
|
|||
|
||||
// Prefix for services section. It is referenced in profile via the services
|
||||
// parameter to configure clients for service-specific parameters.
|
||||
servicesPrefix = `services`
|
||||
servicesPrefix = `services `
|
||||
|
||||
// string equivalent for boolean
|
||||
endpointDiscoveryDisabled = `false`
|
||||
|
|
@ -108,6 +109,11 @@ const (
|
|||
|
||||
endpointURL = "endpoint_url"
|
||||
|
||||
servicesSectionKey = "services"
|
||||
|
||||
disableRequestCompression = "disable_request_compression"
|
||||
requestMinCompressionSizeBytes = "request_min_compression_size_bytes"
|
||||
|
||||
s3DisableExpressSessionAuthKey = "s3_disable_express_session_auth"
|
||||
)
|
||||
|
||||
|
|
@ -316,9 +322,19 @@ type SharedConfig struct {
|
|||
// corresponding endpoint resolution field.
|
||||
BaseEndpoint string
|
||||
|
||||
// Value to contain services section content.
|
||||
// Services section config.
|
||||
ServicesSectionName string
|
||||
Services Services
|
||||
|
||||
// determine if request compression is allowed, default to false
|
||||
// retrieved from config file's profile field disable_request_compression
|
||||
DisableRequestCompression *bool
|
||||
|
||||
// inclusive threshold request body size to trigger compression,
|
||||
// default to 10240 and must be within 0 and 10485760 bytes inclusive
|
||||
// retrieved from config file's profile field request_min_compression_size_bytes
|
||||
RequestMinCompressSizeBytes *int64
|
||||
|
||||
// Whether S3Express auth is disabled.
|
||||
//
|
||||
// This will NOT prevent requests from being made to S3Express buckets, it
|
||||
|
|
@ -994,16 +1010,13 @@ func (c *SharedConfig) setFromIniSections(profiles map[string]struct{}, profile
|
|||
c.SSOSession = &ssoSession
|
||||
}
|
||||
|
||||
for _, sectionName := range sections.List() {
|
||||
if strings.HasPrefix(sectionName, servicesPrefix) {
|
||||
section, ok := sections.GetSection(sectionName)
|
||||
if ok {
|
||||
if len(c.ServicesSectionName) > 0 {
|
||||
if section, ok := sections.GetSection(servicesPrefix + c.ServicesSectionName); ok {
|
||||
var svcs Services
|
||||
svcs.setFromIniSection(section)
|
||||
c.Services = svcs
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
@ -1104,6 +1117,13 @@ func (c *SharedConfig) setFromIniSection(profile string, section ini.Section) er
|
|||
|
||||
updateString(&c.BaseEndpoint, section, endpointURL)
|
||||
|
||||
if err := updateDisableRequestCompression(&c.DisableRequestCompression, section, disableRequestCompression); err != nil {
|
||||
return fmt.Errorf("failed to load %s from shared config, %w", disableRequestCompression, err)
|
||||
}
|
||||
if err := updateRequestMinCompressSizeBytes(&c.RequestMinCompressSizeBytes, section, requestMinCompressionSizeBytes); err != nil {
|
||||
return fmt.Errorf("failed to load %s from shared config, %w", requestMinCompressionSizeBytes, err)
|
||||
}
|
||||
|
||||
// Shared Credentials
|
||||
creds := aws.Credentials{
|
||||
AccessKeyID: section.String(accessKeyIDKey),
|
||||
|
|
@ -1116,9 +1136,61 @@ func (c *SharedConfig) setFromIniSection(profile string, section ini.Section) er
|
|||
c.Credentials = creds
|
||||
}
|
||||
|
||||
updateString(&c.ServicesSectionName, section, servicesSectionKey)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func updateRequestMinCompressSizeBytes(bytes **int64, sec ini.Section, key string) error {
|
||||
if !sec.Has(key) {
|
||||
return nil
|
||||
}
|
||||
|
||||
v, ok := sec.Int(key)
|
||||
if !ok {
|
||||
return fmt.Errorf("invalid value for min request compression size bytes %s, need int64", sec.String(key))
|
||||
}
|
||||
if v < 0 || v > smithyrequestcompression.MaxRequestMinCompressSizeBytes {
|
||||
return fmt.Errorf("invalid range for min request compression size bytes %d, must be within 0 and 10485760 inclusively", v)
|
||||
}
|
||||
*bytes = new(int64)
|
||||
**bytes = v
|
||||
return nil
|
||||
}
|
||||
|
||||
func updateDisableRequestCompression(disable **bool, sec ini.Section, key string) error {
|
||||
if !sec.Has(key) {
|
||||
return nil
|
||||
}
|
||||
|
||||
v := sec.String(key)
|
||||
switch {
|
||||
case v == "true":
|
||||
*disable = new(bool)
|
||||
**disable = true
|
||||
case v == "false":
|
||||
*disable = new(bool)
|
||||
**disable = false
|
||||
default:
|
||||
return fmt.Errorf("invalid value for shared config profile field, %s=%s, need true or false", key, v)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (c SharedConfig) getRequestMinCompressSizeBytes(ctx context.Context) (int64, bool, error) {
|
||||
if c.RequestMinCompressSizeBytes == nil {
|
||||
return 0, false, nil
|
||||
}
|
||||
return *c.RequestMinCompressSizeBytes, true, nil
|
||||
}
|
||||
|
||||
func (c SharedConfig) getDisableRequestCompression(ctx context.Context) (bool, bool, error) {
|
||||
if c.DisableRequestCompression == nil {
|
||||
return false, false, nil
|
||||
}
|
||||
return *c.DisableRequestCompression, true, nil
|
||||
}
|
||||
|
||||
func updateDefaultsMode(mode *aws.DefaultsMode, section ini.Section, key string) error {
|
||||
if !section.Has(key) {
|
||||
return nil
|
||||
|
|
|
|||
|
|
@ -1,3 +1,15 @@
|
|||
# v1.16.12 (2023-12-08)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.16.11 (2023-12-07)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.16.10 (2023-12-06)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.16.9 (2023-12-01)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
package credentials
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.16.9"
|
||||
const goModuleVersion = "1.16.12"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
# v1.14.10 (2023-12-07)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.14.9 (2023-12-01)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
package imds
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.14.9"
|
||||
const goModuleVersion = "1.14.10"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,19 @@
|
|||
# v1.15.7 (2023-12-08)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.15.6 (2023-12-07)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.15.5 (2023-12-06)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.15.4 (2023-12-01)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.15.3 (2023-11-30)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
package manager
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.15.3"
|
||||
const goModuleVersion = "1.15.7"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
# v1.2.9 (2023-12-07)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.2.8 (2023-12-01)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
|
|
|||
2
vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go
generated
vendored
|
|
@ -3,4 +3,4 @@
|
|||
package configsources
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.2.8"
|
||||
const goModuleVersion = "1.2.9"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
# v2.5.9 (2023-12-07)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v2.5.8 (2023-12-01)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
|
|
|||
2
vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go
generated
vendored
|
|
@ -3,4 +3,4 @@
|
|||
package endpoints
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "2.5.8"
|
||||
const goModuleVersion = "2.5.9"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
# v1.7.2 (2023-12-08)
|
||||
|
||||
* **Bug Fix**: Correct loading of [services *] sections into shared config.
|
||||
|
||||
# v1.7.1 (2023-11-16)
|
||||
|
||||
* **Bug Fix**: Fix recognition of trailing comments in shared config properties. # or ; separators that aren't preceded by whitespace at the end of a property value should be considered part of it.
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
package ini
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.7.1"
|
||||
const goModuleVersion = "1.7.2"
|
||||
|
|
|
|||
|
|
@ -54,18 +54,7 @@ func (v Value) String() string {
|
|||
|
||||
// MapValue returns a map value for sub properties
|
||||
func (v Value) MapValue() map[string]string {
|
||||
newlineParts := strings.Split(string(v.str), "\n")
|
||||
mp := make(map[string]string)
|
||||
for _, part := range newlineParts {
|
||||
operandParts := strings.Split(part, "=")
|
||||
if len(operandParts) < 2 {
|
||||
continue
|
||||
}
|
||||
key := strings.TrimSpace(operandParts[0])
|
||||
val := strings.TrimSpace(operandParts[1])
|
||||
mp[key] = val
|
||||
}
|
||||
return mp
|
||||
return v.mp
|
||||
}
|
||||
|
||||
// IntValue returns an integer value
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
# v1.2.9 (2023-12-07)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.2.8 (2023-12-01)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.2.7 (2023-11-30)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
package v4a
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.2.7"
|
||||
const goModuleVersion = "1.2.9"
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ func (v *CredentialsProviderAdapter) GetIdentity(ctx context.Context, _ smithy.P
|
|||
) {
|
||||
creds, err := v.Provider.RetrievePrivateKey(ctx)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("get credentials: %v", err)
|
||||
return nil, fmt.Errorf("get credentials: %w", err)
|
||||
}
|
||||
|
||||
return &CredentialsAdapter{Credentials: creds}, nil
|
||||
|
|
@ -79,7 +79,7 @@ func (v *SignerAdapter) SignRequest(ctx context.Context, r *smithyhttp.Request,
|
|||
o.LogSigning = v.LogSigning
|
||||
})
|
||||
if err != nil {
|
||||
return fmt.Errorf("sign http: %v", err)
|
||||
return fmt.Errorf("sign http: %w", err)
|
||||
}
|
||||
|
||||
return nil
|
||||
|
|
|
|||
4
vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md
generated
vendored
4
vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md
generated
vendored
|
|
@ -1,3 +1,7 @@
|
|||
# v1.10.4 (2023-12-07)
|
||||
|
||||
* No change notes available for this release.
|
||||
|
||||
# v1.10.3 (2023-11-30)
|
||||
|
||||
* No change notes available for this release.
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
package acceptencoding
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.10.3"
|
||||
const goModuleVersion = "1.10.4"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
# v1.2.9 (2023-12-07)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.2.8 (2023-12-01)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.2.7 (2023-11-30)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
|
|
|||
2
vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go
generated
vendored
|
|
@ -3,4 +3,4 @@
|
|||
package checksum
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.2.7"
|
||||
const goModuleVersion = "1.2.9"
|
||||
|
|
|
|||
4
vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md
generated
vendored
4
vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md
generated
vendored
|
|
@ -1,3 +1,7 @@
|
|||
# v1.10.9 (2023-12-07)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.10.8 (2023-12-01)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
package presignedurl
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.10.8"
|
||||
const goModuleVersion = "1.10.9"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,11 @@
|
|||
# v1.16.9 (2023-12-07)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.16.8 (2023-12-01)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.16.7 (2023-11-30)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
|
|
|||
2
vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go
generated
vendored
2
vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go
generated
vendored
|
|
@ -3,4 +3,4 @@
|
|||
package s3shared
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.16.7"
|
||||
const goModuleVersion = "1.16.9"
|
||||
|
|
|
|||
|
|
@ -1,3 +1,23 @@
|
|||
# v1.47.5 (2023-12-08)
|
||||
|
||||
* **Bug Fix**: Add non-vhostable buckets to request path when using legacy V1 endpoint resolver.
|
||||
* **Bug Fix**: Improve uniqueness of default S3Express sesssion credentials cache keying to prevent collision in multi-credential scenarios.
|
||||
* **Bug Fix**: Reinstate presence of default Retryer in functional options, but still respect max attempts set therein.
|
||||
|
||||
# v1.47.4 (2023-12-07)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.47.3 (2023-12-06)
|
||||
|
||||
* **Bug Fix**: Restore pre-refactor auth behavior where all operations could technically be performed anonymously.
|
||||
|
||||
# v1.47.2 (2023-12-01)
|
||||
|
||||
* **Bug Fix**: Correct wrapping of errors in authentication workflow.
|
||||
* **Bug Fix**: Correctly recognize cache-wrapped instances of AnonymousCredentials at client construction.
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.47.1 (2023-11-30)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
|
|
|||
|
|
@ -50,6 +50,8 @@ func New(options Options, optFns ...func(*Options)) *Client {
|
|||
|
||||
setResolvedDefaultsMode(&options)
|
||||
|
||||
resolveRetryer(&options)
|
||||
|
||||
resolveHTTPClient(&options)
|
||||
|
||||
resolveHTTPSignerV4(&options)
|
||||
|
|
@ -64,7 +66,7 @@ func New(options Options, optFns ...func(*Options)) *Client {
|
|||
fn(&options)
|
||||
}
|
||||
|
||||
resolveRetryer(&options)
|
||||
finalizeRetryMaxAttempts(&options)
|
||||
|
||||
resolveCredentialProvider(&options)
|
||||
|
||||
|
|
@ -105,12 +107,14 @@ func (c *Client) invokeOperation(ctx context.Context, opID string, params interf
|
|||
|
||||
setSafeEventStreamClientLogMode(&options, opID)
|
||||
|
||||
finalizeRetryMaxAttemptOptions(&options, *c)
|
||||
finalizeOperationRetryMaxAttempts(&options, *c)
|
||||
|
||||
finalizeClientEndpointResolverOptions(&options)
|
||||
|
||||
resolveCredentialProvider(&options)
|
||||
|
||||
finalizeOperationExpressCredentials(&options, *c)
|
||||
|
||||
finalizeOperationEndpointAuthResolver(&options)
|
||||
|
||||
for _, fn := range stackFns {
|
||||
|
|
@ -163,7 +167,7 @@ func (m *setOperationInputMiddleware) HandleSerialize(ctx context.Context, in mi
|
|||
|
||||
func addProtocolFinalizerMiddlewares(stack *middleware.Stack, options Options, operation string) error {
|
||||
if err := stack.Finalize.Add(&resolveAuthSchemeMiddleware{operation: operation, options: options}, middleware.Before); err != nil {
|
||||
return fmt.Errorf("add ResolveAuthScheme: %v", err)
|
||||
return fmt.Errorf("add ResolveAuthScheme: %w", err)
|
||||
}
|
||||
if err := stack.Finalize.Insert(&getIdentityMiddleware{options: options}, "ResolveAuthScheme", middleware.After); err != nil {
|
||||
return fmt.Errorf("add GetIdentity: %v", err)
|
||||
|
|
@ -172,7 +176,7 @@ func addProtocolFinalizerMiddlewares(stack *middleware.Stack, options Options, o
|
|||
return fmt.Errorf("add ResolveEndpointV2: %v", err)
|
||||
}
|
||||
if err := stack.Finalize.Insert(&signRequestMiddleware{}, "ResolveEndpointV2", middleware.After); err != nil {
|
||||
return fmt.Errorf("add Signing: %v", err)
|
||||
return fmt.Errorf("add Signing: %w", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
@ -370,7 +374,15 @@ func resolveAWSRetryMaxAttempts(cfg aws.Config, o *Options) {
|
|||
o.RetryMaxAttempts = cfg.RetryMaxAttempts
|
||||
}
|
||||
|
||||
func finalizeRetryMaxAttemptOptions(o *Options, client Client) {
|
||||
func finalizeRetryMaxAttempts(o *Options) {
|
||||
if o.RetryMaxAttempts == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
o.Retryer = retry.AddWithMaxAttempts(o.Retryer, o.RetryMaxAttempts)
|
||||
}
|
||||
|
||||
func finalizeOperationRetryMaxAttempts(o *Options, client Client) {
|
||||
if v := o.RetryMaxAttempts; v == 0 || v == client.options.RetryMaxAttempts {
|
||||
return
|
||||
}
|
||||
|
|
|
|||
|
|
@ -56,6 +56,34 @@ func addSetLegacyContextSigningOptionsMiddleware(stack *middleware.Stack) error
|
|||
return stack.Finalize.Insert(&setLegacyContextSigningOptionsMiddleware{}, "Signing", middleware.Before)
|
||||
}
|
||||
|
||||
type withAnonymous struct {
|
||||
resolver AuthSchemeResolver
|
||||
}
|
||||
|
||||
var _ AuthSchemeResolver = (*withAnonymous)(nil)
|
||||
|
||||
func (v *withAnonymous) ResolveAuthSchemes(ctx context.Context, params *AuthResolverParameters) ([]*smithyauth.Option, error) {
|
||||
opts, err := v.resolver.ResolveAuthSchemes(ctx, params)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
opts = append(opts, &smithyauth.Option{
|
||||
SchemeID: smithyauth.SchemeIDAnonymous,
|
||||
})
|
||||
return opts, nil
|
||||
}
|
||||
|
||||
func wrapWithAnonymousAuth(options *Options) {
|
||||
if _, ok := options.AuthSchemeResolver.(*defaultAuthSchemeResolver); !ok {
|
||||
return
|
||||
}
|
||||
|
||||
options.AuthSchemeResolver = &withAnonymous{
|
||||
resolver: options.AuthSchemeResolver,
|
||||
}
|
||||
}
|
||||
|
||||
// AuthResolverParameters contains the set of inputs necessary for auth scheme
|
||||
// resolution.
|
||||
type AuthResolverParameters struct {
|
||||
|
|
@ -146,7 +174,7 @@ func (m *resolveAuthSchemeMiddleware) HandleFinalize(ctx context.Context, in mid
|
|||
params := bindAuthResolverParams(m.operation, getOperationInput(ctx), m.options)
|
||||
options, err := m.options.AuthSchemeResolver.ResolveAuthSchemes(ctx, params)
|
||||
if err != nil {
|
||||
return out, metadata, fmt.Errorf("resolve auth scheme: %v", err)
|
||||
return out, metadata, fmt.Errorf("resolve auth scheme: %w", err)
|
||||
}
|
||||
|
||||
scheme, ok := m.selectScheme(options)
|
||||
|
|
@ -226,7 +254,7 @@ func (m *getIdentityMiddleware) HandleFinalize(ctx context.Context, in middlewar
|
|||
|
||||
identity, err := resolver.GetIdentity(ctx, rscheme.IdentityProperties)
|
||||
if err != nil {
|
||||
return out, metadata, fmt.Errorf("get identity: %v", err)
|
||||
return out, metadata, fmt.Errorf("get identity: %w", err)
|
||||
}
|
||||
|
||||
ctx = setIdentity(ctx, identity)
|
||||
|
|
@ -275,7 +303,7 @@ func (m *signRequestMiddleware) HandleFinalize(ctx context.Context, in middlewar
|
|||
}
|
||||
|
||||
if err := signer.SignRequest(ctx, req, identity, rscheme.SignerProperties); err != nil {
|
||||
return out, metadata, fmt.Errorf("sign request: %v", err)
|
||||
return out, metadata, fmt.Errorf("sign request: %w", err)
|
||||
}
|
||||
|
||||
return next.HandleFinalize(ctx, in)
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ func (r *endpointAuthResolver) ResolveAuthSchemes(
|
|||
}
|
||||
}
|
||||
|
||||
// a host of undocumented s3 operations can be done anonymously
|
||||
// preserve pre-SRA behavior where everything technically had anonymous
|
||||
return append(opts, &smithyauth.Option{
|
||||
SchemeID: smithyauth.SchemeIDAnonymous,
|
||||
}), nil
|
||||
|
|
@ -43,12 +43,12 @@ func (r *endpointAuthResolver) resolveAuthSchemes(
|
|||
) {
|
||||
baseOpts, err := (&defaultAuthSchemeResolver{}).ResolveAuthSchemes(ctx, params)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("get base options: %v", err)
|
||||
return nil, fmt.Errorf("get base options: %w", err)
|
||||
}
|
||||
|
||||
endpt, err := r.EndpointResolver.ResolveEndpoint(ctx, *params.endpointParams)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("resolve endpoint: %v", err)
|
||||
return nil, fmt.Errorf("resolve endpoint: %w", err)
|
||||
}
|
||||
|
||||
endptOpts, ok := smithyauth.GetAuthOptions(&endpt.Properties)
|
||||
|
|
|
|||
|
|
@ -2,7 +2,10 @@ package s3
|
|||
|
||||
import (
|
||||
"context"
|
||||
"crypto/hmac"
|
||||
"crypto/sha256"
|
||||
"errors"
|
||||
"fmt"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
|
|
@ -17,18 +20,49 @@ const s3ExpressCacheCap = 100
|
|||
|
||||
const s3ExpressRefreshWindow = 1 * time.Minute
|
||||
|
||||
type cacheKey struct {
|
||||
CredentialsHash string // hmac(sigv4 akid, sigv4 secret)
|
||||
Bucket string
|
||||
}
|
||||
|
||||
func (c cacheKey) Slug() string {
|
||||
return fmt.Sprintf("%s%s", c.CredentialsHash, c.Bucket)
|
||||
}
|
||||
|
||||
type sessionCredsCache struct {
|
||||
mu sync.Mutex
|
||||
cache cache.Cache
|
||||
}
|
||||
|
||||
func (c *sessionCredsCache) Get(key cacheKey) (*aws.Credentials, bool) {
|
||||
c.mu.Lock()
|
||||
defer c.mu.Unlock()
|
||||
|
||||
if v, ok := c.cache.Get(key); ok {
|
||||
return v.(*aws.Credentials), true
|
||||
}
|
||||
return nil, false
|
||||
}
|
||||
|
||||
func (c *sessionCredsCache) Put(key cacheKey, creds *aws.Credentials) {
|
||||
c.mu.Lock()
|
||||
defer c.mu.Unlock()
|
||||
|
||||
c.cache.Put(key, creds)
|
||||
}
|
||||
|
||||
// The default S3Express provider uses an LRU cache with a capacity of 100.
|
||||
//
|
||||
// Credentials will be refreshed asynchronously when a Retrieve() call is made
|
||||
// for cached credentials within an expiry window (1 minute, currently
|
||||
// non-configurable).
|
||||
type defaultS3ExpressCredentialsProvider struct {
|
||||
mu sync.Mutex
|
||||
sf singleflight.Group
|
||||
|
||||
client createSessionAPIClient
|
||||
credsCache cache.Cache
|
||||
cache *sessionCredsCache
|
||||
refreshWindow time.Duration
|
||||
v4creds aws.CredentialsProvider // underlying credentials used for CreateSession
|
||||
}
|
||||
|
||||
type createSessionAPIClient interface {
|
||||
|
|
@ -37,35 +71,54 @@ type createSessionAPIClient interface {
|
|||
|
||||
func newDefaultS3ExpressCredentialsProvider() *defaultS3ExpressCredentialsProvider {
|
||||
return &defaultS3ExpressCredentialsProvider{
|
||||
credsCache: lru.New(s3ExpressCacheCap),
|
||||
cache: &sessionCredsCache{
|
||||
cache: lru.New(s3ExpressCacheCap),
|
||||
},
|
||||
refreshWindow: s3ExpressRefreshWindow,
|
||||
}
|
||||
}
|
||||
|
||||
func (p *defaultS3ExpressCredentialsProvider) Retrieve(ctx context.Context, bucket string) (aws.Credentials, error) {
|
||||
p.mu.Lock()
|
||||
defer p.mu.Unlock()
|
||||
// returns a cloned provider using new base credentials, used when per-op
|
||||
// config mutations change the credentials provider
|
||||
func (p *defaultS3ExpressCredentialsProvider) CloneWithBaseCredentials(v4creds aws.CredentialsProvider) *defaultS3ExpressCredentialsProvider {
|
||||
return &defaultS3ExpressCredentialsProvider{
|
||||
client: p.client,
|
||||
cache: p.cache,
|
||||
refreshWindow: p.refreshWindow,
|
||||
v4creds: v4creds,
|
||||
}
|
||||
}
|
||||
|
||||
creds, ok := p.getCacheCredentials(bucket)
|
||||
func (p *defaultS3ExpressCredentialsProvider) Retrieve(ctx context.Context, bucket string) (aws.Credentials, error) {
|
||||
v4creds, err := p.v4creds.Retrieve(ctx)
|
||||
if err != nil {
|
||||
return aws.Credentials{}, fmt.Errorf("get sigv4 creds: %w", err)
|
||||
}
|
||||
|
||||
key := cacheKey{
|
||||
CredentialsHash: gethmac(v4creds.AccessKeyID, v4creds.SecretAccessKey),
|
||||
Bucket: bucket,
|
||||
}
|
||||
creds, ok := p.cache.Get(key)
|
||||
if !ok || creds.Expired() {
|
||||
return p.awaitDoChanRetrieve(ctx, bucket)
|
||||
return p.awaitDoChanRetrieve(ctx, key)
|
||||
}
|
||||
|
||||
if creds.Expires.Sub(sdk.NowTime()) <= p.refreshWindow {
|
||||
p.doChanRetrieve(ctx, bucket)
|
||||
p.doChanRetrieve(ctx, key)
|
||||
}
|
||||
|
||||
return *creds, nil
|
||||
}
|
||||
|
||||
func (p *defaultS3ExpressCredentialsProvider) doChanRetrieve(ctx context.Context, bucket string) <-chan singleflight.Result {
|
||||
return p.sf.DoChan(bucket, func() (interface{}, error) {
|
||||
return p.retrieve(ctx, bucket)
|
||||
func (p *defaultS3ExpressCredentialsProvider) doChanRetrieve(ctx context.Context, key cacheKey) <-chan singleflight.Result {
|
||||
return p.sf.DoChan(key.Slug(), func() (interface{}, error) {
|
||||
return p.retrieve(ctx, key)
|
||||
})
|
||||
}
|
||||
|
||||
func (p *defaultS3ExpressCredentialsProvider) awaitDoChanRetrieve(ctx context.Context, bucket string) (aws.Credentials, error) {
|
||||
ch := p.doChanRetrieve(ctx, bucket)
|
||||
func (p *defaultS3ExpressCredentialsProvider) awaitDoChanRetrieve(ctx context.Context, key cacheKey) (aws.Credentials, error) {
|
||||
ch := p.doChanRetrieve(ctx, key)
|
||||
|
||||
select {
|
||||
case r := <-ch:
|
||||
|
|
@ -75,9 +128,9 @@ func (p *defaultS3ExpressCredentialsProvider) awaitDoChanRetrieve(ctx context.Co
|
|||
}
|
||||
}
|
||||
|
||||
func (p *defaultS3ExpressCredentialsProvider) retrieve(ctx context.Context, bucket string) (aws.Credentials, error) {
|
||||
func (p *defaultS3ExpressCredentialsProvider) retrieve(ctx context.Context, key cacheKey) (aws.Credentials, error) {
|
||||
resp, err := p.client.CreateSession(ctx, &CreateSessionInput{
|
||||
Bucket: aws.String(bucket),
|
||||
Bucket: aws.String(key.Bucket),
|
||||
})
|
||||
if err != nil {
|
||||
return aws.Credentials{}, err
|
||||
|
|
@ -88,22 +141,10 @@ func (p *defaultS3ExpressCredentialsProvider) retrieve(ctx context.Context, buck
|
|||
return aws.Credentials{}, err
|
||||
}
|
||||
|
||||
p.putCacheCredentials(bucket, creds)
|
||||
p.cache.Put(key, creds)
|
||||
return *creds, nil
|
||||
}
|
||||
|
||||
func (p *defaultS3ExpressCredentialsProvider) getCacheCredentials(bucket string) (*aws.Credentials, bool) {
|
||||
if v, ok := p.credsCache.Get(bucket); ok {
|
||||
return v.(*aws.Credentials), true
|
||||
}
|
||||
|
||||
return nil, false
|
||||
}
|
||||
|
||||
func (p *defaultS3ExpressCredentialsProvider) putCacheCredentials(bucket string, creds *aws.Credentials) {
|
||||
p.credsCache.Put(bucket, creds)
|
||||
}
|
||||
|
||||
func credentialsFromResponse(o *CreateSessionOutput) (*aws.Credentials, error) {
|
||||
if o.Credentials == nil {
|
||||
return nil, errors.New("s3express session credentials unset")
|
||||
|
|
@ -121,3 +162,9 @@ func credentialsFromResponse(o *CreateSessionOutput) (*aws.Credentials, error) {
|
|||
Expires: *o.Credentials.Expiration,
|
||||
}, nil
|
||||
}
|
||||
|
||||
func gethmac(p, key string) string {
|
||||
hash := hmac.New(sha256.New, []byte(key))
|
||||
hash.Write([]byte(p))
|
||||
return string(hash.Sum(nil))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,11 +13,26 @@ func resolveExpressCredentials(o *Options) {
|
|||
}
|
||||
}
|
||||
|
||||
// Config finalizer: if we're using the default S3Express implementation,
|
||||
// grab a reference to the client for its CreateSession API.
|
||||
// Config finalizer: if we're using the default S3Express implementation, grab
|
||||
// a reference to the client for its CreateSession API, and the underlying
|
||||
// sigv4 credentials provider for cache keying.
|
||||
func finalizeExpressCredentials(o *Options, c *Client) {
|
||||
if p, ok := o.ExpressCredentials.(*defaultS3ExpressCredentialsProvider); ok {
|
||||
p.client = c
|
||||
p.v4creds = o.Credentials
|
||||
}
|
||||
}
|
||||
|
||||
// Operation config finalizer: update the sigv4 credentials on the default
|
||||
// express provider if it changed to ensure different cache keys
|
||||
func finalizeOperationExpressCredentials(o *Options, c Client) {
|
||||
p, ok := o.ExpressCredentials.(*defaultS3ExpressCredentialsProvider)
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
|
||||
if c.options.Credentials != o.Credentials {
|
||||
o.ExpressCredentials = p.CloneWithBaseCredentials(o.Credentials)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
package s3
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.47.1"
|
||||
const goModuleVersion = "1.47.5"
|
||||
|
|
|
|||
|
|
@ -88,11 +88,9 @@ type Options struct {
|
|||
// RetryMaxAttempts specifies the maximum number attempts an API client will call
|
||||
// an operation that fails with a retryable error. A value of 0 is ignored, and
|
||||
// will not be used to configure the API client created default retryer, or modify
|
||||
// per operation call's retry max attempts. When creating a new API Clients this
|
||||
// member will only be used if the Retryer Options member is nil. This value will
|
||||
// be ignored if Retryer is not nil. If specified in an operation call's functional
|
||||
// options with a value that is different than the constructed client's Options,
|
||||
// the Client's Retryer will be wrapped to use the operation's specific
|
||||
// per operation call's retry max attempts. If specified in an operation call's
|
||||
// functional options with a value that is different than the constructed client's
|
||||
// Options, the Client's Retryer will be wrapped to use the operation's specific
|
||||
// RetryMaxAttempts value.
|
||||
RetryMaxAttempts int
|
||||
|
||||
|
|
@ -303,7 +301,7 @@ func WithSigV4ASigningRegions(regions []string) func(*Options) {
|
|||
}
|
||||
|
||||
func ignoreAnonymousAuth(options *Options) {
|
||||
if _, ok := options.Credentials.(aws.AnonymousCredentials); ok {
|
||||
if aws.IsCredentialsProvider(options.Credentials, (*aws.AnonymousCredentials)(nil)) {
|
||||
options.Credentials = nil
|
||||
}
|
||||
}
|
||||
|
|
|
|||
15
vendor/github.com/aws/aws-sdk-go-v2/service/s3/serialize_immutable_hostname_bucket.go
generated
vendored
15
vendor/github.com/aws/aws-sdk-go-v2/service/s3/serialize_immutable_hostname_bucket.go
generated
vendored
|
|
@ -3,9 +3,10 @@ package s3
|
|||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
|
||||
"path"
|
||||
|
||||
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
|
||||
|
||||
"github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn"
|
||||
smithy "github.com/aws/smithy-go"
|
||||
"github.com/aws/smithy-go/encoding/httpbinding"
|
||||
|
|
@ -38,16 +39,20 @@ func (m *serializeImmutableHostnameBucketMiddleware) HandleSerialize(
|
|||
if !ok {
|
||||
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
|
||||
}
|
||||
if !smithyhttp.GetHostnameImmutable(ctx) &&
|
||||
!(awsmiddleware.GetRequiresLegacyEndpoints(ctx) && m.UsePathStyle) {
|
||||
return next.HandleSerialize(ctx, in)
|
||||
}
|
||||
|
||||
bucket, ok := bucketFromInput(in.Parameters)
|
||||
if !ok {
|
||||
return next.HandleSerialize(ctx, in)
|
||||
}
|
||||
|
||||
// a bucket being un-vhostable will also force us to use path style
|
||||
usePathStyle := m.UsePathStyle || !awsrulesfn.IsVirtualHostableS3Bucket(bucket, request.URL.Scheme != "https")
|
||||
|
||||
if !smithyhttp.GetHostnameImmutable(ctx) &&
|
||||
!(awsmiddleware.GetRequiresLegacyEndpoints(ctx) && usePathStyle) {
|
||||
return next.HandleSerialize(ctx, in)
|
||||
}
|
||||
|
||||
parsedBucket := awsrulesfn.ParseARN(bucket)
|
||||
|
||||
// disallow ARN buckets except for MRAP arns
|
||||
|
|
|
|||
|
|
@ -1,3 +1,15 @@
|
|||
# v1.18.5 (2023-12-08)
|
||||
|
||||
* **Bug Fix**: Reinstate presence of default Retryer in functional options, but still respect max attempts set therein.
|
||||
|
||||
# v1.18.4 (2023-12-07)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.18.3 (2023-12-06)
|
||||
|
||||
* **Bug Fix**: Restore pre-refactor auth behavior where all operations could technically be performed anonymously.
|
||||
|
||||
# v1.18.2 (2023-12-01)
|
||||
|
||||
* **Bug Fix**: Correct wrapping of errors in authentication workflow.
|
||||
|
|
|
|||
|
|
@ -42,6 +42,8 @@ func New(options Options, optFns ...func(*Options)) *Client {
|
|||
|
||||
setResolvedDefaultsMode(&options)
|
||||
|
||||
resolveRetryer(&options)
|
||||
|
||||
resolveHTTPClient(&options)
|
||||
|
||||
resolveHTTPSignerV4(&options)
|
||||
|
|
@ -54,10 +56,12 @@ func New(options Options, optFns ...func(*Options)) *Client {
|
|||
fn(&options)
|
||||
}
|
||||
|
||||
resolveRetryer(&options)
|
||||
finalizeRetryMaxAttempts(&options)
|
||||
|
||||
ignoreAnonymousAuth(&options)
|
||||
|
||||
wrapWithAnonymousAuth(&options)
|
||||
|
||||
resolveAuthSchemes(&options)
|
||||
|
||||
client := &Client{
|
||||
|
|
@ -85,7 +89,7 @@ func (c *Client) invokeOperation(ctx context.Context, opID string, params interf
|
|||
fn(&options)
|
||||
}
|
||||
|
||||
finalizeRetryMaxAttemptOptions(&options, *c)
|
||||
finalizeOperationRetryMaxAttempts(&options, *c)
|
||||
|
||||
finalizeClientEndpointResolverOptions(&options)
|
||||
|
||||
|
|
@ -333,7 +337,15 @@ func resolveAWSRetryMaxAttempts(cfg aws.Config, o *Options) {
|
|||
o.RetryMaxAttempts = cfg.RetryMaxAttempts
|
||||
}
|
||||
|
||||
func finalizeRetryMaxAttemptOptions(o *Options, client Client) {
|
||||
func finalizeRetryMaxAttempts(o *Options) {
|
||||
if o.RetryMaxAttempts == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
o.Retryer = retry.AddWithMaxAttempts(o.Retryer, o.RetryMaxAttempts)
|
||||
}
|
||||
|
||||
func finalizeOperationRetryMaxAttempts(o *Options, client Client) {
|
||||
if v := o.RetryMaxAttempts; v == 0 || v == client.options.RetryMaxAttempts {
|
||||
return
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,6 +52,34 @@ func addSetLegacyContextSigningOptionsMiddleware(stack *middleware.Stack) error
|
|||
return stack.Finalize.Insert(&setLegacyContextSigningOptionsMiddleware{}, "Signing", middleware.Before)
|
||||
}
|
||||
|
||||
type withAnonymous struct {
|
||||
resolver AuthSchemeResolver
|
||||
}
|
||||
|
||||
var _ AuthSchemeResolver = (*withAnonymous)(nil)
|
||||
|
||||
func (v *withAnonymous) ResolveAuthSchemes(ctx context.Context, params *AuthResolverParameters) ([]*smithyauth.Option, error) {
|
||||
opts, err := v.resolver.ResolveAuthSchemes(ctx, params)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
opts = append(opts, &smithyauth.Option{
|
||||
SchemeID: smithyauth.SchemeIDAnonymous,
|
||||
})
|
||||
return opts, nil
|
||||
}
|
||||
|
||||
func wrapWithAnonymousAuth(options *Options) {
|
||||
if _, ok := options.AuthSchemeResolver.(*defaultAuthSchemeResolver); !ok {
|
||||
return
|
||||
}
|
||||
|
||||
options.AuthSchemeResolver = &withAnonymous{
|
||||
resolver: options.AuthSchemeResolver,
|
||||
}
|
||||
}
|
||||
|
||||
// AuthResolverParameters contains the set of inputs necessary for auth scheme
|
||||
// resolution.
|
||||
type AuthResolverParameters struct {
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
package sso
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.18.2"
|
||||
const goModuleVersion = "1.18.5"
|
||||
|
|
|
|||
|
|
@ -70,11 +70,9 @@ type Options struct {
|
|||
// RetryMaxAttempts specifies the maximum number attempts an API client will call
|
||||
// an operation that fails with a retryable error. A value of 0 is ignored, and
|
||||
// will not be used to configure the API client created default retryer, or modify
|
||||
// per operation call's retry max attempts. When creating a new API Clients this
|
||||
// member will only be used if the Retryer Options member is nil. This value will
|
||||
// be ignored if Retryer is not nil. If specified in an operation call's functional
|
||||
// options with a value that is different than the constructed client's Options,
|
||||
// the Client's Retryer will be wrapped to use the operation's specific
|
||||
// per operation call's retry max attempts. If specified in an operation call's
|
||||
// functional options with a value that is different than the constructed client's
|
||||
// Options, the Client's Retryer will be wrapped to use the operation's specific
|
||||
// RetryMaxAttempts value.
|
||||
RetryMaxAttempts int
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,15 @@
|
|||
# v1.21.5 (2023-12-08)
|
||||
|
||||
* **Bug Fix**: Reinstate presence of default Retryer in functional options, but still respect max attempts set therein.
|
||||
|
||||
# v1.21.4 (2023-12-07)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.21.3 (2023-12-06)
|
||||
|
||||
* **Bug Fix**: Restore pre-refactor auth behavior where all operations could technically be performed anonymously.
|
||||
|
||||
# v1.21.2 (2023-12-01)
|
||||
|
||||
* **Bug Fix**: Correct wrapping of errors in authentication workflow.
|
||||
|
|
|
|||
|
|
@ -42,6 +42,8 @@ func New(options Options, optFns ...func(*Options)) *Client {
|
|||
|
||||
setResolvedDefaultsMode(&options)
|
||||
|
||||
resolveRetryer(&options)
|
||||
|
||||
resolveHTTPClient(&options)
|
||||
|
||||
resolveHTTPSignerV4(&options)
|
||||
|
|
@ -54,10 +56,12 @@ func New(options Options, optFns ...func(*Options)) *Client {
|
|||
fn(&options)
|
||||
}
|
||||
|
||||
resolveRetryer(&options)
|
||||
finalizeRetryMaxAttempts(&options)
|
||||
|
||||
ignoreAnonymousAuth(&options)
|
||||
|
||||
wrapWithAnonymousAuth(&options)
|
||||
|
||||
resolveAuthSchemes(&options)
|
||||
|
||||
client := &Client{
|
||||
|
|
@ -85,7 +89,7 @@ func (c *Client) invokeOperation(ctx context.Context, opID string, params interf
|
|||
fn(&options)
|
||||
}
|
||||
|
||||
finalizeRetryMaxAttemptOptions(&options, *c)
|
||||
finalizeOperationRetryMaxAttempts(&options, *c)
|
||||
|
||||
finalizeClientEndpointResolverOptions(&options)
|
||||
|
||||
|
|
@ -333,7 +337,15 @@ func resolveAWSRetryMaxAttempts(cfg aws.Config, o *Options) {
|
|||
o.RetryMaxAttempts = cfg.RetryMaxAttempts
|
||||
}
|
||||
|
||||
func finalizeRetryMaxAttemptOptions(o *Options, client Client) {
|
||||
func finalizeRetryMaxAttempts(o *Options) {
|
||||
if o.RetryMaxAttempts == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
o.Retryer = retry.AddWithMaxAttempts(o.Retryer, o.RetryMaxAttempts)
|
||||
}
|
||||
|
||||
func finalizeOperationRetryMaxAttempts(o *Options, client Client) {
|
||||
if v := o.RetryMaxAttempts; v == 0 || v == client.options.RetryMaxAttempts {
|
||||
return
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,6 +52,34 @@ func addSetLegacyContextSigningOptionsMiddleware(stack *middleware.Stack) error
|
|||
return stack.Finalize.Insert(&setLegacyContextSigningOptionsMiddleware{}, "Signing", middleware.Before)
|
||||
}
|
||||
|
||||
type withAnonymous struct {
|
||||
resolver AuthSchemeResolver
|
||||
}
|
||||
|
||||
var _ AuthSchemeResolver = (*withAnonymous)(nil)
|
||||
|
||||
func (v *withAnonymous) ResolveAuthSchemes(ctx context.Context, params *AuthResolverParameters) ([]*smithyauth.Option, error) {
|
||||
opts, err := v.resolver.ResolveAuthSchemes(ctx, params)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
opts = append(opts, &smithyauth.Option{
|
||||
SchemeID: smithyauth.SchemeIDAnonymous,
|
||||
})
|
||||
return opts, nil
|
||||
}
|
||||
|
||||
func wrapWithAnonymousAuth(options *Options) {
|
||||
if _, ok := options.AuthSchemeResolver.(*defaultAuthSchemeResolver); !ok {
|
||||
return
|
||||
}
|
||||
|
||||
options.AuthSchemeResolver = &withAnonymous{
|
||||
resolver: options.AuthSchemeResolver,
|
||||
}
|
||||
}
|
||||
|
||||
// AuthResolverParameters contains the set of inputs necessary for auth scheme
|
||||
// resolution.
|
||||
type AuthResolverParameters struct {
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
package ssooidc
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.21.2"
|
||||
const goModuleVersion = "1.21.5"
|
||||
|
|
|
|||
|
|
@ -70,11 +70,9 @@ type Options struct {
|
|||
// RetryMaxAttempts specifies the maximum number attempts an API client will call
|
||||
// an operation that fails with a retryable error. A value of 0 is ignored, and
|
||||
// will not be used to configure the API client created default retryer, or modify
|
||||
// per operation call's retry max attempts. When creating a new API Clients this
|
||||
// member will only be used if the Retryer Options member is nil. This value will
|
||||
// be ignored if Retryer is not nil. If specified in an operation call's functional
|
||||
// options with a value that is different than the constructed client's Options,
|
||||
// the Client's Retryer will be wrapped to use the operation's specific
|
||||
// per operation call's retry max attempts. If specified in an operation call's
|
||||
// functional options with a value that is different than the constructed client's
|
||||
// Options, the Client's Retryer will be wrapped to use the operation's specific
|
||||
// RetryMaxAttempts value.
|
||||
RetryMaxAttempts int
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,16 @@
|
|||
# v1.26.5 (2023-12-08)
|
||||
|
||||
* **Bug Fix**: Reinstate presence of default Retryer in functional options, but still respect max attempts set therein.
|
||||
|
||||
# v1.26.4 (2023-12-07)
|
||||
|
||||
* **Dependency Update**: Updated to the latest SDK module versions
|
||||
|
||||
# v1.26.3 (2023-12-06)
|
||||
|
||||
* **Bug Fix**: Restore pre-refactor auth behavior where all operations could technically be performed anonymously.
|
||||
* **Bug Fix**: STS `AssumeRoleWithSAML` and `AssumeRoleWithWebIdentity` would incorrectly attempt to use SigV4 authentication.
|
||||
|
||||
# v1.26.2 (2023-12-01)
|
||||
|
||||
* **Bug Fix**: Correct wrapping of errors in authentication workflow.
|
||||
|
|
|
|||
|
|
@ -46,6 +46,8 @@ func New(options Options, optFns ...func(*Options)) *Client {
|
|||
|
||||
setResolvedDefaultsMode(&options)
|
||||
|
||||
resolveRetryer(&options)
|
||||
|
||||
resolveHTTPClient(&options)
|
||||
|
||||
resolveHTTPSignerV4(&options)
|
||||
|
|
@ -58,10 +60,12 @@ func New(options Options, optFns ...func(*Options)) *Client {
|
|||
fn(&options)
|
||||
}
|
||||
|
||||
resolveRetryer(&options)
|
||||
finalizeRetryMaxAttempts(&options)
|
||||
|
||||
ignoreAnonymousAuth(&options)
|
||||
|
||||
wrapWithAnonymousAuth(&options)
|
||||
|
||||
resolveAuthSchemes(&options)
|
||||
|
||||
client := &Client{
|
||||
|
|
@ -89,7 +93,7 @@ func (c *Client) invokeOperation(ctx context.Context, opID string, params interf
|
|||
fn(&options)
|
||||
}
|
||||
|
||||
finalizeRetryMaxAttemptOptions(&options, *c)
|
||||
finalizeOperationRetryMaxAttempts(&options, *c)
|
||||
|
||||
finalizeClientEndpointResolverOptions(&options)
|
||||
|
||||
|
|
@ -337,7 +341,15 @@ func resolveAWSRetryMaxAttempts(cfg aws.Config, o *Options) {
|
|||
o.RetryMaxAttempts = cfg.RetryMaxAttempts
|
||||
}
|
||||
|
||||
func finalizeRetryMaxAttemptOptions(o *Options, client Client) {
|
||||
func finalizeRetryMaxAttempts(o *Options) {
|
||||
if o.RetryMaxAttempts == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
o.Retryer = retry.AddWithMaxAttempts(o.Retryer, o.RetryMaxAttempts)
|
||||
}
|
||||
|
||||
func finalizeOperationRetryMaxAttempts(o *Options, client Client) {
|
||||
if v := o.RetryMaxAttempts; v == 0 || v == client.options.RetryMaxAttempts {
|
||||
return
|
||||
}
|
||||
|
|
|
|||
|
|
@ -52,6 +52,34 @@ func addSetLegacyContextSigningOptionsMiddleware(stack *middleware.Stack) error
|
|||
return stack.Finalize.Insert(&setLegacyContextSigningOptionsMiddleware{}, "Signing", middleware.Before)
|
||||
}
|
||||
|
||||
type withAnonymous struct {
|
||||
resolver AuthSchemeResolver
|
||||
}
|
||||
|
||||
var _ AuthSchemeResolver = (*withAnonymous)(nil)
|
||||
|
||||
func (v *withAnonymous) ResolveAuthSchemes(ctx context.Context, params *AuthResolverParameters) ([]*smithyauth.Option, error) {
|
||||
opts, err := v.resolver.ResolveAuthSchemes(ctx, params)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
opts = append(opts, &smithyauth.Option{
|
||||
SchemeID: smithyauth.SchemeIDAnonymous,
|
||||
})
|
||||
return opts, nil
|
||||
}
|
||||
|
||||
func wrapWithAnonymousAuth(options *Options) {
|
||||
if _, ok := options.AuthSchemeResolver.(*defaultAuthSchemeResolver); !ok {
|
||||
return
|
||||
}
|
||||
|
||||
options.AuthSchemeResolver = &withAnonymous{
|
||||
resolver: options.AuthSchemeResolver,
|
||||
}
|
||||
}
|
||||
|
||||
// AuthResolverParameters contains the set of inputs necessary for auth scheme
|
||||
// resolution.
|
||||
type AuthResolverParameters struct {
|
||||
|
|
@ -92,34 +120,12 @@ func (*defaultAuthSchemeResolver) ResolveAuthSchemes(ctx context.Context, params
|
|||
var operationAuthOptions = map[string]func(*AuthResolverParameters) []*smithyauth.Option{
|
||||
"AssumeRoleWithSAML": func(params *AuthResolverParameters) []*smithyauth.Option {
|
||||
return []*smithyauth.Option{
|
||||
{
|
||||
SchemeID: smithyauth.SchemeIDSigV4,
|
||||
SignerProperties: func() smithy.Properties {
|
||||
var props smithy.Properties
|
||||
smithyhttp.SetSigV4SigningName(&props, "sts")
|
||||
smithyhttp.SetSigV4SigningRegion(&props, params.Region)
|
||||
|
||||
return props
|
||||
}(),
|
||||
},
|
||||
|
||||
{SchemeID: smithyauth.SchemeIDAnonymous},
|
||||
}
|
||||
},
|
||||
|
||||
"AssumeRoleWithWebIdentity": func(params *AuthResolverParameters) []*smithyauth.Option {
|
||||
return []*smithyauth.Option{
|
||||
{
|
||||
SchemeID: smithyauth.SchemeIDSigV4,
|
||||
SignerProperties: func() smithy.Properties {
|
||||
var props smithy.Properties
|
||||
smithyhttp.SetSigV4SigningName(&props, "sts")
|
||||
smithyhttp.SetSigV4SigningRegion(&props, params.Region)
|
||||
|
||||
return props
|
||||
}(),
|
||||
},
|
||||
|
||||
{SchemeID: smithyauth.SchemeIDAnonymous},
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -3,4 +3,4 @@
|
|||
package sts
|
||||
|
||||
// goModuleVersion is the tagged release for this module
|
||||
const goModuleVersion = "1.26.2"
|
||||
const goModuleVersion = "1.26.5"
|
||||
|
|
|
|||
|
|
@ -70,11 +70,9 @@ type Options struct {
|
|||
// RetryMaxAttempts specifies the maximum number attempts an API client will call
|
||||
// an operation that fails with a retryable error. A value of 0 is ignored, and
|
||||
// will not be used to configure the API client created default retryer, or modify
|
||||
// per operation call's retry max attempts. When creating a new API Clients this
|
||||
// member will only be used if the Retryer Options member is nil. This value will
|
||||
// be ignored if Retryer is not nil. If specified in an operation call's functional
|
||||
// options with a value that is different than the constructed client's Options,
|
||||
// the Client's Retryer will be wrapped to use the operation's specific
|
||||
// per operation call's retry max attempts. If specified in an operation call's
|
||||
// functional options with a value that is different than the constructed client's
|
||||
// Options, the Client's Retryer will be wrapped to use the operation's specific
|
||||
// RetryMaxAttempts value.
|
||||
RetryMaxAttempts int
|
||||
|
||||
|
|
|
|||
30
vendor/github.com/aws/smithy-go/private/requestcompression/gzip.go
generated
vendored
Normal file
30
vendor/github.com/aws/smithy-go/private/requestcompression/gzip.go
generated
vendored
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
package requestcompression
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"compress/gzip"
|
||||
"fmt"
|
||||
"io"
|
||||
)
|
||||
|
||||
func gzipCompress(input io.Reader) ([]byte, error) {
|
||||
var b bytes.Buffer
|
||||
w, err := gzip.NewWriterLevel(&b, gzip.DefaultCompression)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to create gzip writer, %v", err)
|
||||
}
|
||||
|
||||
inBytes, err := io.ReadAll(input)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed read payload to compress, %v", err)
|
||||
}
|
||||
|
||||
if _, err = w.Write(inBytes); err != nil {
|
||||
return nil, fmt.Errorf("failed to write payload to be compressed, %v", err)
|
||||
}
|
||||
if err = w.Close(); err != nil {
|
||||
return nil, fmt.Errorf("failed to flush payload being compressed, %v", err)
|
||||
}
|
||||
|
||||
return b.Bytes(), nil
|
||||
}
|
||||
52
vendor/github.com/aws/smithy-go/private/requestcompression/middleware_capture_request_compression.go
generated
vendored
Normal file
52
vendor/github.com/aws/smithy-go/private/requestcompression/middleware_capture_request_compression.go
generated
vendored
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
package requestcompression
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/aws/smithy-go/middleware"
|
||||
smithyhttp "github.com/aws/smithy-go/transport/http"
|
||||
"io"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
const captureUncompressedRequestID = "CaptureUncompressedRequest"
|
||||
|
||||
// AddCaptureUncompressedRequestMiddleware captures http request before compress encoding for check
|
||||
func AddCaptureUncompressedRequestMiddleware(stack *middleware.Stack, buf *bytes.Buffer) error {
|
||||
return stack.Serialize.Insert(&captureUncompressedRequestMiddleware{
|
||||
buf: buf,
|
||||
}, "RequestCompression", middleware.Before)
|
||||
}
|
||||
|
||||
type captureUncompressedRequestMiddleware struct {
|
||||
req *http.Request
|
||||
buf *bytes.Buffer
|
||||
bytes []byte
|
||||
}
|
||||
|
||||
// ID returns id of the captureUncompressedRequestMiddleware
|
||||
func (*captureUncompressedRequestMiddleware) ID() string {
|
||||
return captureUncompressedRequestID
|
||||
}
|
||||
|
||||
// HandleSerialize captures request payload before it is compressed by request compression middleware
|
||||
func (m *captureUncompressedRequestMiddleware) HandleSerialize(ctx context.Context, input middleware.SerializeInput, next middleware.SerializeHandler,
|
||||
) (
|
||||
output middleware.SerializeOutput, metadata middleware.Metadata, err error,
|
||||
) {
|
||||
request, ok := input.Request.(*smithyhttp.Request)
|
||||
if !ok {
|
||||
return output, metadata, fmt.Errorf("error when retrieving http request")
|
||||
}
|
||||
|
||||
_, err = io.Copy(m.buf, request.GetStream())
|
||||
if err != nil {
|
||||
return output, metadata, fmt.Errorf("error when copying http request stream: %q", err)
|
||||
}
|
||||
if err = request.RewindStream(); err != nil {
|
||||
return output, metadata, fmt.Errorf("error when rewinding request stream: %q", err)
|
||||
}
|
||||
|
||||
return next.HandleSerialize(ctx, input)
|
||||
}
|
||||
103
vendor/github.com/aws/smithy-go/private/requestcompression/request_compression.go
generated
vendored
Normal file
103
vendor/github.com/aws/smithy-go/private/requestcompression/request_compression.go
generated
vendored
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
// Package requestcompression implements runtime support for smithy-modeled
|
||||
// request compression.
|
||||
//
|
||||
// This package is designated as private and is intended for use only by the
|
||||
// smithy client runtime. The exported API therein is not considered stable and
|
||||
// is subject to breaking changes without notice.
|
||||
package requestcompression
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/aws/smithy-go/middleware"
|
||||
"github.com/aws/smithy-go/transport/http"
|
||||
"io"
|
||||
)
|
||||
|
||||
const MaxRequestMinCompressSizeBytes = 10485760
|
||||
|
||||
// Enumeration values for supported compress Algorithms.
|
||||
const (
|
||||
GZIP = "gzip"
|
||||
)
|
||||
|
||||
type compressFunc func(io.Reader) ([]byte, error)
|
||||
|
||||
var allowedAlgorithms = map[string]compressFunc{
|
||||
GZIP: gzipCompress,
|
||||
}
|
||||
|
||||
// AddRequestCompression add requestCompression middleware to op stack
|
||||
func AddRequestCompression(stack *middleware.Stack, disabled bool, minBytes int64, algorithms []string) error {
|
||||
return stack.Serialize.Add(&requestCompression{
|
||||
disableRequestCompression: disabled,
|
||||
requestMinCompressSizeBytes: minBytes,
|
||||
compressAlgorithms: algorithms,
|
||||
}, middleware.After)
|
||||
}
|
||||
|
||||
type requestCompression struct {
|
||||
disableRequestCompression bool
|
||||
requestMinCompressSizeBytes int64
|
||||
compressAlgorithms []string
|
||||
}
|
||||
|
||||
// ID returns the ID of the middleware
|
||||
func (m requestCompression) ID() string {
|
||||
return "RequestCompression"
|
||||
}
|
||||
|
||||
// HandleSerialize gzip compress the request's stream/body if enabled by config fields
|
||||
func (m requestCompression) HandleSerialize(
|
||||
ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler,
|
||||
) (
|
||||
out middleware.SerializeOutput, metadata middleware.Metadata, err error,
|
||||
) {
|
||||
if m.disableRequestCompression {
|
||||
return next.HandleSerialize(ctx, in)
|
||||
}
|
||||
// still need to check requestMinCompressSizeBytes in case it is out of range after service client config
|
||||
if m.requestMinCompressSizeBytes < 0 || m.requestMinCompressSizeBytes > MaxRequestMinCompressSizeBytes {
|
||||
return out, metadata, fmt.Errorf("invalid range for min request compression size bytes %d, must be within 0 and 10485760 inclusively", m.requestMinCompressSizeBytes)
|
||||
}
|
||||
|
||||
req, ok := in.Request.(*http.Request)
|
||||
if !ok {
|
||||
return out, metadata, fmt.Errorf("unknown request type %T", req)
|
||||
}
|
||||
|
||||
for _, algorithm := range m.compressAlgorithms {
|
||||
compressFunc := allowedAlgorithms[algorithm]
|
||||
if compressFunc != nil {
|
||||
if stream := req.GetStream(); stream != nil {
|
||||
size, found, err := req.StreamLength()
|
||||
if err != nil {
|
||||
return out, metadata, fmt.Errorf("error while finding request stream length, %v", err)
|
||||
} else if !found || size < m.requestMinCompressSizeBytes {
|
||||
return next.HandleSerialize(ctx, in)
|
||||
}
|
||||
|
||||
compressedBytes, err := compressFunc(stream)
|
||||
if err != nil {
|
||||
return out, metadata, fmt.Errorf("failed to compress request stream, %v", err)
|
||||
}
|
||||
|
||||
var newReq *http.Request
|
||||
if newReq, err = req.SetStream(bytes.NewReader(compressedBytes)); err != nil {
|
||||
return out, metadata, fmt.Errorf("failed to set request stream, %v", err)
|
||||
}
|
||||
*req = *newReq
|
||||
|
||||
if val := req.Header.Get("Content-Encoding"); val != "" {
|
||||
req.Header.Set("Content-Encoding", fmt.Sprintf("%s, %s", val, algorithm))
|
||||
} else {
|
||||
req.Header.Set("Content-Encoding", algorithm)
|
||||
}
|
||||
}
|
||||
break
|
||||
}
|
||||
}
|
||||
|
||||
return next.HandleSerialize(ctx, in)
|
||||
}
|
||||
|
|
@ -133,14 +133,14 @@ 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.5.3
|
||||
# github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.4
|
||||
## explicit; go 1.19
|
||||
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.25.11
|
||||
# github.com/aws/aws-sdk-go-v2/config v1.26.1
|
||||
## explicit; go 1.19
|
||||
github.com/aws/aws-sdk-go-v2/config
|
||||
# github.com/aws/aws-sdk-go-v2/credentials v1.16.9
|
||||
# github.com/aws/aws-sdk-go-v2/credentials v1.16.12
|
||||
## explicit; go 1.19
|
||||
github.com/aws/aws-sdk-go-v2/credentials
|
||||
github.com/aws/aws-sdk-go-v2/credentials/ec2rolecreds
|
||||
|
|
@ -149,23 +149,23 @@ 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.14.9
|
||||
# github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.10
|
||||
## explicit; go 1.19
|
||||
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/feature/s3/manager v1.15.3
|
||||
# github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.15.7
|
||||
## explicit; go 1.19
|
||||
github.com/aws/aws-sdk-go-v2/feature/s3/manager
|
||||
# github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.8
|
||||
# github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.9
|
||||
## explicit; go 1.19
|
||||
github.com/aws/aws-sdk-go-v2/internal/configsources
|
||||
# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.8
|
||||
# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.9
|
||||
## explicit; go 1.19
|
||||
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2
|
||||
# github.com/aws/aws-sdk-go-v2/internal/ini v1.7.1
|
||||
# github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2
|
||||
## explicit; go 1.19
|
||||
github.com/aws/aws-sdk-go-v2/internal/ini
|
||||
# github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.7
|
||||
# github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.9
|
||||
## explicit; go 1.19
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a
|
||||
github.com/aws/aws-sdk-go-v2/internal/v4a/internal/crypto
|
||||
|
|
@ -180,38 +180,38 @@ github.com/aws/aws-sdk-go-v2/service/ecr/types
|
|||
github.com/aws/aws-sdk-go-v2/service/ecrpublic
|
||||
github.com/aws/aws-sdk-go-v2/service/ecrpublic/internal/endpoints
|
||||
github.com/aws/aws-sdk-go-v2/service/ecrpublic/types
|
||||
# github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.3
|
||||
# github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4
|
||||
## explicit; go 1.19
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding
|
||||
# github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.7
|
||||
# github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.9
|
||||
## explicit; go 1.19
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/checksum
|
||||
# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.8
|
||||
# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.9
|
||||
## explicit; go 1.19
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url
|
||||
# github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.7
|
||||
# github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.9
|
||||
## explicit; go 1.19
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn
|
||||
github.com/aws/aws-sdk-go-v2/service/internal/s3shared/config
|
||||
# github.com/aws/aws-sdk-go-v2/service/s3 v1.47.1
|
||||
# github.com/aws/aws-sdk-go-v2/service/s3 v1.47.5
|
||||
## explicit; go 1.19
|
||||
github.com/aws/aws-sdk-go-v2/service/s3
|
||||
github.com/aws/aws-sdk-go-v2/service/s3/internal/arn
|
||||
github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations
|
||||
github.com/aws/aws-sdk-go-v2/service/s3/internal/endpoints
|
||||
github.com/aws/aws-sdk-go-v2/service/s3/types
|
||||
# github.com/aws/aws-sdk-go-v2/service/sso v1.18.2
|
||||
# github.com/aws/aws-sdk-go-v2/service/sso v1.18.5
|
||||
## explicit; go 1.19
|
||||
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.21.2
|
||||
# github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.5
|
||||
## explicit; go 1.19
|
||||
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.26.2
|
||||
# github.com/aws/aws-sdk-go-v2/service/sts v1.26.5
|
||||
## explicit; go 1.19
|
||||
github.com/aws/aws-sdk-go-v2/service/sts
|
||||
github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints
|
||||
|
|
@ -235,6 +235,7 @@ github.com/aws/smithy-go/internal/sync/singleflight
|
|||
github.com/aws/smithy-go/io
|
||||
github.com/aws/smithy-go/logging
|
||||
github.com/aws/smithy-go/middleware
|
||||
github.com/aws/smithy-go/private/requestcompression
|
||||
github.com/aws/smithy-go/ptr
|
||||
github.com/aws/smithy-go/rand
|
||||
github.com/aws/smithy-go/sync
|
||||
|
|
|
|||
Loading…
Reference in New Issue