build(deps): bump the go-deps group across 1 directory with 13 updates

Bumps the go-deps group with 8 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2) | `1.30.3` | `1.30.4` |
| [github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2) | `1.27.9` | `1.27.31` |
| [github.com/aws/aws-sdk-go-v2/feature/s3/manager](https://github.com/aws/aws-sdk-go-v2) | `1.16.9` | `1.17.16` |
| [github.com/aws/aws-sdk-go-v2/service/autoscaling](https://github.com/aws/aws-sdk-go-v2) | `1.43.3` | `1.43.5` |
| [github.com/aws/aws-sdk-go-v2/service/ec2](https://github.com/aws/aws-sdk-go-v2) | `1.173.0` | `1.177.0` |
| [github.com/openshift-online/ocm-sdk-go](https://github.com/openshift-online/ocm-sdk-go) | `0.1.432` | `0.1.438` |
| [github.com/osbuild/images](https://github.com/osbuild/images) | `0.79.0` | `0.80.0` |
| [github.com/prometheus/client_golang](https://github.com/prometheus/client_golang) | `1.19.1` | `1.20.2` |



Updates `github.com/aws/aws-sdk-go-v2` from 1.30.3 to 1.30.4
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.30.3...v1.30.4)

Updates `github.com/aws/aws-sdk-go-v2/config` from 1.27.9 to 1.27.31
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.27.9...config/v1.27.31)

Updates `github.com/aws/aws-sdk-go-v2/credentials` from 1.17.9 to 1.17.30
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/config/v1.17.9...credentials/v1.17.30)

Updates `github.com/aws/aws-sdk-go-v2/feature/ec2/imds` from 1.16.0 to 1.16.12
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.0...v1.16.12)

Updates `github.com/aws/aws-sdk-go-v2/feature/s3/manager` from 1.16.9 to 1.17.16
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/v1.16.9...credentials/v1.17.16)

Updates `github.com/aws/aws-sdk-go-v2/service/autoscaling` from 1.43.3 to 1.43.5
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/fsx/v1.43.3...service/fsx/v1.43.5)

Updates `github.com/aws/aws-sdk-go-v2/service/ec2` from 1.173.0 to 1.177.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/ec2/v1.173.0...service/ec2/v1.177.0)

Updates `github.com/aws/aws-sdk-go-v2/service/s3` from 1.51.4 to 1.61.0
- [Release notes](https://github.com/aws/aws-sdk-go-v2/releases)
- [Commits](https://github.com/aws/aws-sdk-go-v2/compare/service/s3/v1.51.4...service/s3/v1.61.0)

Updates `github.com/aws/smithy-go` from 1.20.3 to 1.20.4
- [Release notes](https://github.com/aws/smithy-go/releases)
- [Changelog](https://github.com/aws/smithy-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/smithy-go/compare/v1.20.3...v1.20.4)

Updates `github.com/openshift-online/ocm-sdk-go` from 0.1.432 to 0.1.438
- [Release notes](https://github.com/openshift-online/ocm-sdk-go/releases)
- [Changelog](https://github.com/openshift-online/ocm-sdk-go/blob/main/CHANGES.md)
- [Commits](https://github.com/openshift-online/ocm-sdk-go/compare/v0.1.432...v0.1.438)

Updates `github.com/osbuild/images` from 0.79.0 to 0.80.0
- [Release notes](https://github.com/osbuild/images/releases)
- [Commits](https://github.com/osbuild/images/compare/v0.79.0...v0.80.0)

Updates `github.com/prometheus/client_golang` from 1.19.1 to 1.20.2
- [Release notes](https://github.com/prometheus/client_golang/releases)
- [Changelog](https://github.com/prometheus/client_golang/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prometheus/client_golang/compare/v1.19.1...v1.20.2)

Updates `google.golang.org/api` from 0.193.0 to 0.194.0
- [Release notes](https://github.com/googleapis/google-api-go-client/releases)
- [Changelog](https://github.com/googleapis/google-api-go-client/blob/main/CHANGES.md)
- [Commits](https://github.com/googleapis/google-api-go-client/compare/v0.193.0...v0.194.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go-v2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-deps
- dependency-name: github.com/aws/aws-sdk-go-v2/config
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-deps
- dependency-name: github.com/aws/aws-sdk-go-v2/credentials
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-deps
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/ec2/imds
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-deps
- dependency-name: github.com/aws/aws-sdk-go-v2/feature/s3/manager
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-deps
- dependency-name: github.com/aws/aws-sdk-go-v2/service/autoscaling
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-deps
- dependency-name: github.com/aws/aws-sdk-go-v2/service/ec2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-deps
- dependency-name: github.com/aws/aws-sdk-go-v2/service/s3
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-deps
- dependency-name: github.com/aws/smithy-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-deps
- dependency-name: github.com/openshift-online/ocm-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: go-deps
- dependency-name: github.com/osbuild/images
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-deps
- dependency-name: github.com/prometheus/client_golang
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-deps
- dependency-name: google.golang.org/api
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: go-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
This commit is contained in:
dependabot[bot] 2024-08-30 04:16:55 +00:00 committed by Tomáš Hozza
parent 30ea05dd43
commit 6bb45ef9d1
270 changed files with 16179 additions and 6002 deletions

57
go.mod
View file

@ -18,15 +18,15 @@ require (
github.com/Azure/go-autorest/autorest v0.11.29 github.com/Azure/go-autorest/autorest v0.11.29
github.com/Azure/go-autorest/autorest/azure/auth v0.5.13 github.com/Azure/go-autorest/autorest/azure/auth v0.5.13
github.com/BurntSushi/toml v1.4.0 github.com/BurntSushi/toml v1.4.0
github.com/aws/aws-sdk-go-v2 v1.30.3 github.com/aws/aws-sdk-go-v2 v1.30.4
github.com/aws/aws-sdk-go-v2/config v1.27.9 github.com/aws/aws-sdk-go-v2/config v1.27.31
github.com/aws/aws-sdk-go-v2/credentials v1.17.9 github.com/aws/aws-sdk-go-v2/credentials v1.17.30
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.0 github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.9 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.16
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.3 github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.5
github.com/aws/aws-sdk-go-v2/service/ec2 v1.173.0 github.com/aws/aws-sdk-go-v2/service/ec2 v1.177.0
github.com/aws/aws-sdk-go-v2/service/s3 v1.51.4 github.com/aws/aws-sdk-go-v2/service/s3 v1.61.0
github.com/aws/smithy-go v1.20.3 github.com/aws/smithy-go v1.20.4
github.com/coreos/go-semver v0.3.1 github.com/coreos/go-semver v0.3.1
github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf github.com/coreos/go-systemd v0.0.0-20191104093116-d3cd4ed1dbcf
github.com/deepmap/oapi-codegen v1.8.2 github.com/deepmap/oapi-codegen v1.8.2
@ -44,12 +44,12 @@ require (
github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b github.com/kolo/xmlrpc v0.0.0-20201022064351-38db28db192b
github.com/labstack/echo/v4 v4.12.0 github.com/labstack/echo/v4 v4.12.0
github.com/labstack/gommon v0.4.2 github.com/labstack/gommon v0.4.2
github.com/openshift-online/ocm-sdk-go v0.1.432 github.com/openshift-online/ocm-sdk-go v0.1.438
github.com/oracle/oci-go-sdk/v54 v54.0.0 github.com/oracle/oci-go-sdk/v54 v54.0.0
github.com/osbuild/images v0.79.0 github.com/osbuild/images v0.80.0
github.com/osbuild/osbuild-composer/pkg/splunk_logger v0.0.0-20240814102216-0239db53236d github.com/osbuild/osbuild-composer/pkg/splunk_logger v0.0.0-20240814102216-0239db53236d
github.com/osbuild/pulp-client v0.1.0 github.com/osbuild/pulp-client v0.1.0
github.com/prometheus/client_golang v1.19.1 github.com/prometheus/client_golang v1.20.2
github.com/segmentio/ksuid v1.0.4 github.com/segmentio/ksuid v1.0.4
github.com/sirupsen/logrus v1.9.3 github.com/sirupsen/logrus v1.9.3
github.com/spf13/cobra v1.8.1 github.com/spf13/cobra v1.8.1
@ -60,12 +60,12 @@ require (
golang.org/x/oauth2 v0.22.0 golang.org/x/oauth2 v0.22.0
golang.org/x/sync v0.8.0 golang.org/x/sync v0.8.0
golang.org/x/sys v0.24.0 golang.org/x/sys v0.24.0
google.golang.org/api v0.193.0 google.golang.org/api v0.194.0
) )
require ( require (
cloud.google.com/go v0.115.1 // indirect cloud.google.com/go v0.115.1 // indirect
cloud.google.com/go/auth v0.9.0 // indirect cloud.google.com/go/auth v0.9.1 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.4 // indirect cloud.google.com/go/auth/oauth2adapt v0.2.4 // indirect
cloud.google.com/go/compute/metadata v0.5.0 // indirect cloud.google.com/go/compute/metadata v0.5.0 // indirect
cloud.google.com/go/iam v1.1.12 // indirect cloud.google.com/go/iam v1.1.12 // indirect
@ -86,18 +86,18 @@ require (
github.com/VividCortex/ewma v1.2.0 // indirect github.com/VividCortex/ewma v1.2.0 // indirect
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 // indirect
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 // indirect github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 // indirect
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.3 // indirect github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.5 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.3 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.20.3 // indirect github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.3 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.28.5 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 // indirect
github.com/aymerick/douceur v0.2.0 // indirect github.com/aymerick/douceur v0.2.0 // indirect
github.com/beorn7/perks v1.0.1 // indirect github.com/beorn7/perks v1.0.1 // indirect
github.com/cenkalti/backoff/v4 v4.2.1 // indirect github.com/cenkalti/backoff/v4 v4.2.1 // indirect
@ -184,6 +184,7 @@ require (
github.com/moby/sys/user v0.2.0 // indirect github.com/moby/sys/user v0.2.0 // indirect
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect
github.com/oklog/ulid v1.3.1 // indirect github.com/oklog/ulid v1.3.1 // indirect
github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect
github.com/opencontainers/image-spec v1.1.0 // indirect github.com/opencontainers/image-spec v1.1.0 // indirect
@ -194,8 +195,8 @@ require (
github.com/pkg/errors v0.9.1 // indirect github.com/pkg/errors v0.9.1 // indirect
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
github.com/proglottis/gpgme v0.1.3 // indirect github.com/proglottis/gpgme v0.1.3 // indirect
github.com/prometheus/client_model v0.6.0 // indirect github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.51.1 // indirect github.com/prometheus/common v0.55.0 // indirect
github.com/prometheus/procfs v0.15.1 // indirect github.com/prometheus/procfs v0.15.1 // indirect
github.com/rivo/uniseg v0.4.7 // indirect github.com/rivo/uniseg v0.4.7 // indirect
github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect github.com/secure-systems-lab/go-securesystemslib v0.8.0 // indirect

114
go.sum
View file

@ -1,8 +1,8 @@
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
cloud.google.com/go v0.115.1 h1:Jo0SM9cQnSkYfp44+v+NQXHpcHqlnRJk2qxh6yvxxxQ= cloud.google.com/go v0.115.1 h1:Jo0SM9cQnSkYfp44+v+NQXHpcHqlnRJk2qxh6yvxxxQ=
cloud.google.com/go v0.115.1/go.mod h1:DuujITeaufu3gL68/lOFIirVNJwQeyf5UXyi+Wbgknc= cloud.google.com/go v0.115.1/go.mod h1:DuujITeaufu3gL68/lOFIirVNJwQeyf5UXyi+Wbgknc=
cloud.google.com/go/auth v0.9.0 h1:cYhKl1JUhynmxjXfrk4qdPc6Amw7i+GC9VLflgT0p5M= cloud.google.com/go/auth v0.9.1 h1:+pMtLEV2k0AXKvs/tGZojuj6QaioxfUjOpMsG5Gtx+w=
cloud.google.com/go/auth v0.9.0/go.mod h1:2HsApZBr9zGZhC9QAXsYVYaWk8kNUt37uny+XVKi7wM= cloud.google.com/go/auth v0.9.1/go.mod h1:Sw8ocT5mhhXxFklyhT12Eiy0ed6tTrPMCJjSI8KhYLk=
cloud.google.com/go/auth/oauth2adapt v0.2.4 h1:0GWE/FUsXhf6C+jAkWgYm7X9tK8cuEIfy19DBn6B6bY= cloud.google.com/go/auth/oauth2adapt v0.2.4 h1:0GWE/FUsXhf6C+jAkWgYm7X9tK8cuEIfy19DBn6B6bY=
cloud.google.com/go/auth/oauth2adapt v0.2.4/go.mod h1:jC/jOpwFP6JBxhB3P5Rr0a9HLMC/Pe3eaL4NmdvqPtc= cloud.google.com/go/auth/oauth2adapt v0.2.4/go.mod h1:jC/jOpwFP6JBxhB3P5Rr0a9HLMC/Pe3eaL4NmdvqPtc=
cloud.google.com/go/compute v1.28.0 h1:OPtBxMcheSS+DWfci803qvPly3d4w7Eu5ztKBcFfzwk= cloud.google.com/go/compute v1.28.0 h1:OPtBxMcheSS+DWfci803qvPly3d4w7Eu5ztKBcFfzwk=
@ -84,48 +84,48 @@ github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpH
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so= github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so=
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/aws/aws-sdk-go-v2 v1.30.3 h1:jUeBtG0Ih+ZIFH0F4UkmL9w3cSpaMv9tYYDbzILP8dY= github.com/aws/aws-sdk-go-v2 v1.30.4 h1:frhcagrVNrzmT95RJImMHgabt99vkXGslubDaDagTk8=
github.com/aws/aws-sdk-go-v2 v1.30.3/go.mod h1:nIQjQVp5sfpQcTc9mPSr1B0PaWK5ByX9MOoDadSN4lc= github.com/aws/aws-sdk-go-v2 v1.30.4/go.mod h1:CT+ZPWXbYrci8chcARI3OmI/qgd+f6WtuLOoaIA8PR0=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1 h1:gTK2uhtAPtFcdRRJilZPx8uJLL2J85xK11nKtWL0wfU= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4 h1:70PVAiL15/aBMh5LThwgXdSQorVr91L127ttckI9QQU=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.1/go.mod h1:sxpLb+nZk7tIfCWChfd+h4QwHNUR57d8hA1cleTkjJo= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.4/go.mod h1:/MQxMqci8tlqDH+pjmoLu1i0tbWCUP1hhyMRuFxpQCw=
github.com/aws/aws-sdk-go-v2/config v1.27.9 h1:gRx/NwpNEFSk+yQlgmk1bmxxvQ5TyJ76CWXs9XScTqg= github.com/aws/aws-sdk-go-v2/config v1.27.31 h1:kxBoRsjhT3pq0cKthgj6RU6bXTm/2SgdoUMyrVw0rAI=
github.com/aws/aws-sdk-go-v2/config v1.27.9/go.mod h1:dK1FQfpwpql83kbD873E9vz4FyAxuJtR22wzoXn3qq0= github.com/aws/aws-sdk-go-v2/config v1.27.31/go.mod h1:z04nZdSWFPaDwK3DdJOG2r+scLQzMYuJeW0CujEm9FM=
github.com/aws/aws-sdk-go-v2/credentials v1.17.9 h1:N8s0/7yW+h8qR8WaRlPQeJ6czVMNQVNtNdUqf6cItao= github.com/aws/aws-sdk-go-v2/credentials v1.17.30 h1:aau/oYFtibVovr2rDt8FHlU17BTicFEMAi29V1U+L5Q=
github.com/aws/aws-sdk-go-v2/credentials v1.17.9/go.mod h1:446YhIdmSV0Jf/SLafGZalQo+xr2iw7/fzXGDPTU1yQ= github.com/aws/aws-sdk-go-v2/credentials v1.17.30/go.mod h1:BPJ/yXV92ZVq6G8uYvbU0gSl8q94UB63nMT5ctNO38g=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.0 h1:af5YzcLf80tv4Em4jWVD75lpnOHSBkPUZxZfGkrI3HI= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12 h1:yjwoSyDZF8Jth+mUk5lSPJCkMC0lMy6FaCD51jm6ayE=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.0/go.mod h1:nQ3how7DMnFMWiU1SpECohgC82fpn4cKZ875NDMmwtA= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.12/go.mod h1:fuR57fAgMk7ot3WcNQfb6rSEn+SUffl7ri+aa8uKysI=
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.9 h1:vXY/Hq1XdxHBIYgBUmug/AbMyIe1AKulPYS2/VE1X70= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.16 h1:1FWqcOnvnO0lRsv0kLACwwQquoZIoS5tD0MtfoNdnkk=
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.9/go.mod h1:GyJJTZoHVuENM4TeJEl5Ffs4W9m19u+4wKJcDi/GZ4A= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.16/go.mod h1:+E8OuB446P/5Swajo40TqenLMzm6aYDEEz6FZDn/u1E=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15 h1:SoNJ4RlFEQEbtDcCEt+QG56MY4fm4W8rYirAmq+/DdU= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16 h1:TNyt/+X43KJ9IJJMjKfa3bNTiZbUP7DeCxfbTROESwY=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.15/go.mod h1:U9ke74k1n2bf+RIgoX1SXFed1HLs51OgUSs+Ph0KJP8= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.16/go.mod h1:2DwJF39FlNAUiX5pAc0UNeiz16lK2t7IaFcm0LFHEgc=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15 h1:C6WHdGnTDIYETAm5iErQUiVNsclNx9qbJVPIt03B6bI= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16 h1:jYfy8UPmd+6kJW5YhY0L1/KftReOGxI/4NtVSTh9O/I=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.15/go.mod h1:ZQLZqhcu+JhSrA9/NXRm8SkDvsycE+JkV3WGY41e+IM= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.16/go.mod h1:7ZfEPZxkW42Afq4uQB8H2E2e6ebh6mXTueEpYzjCzcs=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0 h1:hT8rVHwugYE2lEfdFE0QWVo81lF7jMrYJVDWI+f+VxU= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1 h1:VaRN3TlFdd6KxX1x3ILT5ynH6HvKgqdiXoTxAF4HQcQ=
github.com/aws/aws-sdk-go-v2/internal/ini v1.8.0/go.mod h1:8tu/lYfQfFe6IGnaOdrpVgEL2IrrDOf6/m9RQum4NkY= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.1/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.3 h1:mDnFOE2sVkyphMWtTH+stv0eW3k0OTx94K63xpxHty4= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16 h1:mimdLQkIX1zr8GIPY1ZtALdBQGxcASiBd2MOp8m/dMc=
github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.3/go.mod h1:V8MuRVcCRt5h1S+Fwu8KbC7l/gBGo3yBAyUbJM2IJOk= github.com/aws/aws-sdk-go-v2/internal/v4a v1.3.16/go.mod h1:YHk6owoSwrIsok+cAH9PENCOGoH5PU2EllX4vLtSrsY=
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.3 h1:y4kBd6IXizNoJ1QnVa1kFFmonxnv6mm6z+q7z0Jkdhg= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.5 h1:b9wq1tEV06De56Vzpif7MFtMmErKWh+WureDxMwItnE=
github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.3/go.mod h1:j2WsKJ/NQS+y8JUgpv+BBzyzddNZP2SG60fB5aQBZaA= github.com/aws/aws-sdk-go-v2/service/autoscaling v1.43.5/go.mod h1:dDC/8RWLlLrUEoVJB04yka2iIWkFdtAAliefSH+FUlo=
github.com/aws/aws-sdk-go-v2/service/ec2 v1.173.0 h1:ta62lid9JkIpKZtZZXSj6rP2AqY5x1qYGq53ffxqD9Q= github.com/aws/aws-sdk-go-v2/service/ec2 v1.177.0 h1:LAdDRIj5BEZM9fLDTUWUyPzWvv5A++nCEps/RGmZNOo=
github.com/aws/aws-sdk-go-v2/service/ec2 v1.173.0/go.mod h1:o6QDjdVKpP5EF0dp/VlvqckzuSDATr1rLdHt3A5m0YY= github.com/aws/aws-sdk-go-v2/service/ec2 v1.177.0/go.mod h1:ISODge3zgdwOEa4Ou6WM9PKbxJWJ15DYKnr2bfmCAIA=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3 h1:dT3MqvGhSoaIhRseqw2I0yH81l7wiR2vjs57O51EAm8= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4 h1:KypMCbLPPHEmf9DgMGw51jMj77VfGPAN2Kv4cfhlfgI=
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.3/go.mod h1:GlAeCkHwugxdHaueRr4nhPuY+WW+gR8UjlcqzPr1SPI= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.11.4/go.mod h1:Vz1JQXliGcQktFTN/LN6uGppAIRoLBR2bMvIMP0gOjc=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.5 h1:mbWNpfRUTT6bnacmvOTKXZjR/HycibdWzNpfbrbLDIs= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18 h1:GckUnpm4EJOAio1c8o25a+b3lVfwVzC9gnSBqiiNmZM=
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.5/go.mod h1:FCOPWGjsshkkICJIn9hq9xr6dLKtyaWpuUojiN3W1/8= github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.18/go.mod h1:Br6+bxfG33Dk3ynmkhsW2Z/t9D4+lRqdLDNCKi85w0U=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17 h1:HGErhhrxZlQ044RiM+WdoZxp0p+EGM62y3L6pwA4olE= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18 h1:tJ5RnkHCiSH0jyd6gROjlJtNwov0eGYNz8s8nFcR0jQ=
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.17/go.mod h1:RkZEx4l0EHYDJpWppMJ3nD9wZJAa8/0lq9aVC+r2UII= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.18/go.mod h1:++NHzT+nAF7ZPrHPsA+ENvsXkOO8wEu+C6RXltAG4/c=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.3 h1:4t+QEX7BsXz98W8W1lNvMAG+NX8qHz2CjLBxQKku40g= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16 h1:jg16PhLPUiHIj8zYIW6bqzeQSuHVEiWnGA0Brz5Xv2I=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.3/go.mod h1:oFcjjUq5Hm09N9rpxTdeMeLeQcxS7mIkBkL8qUKng+A= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.16/go.mod h1:Uyk1zE1VVdsHSU7096h/rwnXDzOzYQVl+FNPhPw7ShY=
github.com/aws/aws-sdk-go-v2/service/s3 v1.51.4 h1:lW5xUzOPGAMY7HPuNF4FdyBwRc3UJ/e8KsapbesVeNU= github.com/aws/aws-sdk-go-v2/service/s3 v1.61.0 h1:Wb544Wh+xfSXqJ/j3R4aX9wrKUoZsJNmilBYZb3mKQ4=
github.com/aws/aws-sdk-go-v2/service/s3 v1.51.4/go.mod h1:MGTaf3x/+z7ZGugCGvepnx2DS6+caCYYqKhzVoLNYPk= github.com/aws/aws-sdk-go-v2/service/s3 v1.61.0/go.mod h1:BSPI0EfnYUuNHPS0uqIo5VrRwzie+Fp+YhQOUs16sKI=
github.com/aws/aws-sdk-go-v2/service/sso v1.20.3 h1:mnbuWHOcM70/OFUlZZ5rcdfA8PflGXXiefU/O+1S3+8= github.com/aws/aws-sdk-go-v2/service/sso v1.22.5 h1:zCsFCKvbj25i7p1u94imVoO447I/sFv8qq+lGJhRN0c=
github.com/aws/aws-sdk-go-v2/service/sso v1.20.3/go.mod h1:5HFu51Elk+4oRBZVxmHrSds5jFXmFj8C3w7DVF2gnrs= github.com/aws/aws-sdk-go-v2/service/sso v1.22.5/go.mod h1:ZeDX1SnKsVlejeuz41GiajjZpRSWR7/42q/EyA/QEiM=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.3 h1:uLq0BKatTmDzWa/Nu4WO0M1AaQDaPpwTKAeByEc6WFM= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5 h1:SKvPgvdvmiTWoi0GAJ7AsJfOz3ngVkD/ERbs5pUnHNI=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.3/go.mod h1:b+qdhjnxj8GSR6t5YfphOffeoQSQ1KmpoVVuBn+PWxs= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.26.5/go.mod h1:20sz31hv/WsPa3HhU3hfrIet2kxM4Pe0r20eBZ20Tac=
github.com/aws/aws-sdk-go-v2/service/sts v1.28.5 h1:J/PpTf/hllOjx8Xu9DMflff3FajfLxqM5+tepvVXmxg= github.com/aws/aws-sdk-go-v2/service/sts v1.30.5 h1:OMsEmCyz2i89XwRwPouAJvhj81wINh+4UK+k/0Yo/q8=
github.com/aws/aws-sdk-go-v2/service/sts v1.28.5/go.mod h1:0ih0Z83YDH/QeQ6Ori2yGE2XvWYv/Xm+cZc01LC6oK0= github.com/aws/aws-sdk-go-v2/service/sts v1.30.5/go.mod h1:vmSqFK+BVIwVpDAGZB3CoCXHzurt4qBE8lf+I/kRTh0=
github.com/aws/smithy-go v1.20.3 h1:ryHwveWzPV5BIof6fyDvor6V3iUL7nTfiTKXHiW05nE= github.com/aws/smithy-go v1.20.4 h1:2HK1zBdPgRbjFOHlfeQZfpC4r72MOb9bZkiFwggKO+4=
github.com/aws/smithy-go v1.20.3/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/aws/smithy-go v1.20.4/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg=
github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk=
github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
@ -490,6 +490,8 @@ github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9G
github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk=
github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A=
github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA=
github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ=
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/onsi/ginkgo/v2 v2.20.0 h1:PE84V2mHqoT1sglvHc8ZdQtPcwmvvt29WLEEO3xmdZw= github.com/onsi/ginkgo/v2 v2.20.0 h1:PE84V2mHqoT1sglvHc8ZdQtPcwmvvt29WLEEO3xmdZw=
@ -504,12 +506,12 @@ github.com/opencontainers/runtime-spec v1.2.0 h1:z97+pHb3uELt/yiAWD691HNHQIF07bE
github.com/opencontainers/runtime-spec v1.2.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.2.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU= github.com/opencontainers/selinux v1.11.0 h1:+5Zbo97w3Lbmb3PeqQtpmTkMwsW5nRI3YaLpt7tQ7oU=
github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec=
github.com/openshift-online/ocm-sdk-go v0.1.432 h1:XIlCJKxXXznMP5Usu9lVGZa+UTYVlZ/ZKwqTvtNKhw8= github.com/openshift-online/ocm-sdk-go v0.1.438 h1:tsLCCUzbLCTL4RZG02y9RuopmGCXp2cjxqhdyCutdes=
github.com/openshift-online/ocm-sdk-go v0.1.432/go.mod h1:CiAu2jwl3ITKOxkeV0Qnhzv4gs35AmpIzVABQLtcI2Y= github.com/openshift-online/ocm-sdk-go v0.1.438/go.mod h1:CiAu2jwl3ITKOxkeV0Qnhzv4gs35AmpIzVABQLtcI2Y=
github.com/oracle/oci-go-sdk/v54 v54.0.0 h1:CDLjeSejv2aDpElAJrhKpi6zvT/zhZCZuXchUUZ+LS4= github.com/oracle/oci-go-sdk/v54 v54.0.0 h1:CDLjeSejv2aDpElAJrhKpi6zvT/zhZCZuXchUUZ+LS4=
github.com/oracle/oci-go-sdk/v54 v54.0.0/go.mod h1:+t+yvcFGVp+3ZnztnyxqXfQDsMlq8U25faBLa+mqCMc= github.com/oracle/oci-go-sdk/v54 v54.0.0/go.mod h1:+t+yvcFGVp+3ZnztnyxqXfQDsMlq8U25faBLa+mqCMc=
github.com/osbuild/images v0.79.0 h1:6kBRo0WzmyQTZ4ojX1oU9nIxBazZOO4I3FLsZaz8268= github.com/osbuild/images v0.80.0 h1:+Ra0qYrTj8v5eUfk1VG/NMHQiTfsNGrcTrj2aCawiSM=
github.com/osbuild/images v0.79.0/go.mod h1:Rzud9PFt0L9qFFlisL9I6OsZ2h0M6viMBdPhPtpwfwg= github.com/osbuild/images v0.80.0/go.mod h1:mcBIJoSTCuglH2+yaIp7VOos/N+9E2VrHlJvejd/4Vg=
github.com/osbuild/osbuild-composer/pkg/splunk_logger v0.0.0-20240814102216-0239db53236d h1:r9BFPDv0uuA9k1947Jybcxs36c/pTywWS1gjeizvtcQ= github.com/osbuild/osbuild-composer/pkg/splunk_logger v0.0.0-20240814102216-0239db53236d h1:r9BFPDv0uuA9k1947Jybcxs36c/pTywWS1gjeizvtcQ=
github.com/osbuild/osbuild-composer/pkg/splunk_logger v0.0.0-20240814102216-0239db53236d/go.mod h1:zR1iu/hOuf+OQNJlk70tju9IqzzM4ycq0ectkFBm94U= github.com/osbuild/osbuild-composer/pkg/splunk_logger v0.0.0-20240814102216-0239db53236d/go.mod h1:zR1iu/hOuf+OQNJlk70tju9IqzzM4ycq0ectkFBm94U=
github.com/osbuild/pulp-client v0.1.0 h1:L0C4ezBJGTamN3BKdv+rKLuq/WxXJbsFwz/Hj7aEmJ8= github.com/osbuild/pulp-client v0.1.0 h1:L0C4ezBJGTamN3BKdv+rKLuq/WxXJbsFwz/Hj7aEmJ8=
@ -528,13 +530,13 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/proglottis/gpgme v0.1.3 h1:Crxx0oz4LKB3QXc5Ea0J19K/3ICfy3ftr5exgUK1AU0= github.com/proglottis/gpgme v0.1.3 h1:Crxx0oz4LKB3QXc5Ea0J19K/3ICfy3ftr5exgUK1AU0=
github.com/proglottis/gpgme v0.1.3/go.mod h1:fPbW/EZ0LvwQtH8Hy7eixhp1eF3G39dtx7GUN+0Gmy0= github.com/proglottis/gpgme v0.1.3/go.mod h1:fPbW/EZ0LvwQtH8Hy7eixhp1eF3G39dtx7GUN+0Gmy0=
github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg=
github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/client_model v0.6.0 h1:k1v3CzpSRUTrKMppY35TLwPvxHqBu0bYgxZzqGIgaos= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E=
github.com/prometheus/client_model v0.6.0/go.mod h1:NTQHnmxFpouOD0DpvP4XujX3CdOAGQPoaGhyTchlyt8= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY=
github.com/prometheus/common v0.51.1 h1:eIjN50Bwglz6a/c3hAgSMcofL3nD+nFQkV6Dd4DsQCw= github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc=
github.com/prometheus/common v0.51.1/go.mod h1:lrWtQx+iDfn2mbH5GUzlH9TSHyfZpHkSiG1W7y3sF2Q= github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8=
github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc=
github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
@ -813,8 +815,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/api v0.193.0 h1:eOGDoJFsLU+HpCBaDJex2fWiYujAw9KbXgpOAMePoUs= google.golang.org/api v0.194.0 h1:dztZKG9HgtIpbI35FhfuSNR/zmaMVdxNlntHj1sIS4s=
google.golang.org/api v0.193.0/go.mod h1:Po3YMV1XZx+mTku3cfJrlIYR03wiGrCOsdpC67hjZvw= google.golang.org/api v0.194.0/go.mod h1:AgvUFdojGANh3vI+P7EVnxj3AISHllxGCJSFmggmnd0=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=

View file

@ -1,5 +1,12 @@
# Changelog # Changelog
## [0.9.1](https://github.com/googleapis/google-cloud-go/compare/auth/v0.9.0...auth/v0.9.1) (2024-08-22)
### Bug Fixes
* **auth:** Setting expireEarly to default when the value is 0 ([#10732](https://github.com/googleapis/google-cloud-go/issues/10732)) ([5e67869](https://github.com/googleapis/google-cloud-go/commit/5e67869a31e9e8ecb4eeebd2cfa11a761c3b1948))
## [0.9.0](https://github.com/googleapis/google-cloud-go/compare/auth/v0.8.1...auth/v0.9.0) (2024-08-16) ## [0.9.0](https://github.com/googleapis/google-cloud-go/compare/auth/v0.8.1...auth/v0.9.0) (2024-08-16)

View file

@ -258,7 +258,7 @@ func (ctpo *CachedTokenProviderOptions) autoRefresh() bool {
} }
func (ctpo *CachedTokenProviderOptions) expireEarly() time.Duration { func (ctpo *CachedTokenProviderOptions) expireEarly() time.Duration {
if ctpo == nil { if ctpo == nil || ctpo.ExpireEarly == 0 {
return defaultExpiryDelta return defaultExpiryDelta
} }
return ctpo.ExpireEarly return ctpo.ExpireEarly

View file

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

View file

@ -1,3 +1,15 @@
# v1.6.4 (2024-08-15)
* **Dependency Update**: Bump minimum Go version to 1.21.
# v1.6.3 (2024-06-28)
* No change notes available for this release.
# v1.6.2 (2024-03-29)
* No change notes available for this release.
# v1.6.1 (2024-02-21) # v1.6.1 (2024-02-21)
* No change notes available for this release. * No change notes available for this release.

View file

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

View file

@ -1,3 +1,93 @@
# v1.27.31 (2024-08-26)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.30 (2024-08-23)
* **Bug Fix**: Don't fail credentials unit tests if credentials are found on a file
# v1.27.29 (2024-08-22)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.28 (2024-08-15)
* **Dependency Update**: Bump minimum Go version to 1.21.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.27 (2024-07-18)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.26 (2024-07-10.2)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.25 (2024-07-10)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.24 (2024-07-03)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.23 (2024-06-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.22 (2024-06-26)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.21 (2024-06-19)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.20 (2024-06-18)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.19 (2024-06-17)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.18 (2024-06-07)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.17 (2024-06-03)
* **Documentation**: Add deprecation docs to global endpoint resolution interfaces. These APIs were previously deprecated with the introduction of service-specific endpoint resolution (EndpointResolverV2 and BaseEndpoint on service client options).
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.16 (2024-05-23)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.15 (2024-05-16)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.14 (2024-05-15)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.13 (2024-05-10)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.12 (2024-05-08)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.11 (2024-04-05)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.10 (2024-03-29)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.27.9 (2024-03-21) # v1.27.9 (2024-03-21)
* **Dependency Update**: Updated to the latest SDK module versions * **Dependency Update**: Updated to the latest SDK module versions

View file

@ -80,6 +80,9 @@ var defaultAWSConfigResolvers = []awsConfigResolver{
// Sets the RequestMinCompressSizeBytes if present in env var or shared config profile // Sets the RequestMinCompressSizeBytes if present in env var or shared config profile
resolveRequestMinCompressSizeBytes, resolveRequestMinCompressSizeBytes,
// Sets the AccountIDEndpointMode if present in env var or shared config profile
resolveAccountIDEndpointMode,
} }
// A Config represents a generic configuration value or set of values. This type // A Config represents a generic configuration value or set of values. This type

View file

@ -80,6 +80,9 @@ const (
awsRequestMinCompressionSizeBytes = "AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTES" awsRequestMinCompressionSizeBytes = "AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTES"
awsS3DisableExpressSessionAuthEnv = "AWS_S3_DISABLE_EXPRESS_SESSION_AUTH" awsS3DisableExpressSessionAuthEnv = "AWS_S3_DISABLE_EXPRESS_SESSION_AUTH"
awsAccountIDEnv = "AWS_ACCOUNT_ID"
awsAccountIDEndpointModeEnv = "AWS_ACCOUNT_ID_ENDPOINT_MODE"
) )
var ( var (
@ -290,6 +293,9 @@ type EnvConfig struct {
// will only bypass the modified endpoint routing and signing behaviors // will only bypass the modified endpoint routing and signing behaviors
// associated with the feature. // associated with the feature.
S3DisableExpressAuth *bool S3DisableExpressAuth *bool
// Indicates whether account ID will be required/ignored in endpoint2.0 routing
AccountIDEndpointMode aws.AccountIDEndpointMode
} }
// loadEnvConfig reads configuration values from the OS's environment variables. // loadEnvConfig reads configuration values from the OS's environment variables.
@ -309,6 +315,7 @@ func NewEnvConfig() (EnvConfig, error) {
setStringFromEnvVal(&creds.AccessKeyID, credAccessEnvKeys) setStringFromEnvVal(&creds.AccessKeyID, credAccessEnvKeys)
setStringFromEnvVal(&creds.SecretAccessKey, credSecretEnvKeys) setStringFromEnvVal(&creds.SecretAccessKey, credSecretEnvKeys)
if creds.HasKeys() { if creds.HasKeys() {
creds.AccountID = os.Getenv(awsAccountIDEnv)
creds.SessionToken = os.Getenv(awsSessionTokenEnvVar) creds.SessionToken = os.Getenv(awsSessionTokenEnvVar)
cfg.Credentials = creds cfg.Credentials = creds
} }
@ -389,6 +396,10 @@ func NewEnvConfig() (EnvConfig, error) {
return cfg, err return cfg, err
} }
if err := setAIDEndPointModeFromEnvVal(&cfg.AccountIDEndpointMode, []string{awsAccountIDEndpointModeEnv}); err != nil {
return cfg, err
}
return cfg, nil return cfg, nil
} }
@ -417,6 +428,10 @@ func (c EnvConfig) getRequestMinCompressSizeBytes(context.Context) (int64, bool,
return *c.RequestMinCompressSizeBytes, true, nil return *c.RequestMinCompressSizeBytes, true, nil
} }
func (c EnvConfig) getAccountIDEndpointMode(context.Context) (aws.AccountIDEndpointMode, bool, error) {
return c.AccountIDEndpointMode, len(c.AccountIDEndpointMode) > 0, nil
}
// GetRetryMaxAttempts returns the value of AWS_MAX_ATTEMPTS if was specified, // GetRetryMaxAttempts returns the value of AWS_MAX_ATTEMPTS if was specified,
// and not 0. // and not 0.
func (c EnvConfig) GetRetryMaxAttempts(ctx context.Context) (int, bool, error) { func (c EnvConfig) GetRetryMaxAttempts(ctx context.Context) (int, bool, error) {
@ -491,6 +506,28 @@ func setEC2IMDSEndpointMode(mode *imds.EndpointModeState, keys []string) error {
return nil return nil
} }
func setAIDEndPointModeFromEnvVal(m *aws.AccountIDEndpointMode, keys []string) error {
for _, k := range keys {
value := os.Getenv(k)
if len(value) == 0 {
continue
}
switch value {
case "preferred":
*m = aws.AccountIDEndpointModePreferred
case "required":
*m = aws.AccountIDEndpointModeRequired
case "disabled":
*m = aws.AccountIDEndpointModeDisabled
default:
return fmt.Errorf("invalid value for environment variable, %s=%s, must be preferred/required/disabled", k, value)
}
break
}
return nil
}
// GetRegion returns the AWS Region if set in the environment. Returns an empty // GetRegion returns the AWS Region if set in the environment. Returns an empty
// string if not set. // string if not set.
func (c EnvConfig) getRegion(ctx context.Context) (string, bool, error) { func (c EnvConfig) getRegion(ctx context.Context) (string, bool, error) {

View file

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

View file

@ -215,6 +215,8 @@ type LoadOptions struct {
// Whether S3 Express auth is disabled. // Whether S3 Express auth is disabled.
S3DisableExpressAuth *bool S3DisableExpressAuth *bool
AccountIDEndpointMode aws.AccountIDEndpointMode
} }
func (o LoadOptions) getDefaultsMode(ctx context.Context) (aws.DefaultsMode, bool, error) { func (o LoadOptions) getDefaultsMode(ctx context.Context) (aws.DefaultsMode, bool, error) {
@ -278,6 +280,10 @@ func (o LoadOptions) getRequestMinCompressSizeBytes(ctx context.Context) (int64,
return *o.RequestMinCompressSizeBytes, true, nil return *o.RequestMinCompressSizeBytes, true, nil
} }
func (o LoadOptions) getAccountIDEndpointMode(ctx context.Context) (aws.AccountIDEndpointMode, bool, error) {
return o.AccountIDEndpointMode, len(o.AccountIDEndpointMode) > 0, nil
}
// WithRegion is a helper function to construct functional options // WithRegion is a helper function to construct functional options
// that sets Region on config's LoadOptions. Setting the region to // that sets Region on config's LoadOptions. Setting the region to
// an empty string, will result in the region value being ignored. // an empty string, will result in the region value being ignored.
@ -323,6 +329,17 @@ func WithRequestMinCompressSizeBytes(RequestMinCompressSizeBytes *int64) LoadOpt
} }
} }
// WithAccountIDEndpointMode is a helper function to construct functional options
// that sets AccountIDEndpointMode on config's LoadOptions
func WithAccountIDEndpointMode(m aws.AccountIDEndpointMode) LoadOptionsFunc {
return func(o *LoadOptions) error {
if m != "" {
o.AccountIDEndpointMode = m
}
return nil
}
}
// getDefaultRegion returns DefaultRegion from config's LoadOptions // getDefaultRegion returns DefaultRegion from config's LoadOptions
func (o LoadOptions) getDefaultRegion(ctx context.Context) (string, bool, error) { func (o LoadOptions) getDefaultRegion(ctx context.Context) (string, bool, error) {
if len(o.DefaultRegion) == 0 { if len(o.DefaultRegion) == 0 {
@ -824,7 +841,14 @@ func (o LoadOptions) getEndpointResolver(ctx context.Context) (aws.EndpointResol
// the EndpointResolver value is ignored. If multiple WithEndpointResolver calls // the EndpointResolver value is ignored. If multiple WithEndpointResolver calls
// are made, the last call overrides the previous call values. // are made, the last call overrides the previous call values.
// //
// Deprecated: See WithEndpointResolverWithOptions // Deprecated: The global endpoint resolution interface is deprecated. The API
// for endpoint resolution is now unique to each service and is set via the
// EndpointResolverV2 field on service client options. Use of
// WithEndpointResolver or WithEndpointResolverWithOptions will prevent you
// from using any endpoint-related service features released after the
// introduction of EndpointResolverV2. You may also encounter broken or
// unexpected behavior when using the old global interface with services that
// use many endpoint-related customizations such as S3.
func WithEndpointResolver(v aws.EndpointResolver) LoadOptionsFunc { func WithEndpointResolver(v aws.EndpointResolver) LoadOptionsFunc {
return func(o *LoadOptions) error { return func(o *LoadOptions) error {
o.EndpointResolver = v o.EndpointResolver = v
@ -844,6 +868,9 @@ func (o LoadOptions) getEndpointResolverWithOptions(ctx context.Context) (aws.En
// that sets the EndpointResolverWithOptions on LoadOptions. If the EndpointResolverWithOptions is set to nil, // that sets the EndpointResolverWithOptions on LoadOptions. If the EndpointResolverWithOptions is set to nil,
// the EndpointResolver value is ignored. If multiple WithEndpointResolver calls // the EndpointResolver value is ignored. If multiple WithEndpointResolver calls
// are made, the last call overrides the previous call values. // are made, the last call overrides the previous call values.
//
// Deprecated: The global endpoint resolution interface is deprecated. See
// deprecation docs on [WithEndpointResolver].
func WithEndpointResolverWithOptions(v aws.EndpointResolverWithOptions) LoadOptionsFunc { func WithEndpointResolverWithOptions(v aws.EndpointResolverWithOptions) LoadOptionsFunc {
return func(o *LoadOptions) error { return func(o *LoadOptions) error {
o.EndpointResolverWithOptions = v o.EndpointResolverWithOptions = v

View file

@ -225,6 +225,23 @@ func getRequestMinCompressSizeBytes(ctx context.Context, configs configs) (value
return return
} }
// accountIDEndpointModeProvider provides access to the AccountIDEndpointMode
type accountIDEndpointModeProvider interface {
getAccountIDEndpointMode(context.Context) (aws.AccountIDEndpointMode, bool, error)
}
func getAccountIDEndpointMode(ctx context.Context, configs configs) (value aws.AccountIDEndpointMode, found bool, err error) {
for _, cfg := range configs {
if p, ok := cfg.(accountIDEndpointModeProvider); ok {
value, found, err = p.getAccountIDEndpointMode(ctx)
if err != nil || found {
break
}
}
}
return
}
// ec2IMDSRegionProvider provides access to the ec2 imds region // ec2IMDSRegionProvider provides access to the ec2 imds region
// configuration value // configuration value
type ec2IMDSRegionProvider interface { type ec2IMDSRegionProvider interface {

View file

@ -166,6 +166,22 @@ func resolveRequestMinCompressSizeBytes(ctx context.Context, cfg *aws.Config, co
return nil return nil
} }
// resolveAccountIDEndpointMode extracts the AccountIDEndpointMode from the configs slice's
// SharedConfig or EnvConfig
func resolveAccountIDEndpointMode(ctx context.Context, cfg *aws.Config, configs configs) error {
m, found, err := getAccountIDEndpointMode(ctx, configs)
if err != nil {
return err
}
if !found {
m = aws.AccountIDEndpointModePreferred
}
cfg.AccountIDEndpointMode = m
return nil
}
// resolveDefaultRegion extracts the first instance of a default region and sets `aws.Config.Region` to the default // 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. // region if region had not been resolved from other sources.
func resolveDefaultRegion(ctx context.Context, cfg *aws.Config, configs configs) error { func resolveDefaultRegion(ctx context.Context, cfg *aws.Config, configs configs) error {

View file

@ -115,6 +115,9 @@ const (
requestMinCompressionSizeBytes = "request_min_compression_size_bytes" requestMinCompressionSizeBytes = "request_min_compression_size_bytes"
s3DisableExpressSessionAuthKey = "s3_disable_express_session_auth" s3DisableExpressSessionAuthKey = "s3_disable_express_session_auth"
accountIDKey = "aws_account_id"
accountIDEndpointMode = "account_id_endpoint_mode"
) )
// defaultSharedConfigProfile allows for swapping the default profile for testing // defaultSharedConfigProfile allows for swapping the default profile for testing
@ -341,6 +344,8 @@ type SharedConfig struct {
// will only bypass the modified endpoint routing and signing behaviors // will only bypass the modified endpoint routing and signing behaviors
// associated with the feature. // associated with the feature.
S3DisableExpressAuth *bool S3DisableExpressAuth *bool
AccountIDEndpointMode aws.AccountIDEndpointMode
} }
func (c SharedConfig) getDefaultsMode(ctx context.Context) (value aws.DefaultsMode, ok bool, err error) { func (c SharedConfig) getDefaultsMode(ctx context.Context) (value aws.DefaultsMode, ok bool, err error) {
@ -1124,12 +1129,17 @@ func (c *SharedConfig) setFromIniSection(profile string, section ini.Section) er
return fmt.Errorf("failed to load %s from shared config, %w", requestMinCompressionSizeBytes, err) return fmt.Errorf("failed to load %s from shared config, %w", requestMinCompressionSizeBytes, err)
} }
if err := updateAIDEndpointMode(&c.AccountIDEndpointMode, section, accountIDEndpointMode); err != nil {
return fmt.Errorf("failed to load %s from shared config, %w", accountIDEndpointMode, err)
}
// Shared Credentials // Shared Credentials
creds := aws.Credentials{ creds := aws.Credentials{
AccessKeyID: section.String(accessKeyIDKey), AccessKeyID: section.String(accessKeyIDKey),
SecretAccessKey: section.String(secretAccessKey), SecretAccessKey: section.String(secretAccessKey),
SessionToken: section.String(sessionTokenKey), SessionToken: section.String(sessionTokenKey),
Source: fmt.Sprintf("SharedConfigCredentials: %s", section.SourceFile[accessKeyIDKey]), Source: fmt.Sprintf("SharedConfigCredentials: %s", section.SourceFile[accessKeyIDKey]),
AccountID: section.String(accountIDKey),
} }
if creds.HasKeys() { if creds.HasKeys() {
@ -1177,6 +1187,26 @@ func updateDisableRequestCompression(disable **bool, sec ini.Section, key string
return nil return nil
} }
func updateAIDEndpointMode(m *aws.AccountIDEndpointMode, sec ini.Section, key string) error {
if !sec.Has(key) {
return nil
}
v := sec.String(key)
switch v {
case "preferred":
*m = aws.AccountIDEndpointModePreferred
case "required":
*m = aws.AccountIDEndpointModeRequired
case "disabled":
*m = aws.AccountIDEndpointModeDisabled
default:
return fmt.Errorf("invalid value for shared config profile field, %s=%s, must be preferred/required/disabled", key, v)
}
return nil
}
func (c SharedConfig) getRequestMinCompressSizeBytes(ctx context.Context) (int64, bool, error) { func (c SharedConfig) getRequestMinCompressSizeBytes(ctx context.Context) (int64, bool, error) {
if c.RequestMinCompressSizeBytes == nil { if c.RequestMinCompressSizeBytes == nil {
return 0, false, nil return 0, false, nil
@ -1191,6 +1221,10 @@ func (c SharedConfig) getDisableRequestCompression(ctx context.Context) (bool, b
return *c.DisableRequestCompression, true, nil return *c.DisableRequestCompression, true, nil
} }
func (c SharedConfig) getAccountIDEndpointMode(ctx context.Context) (aws.AccountIDEndpointMode, bool, error) {
return c.AccountIDEndpointMode, len(c.AccountIDEndpointMode) > 0, nil
}
func updateDefaultsMode(mode *aws.DefaultsMode, section ini.Section, key string) error { func updateDefaultsMode(mode *aws.DefaultsMode, section ini.Section, key string) error {
if !section.Has(key) { if !section.Has(key) {
return nil return nil

View file

@ -1,3 +1,88 @@
# v1.17.30 (2024-08-26)
* **Bug Fix**: Save SSO cached token expiry in UTC to ensure cross-SDK compatibility.
# v1.17.29 (2024-08-22)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.28 (2024-08-15)
* **Dependency Update**: Bump minimum Go version to 1.21.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.27 (2024-07-18)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.26 (2024-07-10.2)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.25 (2024-07-10)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.24 (2024-07-03)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.23 (2024-06-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.22 (2024-06-26)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.21 (2024-06-19)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.20 (2024-06-18)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.19 (2024-06-17)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.18 (2024-06-07)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.17 (2024-06-03)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.16 (2024-05-23)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.15 (2024-05-16)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.14 (2024-05-15)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.13 (2024-05-10)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.12 (2024-05-08)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.11 (2024-04-05)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.10 (2024-03-29)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.9 (2024-03-21) # v1.17.9 (2024-03-21)
* **Dependency Update**: Updated to the latest SDK module versions * **Dependency Update**: Updated to the latest SDK module versions

View file

@ -128,6 +128,7 @@ type GetCredentialsOutput struct {
AccessKeyID string AccessKeyID string
SecretAccessKey string SecretAccessKey string
Token string Token string
AccountID string
} }
// EndpointError is an error returned from the endpoint service // EndpointError is an error returned from the endpoint service

View file

@ -152,6 +152,7 @@ func (p *Provider) Retrieve(ctx context.Context) (aws.Credentials, error) {
SecretAccessKey: resp.SecretAccessKey, SecretAccessKey: resp.SecretAccessKey,
SessionToken: resp.Token, SessionToken: resp.Token,
Source: ProviderName, Source: ProviderName,
AccountID: resp.AccountID,
} }
if resp.Expiration != nil { if resp.Expiration != nil {

View file

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

View file

@ -167,6 +167,9 @@ type CredentialProcessResponse struct {
// The date on which the current credentials expire. // The date on which the current credentials expire.
Expiration *time.Time Expiration *time.Time
// The ID of the account for credentials
AccountID string `json:"AccountId"`
} }
// Retrieve executes the credential process command and returns the // Retrieve executes the credential process command and returns the
@ -208,6 +211,7 @@ func (p *Provider) Retrieve(ctx context.Context) (aws.Credentials, error) {
AccessKeyID: resp.AccessKeyID, AccessKeyID: resp.AccessKeyID,
SecretAccessKey: resp.SecretAccessKey, SecretAccessKey: resp.SecretAccessKey,
SessionToken: resp.SessionToken, SessionToken: resp.SessionToken,
AccountID: resp.AccountID,
} }
// Handle expiration // Handle expiration

View file

@ -225,7 +225,7 @@ func (r *rfc3339) UnmarshalJSON(bytes []byte) (err error) {
} }
func (r *rfc3339) MarshalJSON() ([]byte, error) { func (r *rfc3339) MarshalJSON() ([]byte, error) {
value := time.Time(*r).Format(time.RFC3339) value := time.Time(*r).UTC().Format(time.RFC3339)
// Use JSON unmarshal to unescape the quoted value making use of JSON's // Use JSON unmarshal to unescape the quoted value making use of JSON's
// quoting rules. // quoting rules.

View file

@ -129,6 +129,7 @@ func (p *Provider) Retrieve(ctx context.Context) (aws.Credentials, error) {
CanExpire: true, CanExpire: true,
Expires: time.Unix(0, output.RoleCredentials.Expiration*int64(time.Millisecond)).UTC(), Expires: time.Unix(0, output.RoleCredentials.Expiration*int64(time.Millisecond)).UTC(),
Source: ProviderName, Source: ProviderName,
AccountID: p.options.AccountID,
}, nil }, nil
} }

View file

@ -308,6 +308,11 @@ func (p *AssumeRoleProvider) Retrieve(ctx context.Context) (aws.Credentials, err
return aws.Credentials{Source: ProviderName}, err return aws.Credentials{Source: ProviderName}, err
} }
var accountID string
if resp.AssumedRoleUser != nil {
accountID = getAccountID(resp.AssumedRoleUser)
}
return aws.Credentials{ return aws.Credentials{
AccessKeyID: *resp.Credentials.AccessKeyId, AccessKeyID: *resp.Credentials.AccessKeyId,
SecretAccessKey: *resp.Credentials.SecretAccessKey, SecretAccessKey: *resp.Credentials.SecretAccessKey,
@ -316,5 +321,6 @@ func (p *AssumeRoleProvider) Retrieve(ctx context.Context) (aws.Credentials, err
CanExpire: true, CanExpire: true,
Expires: *resp.Credentials.Expiration, Expires: *resp.Credentials.Expiration,
AccountID: accountID,
}, nil }, nil
} }

View file

@ -5,6 +5,7 @@ import (
"fmt" "fmt"
"io/ioutil" "io/ioutil"
"strconv" "strconv"
"strings"
"time" "time"
"github.com/aws/aws-sdk-go-v2/aws" "github.com/aws/aws-sdk-go-v2/aws"
@ -135,6 +136,11 @@ func (p *WebIdentityRoleProvider) Retrieve(ctx context.Context) (aws.Credentials
return aws.Credentials{}, fmt.Errorf("failed to retrieve credentials, %w", err) return aws.Credentials{}, fmt.Errorf("failed to retrieve credentials, %w", err)
} }
var accountID string
if resp.AssumedRoleUser != nil {
accountID = getAccountID(resp.AssumedRoleUser)
}
// InvalidIdentityToken error is a temporary error that can occur // InvalidIdentityToken error is a temporary error that can occur
// when assuming an Role with a JWT web identity token. // when assuming an Role with a JWT web identity token.
@ -145,6 +151,19 @@ func (p *WebIdentityRoleProvider) Retrieve(ctx context.Context) (aws.Credentials
Source: WebIdentityProviderName, Source: WebIdentityProviderName,
CanExpire: true, CanExpire: true,
Expires: *resp.Credentials.Expiration, Expires: *resp.Credentials.Expiration,
AccountID: accountID,
} }
return value, nil return value, nil
} }
// extract accountID from arn with format "arn:partition:service:region:account-id:[resource-section]"
func getAccountID(u *types.AssumedRoleUser) string {
if u.Arn == nil {
return ""
}
parts := strings.Split(*u.Arn, ":")
if len(parts) < 5 {
return ""
}
return parts[4]
}

View file

@ -1,3 +1,52 @@
# v1.16.12 (2024-08-15)
* **Dependency Update**: Bump minimum Go version to 1.21.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.11 (2024-07-10.2)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.10 (2024-07-10)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.9 (2024-06-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.8 (2024-06-19)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.7 (2024-06-18)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.6 (2024-06-17)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.5 (2024-06-07)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.4 (2024-06-03)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.3 (2024-05-16)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.2 (2024-05-15)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.1 (2024-03-29)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.0 (2024-03-21) # v1.16.0 (2024-03-21)
* **Feature**: Add config switch `DisableDefaultTimeout` that allows you to disable the default operation timeout (5 seconds) for IMDS calls. * **Feature**: Add config switch `DisableDefaultTimeout` that allows you to disable the default operation timeout (5 seconds) for IMDS calls.

View file

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

View file

@ -1,3 +1,137 @@
# v1.17.16 (2024-08-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.15 (2024-08-26)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.14 (2024-08-23)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.13 (2024-08-22)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.12 (2024-08-20)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.11 (2024-08-15)
* **Dependency Update**: Bump minimum Go version to 1.21.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.10 (2024-08-02)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.9 (2024-07-24)
* **Documentation**: Clarify region hint and credential usage in HeadBucketRegion.
# v1.17.8 (2024-07-18)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.7 (2024-07-10.2)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.6 (2024-07-10)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.5 (2024-07-03)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.4 (2024-07-02)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.3 (2024-06-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.2 (2024-06-26)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.1 (2024-06-19)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.0 (2024-06-18)
* **Feature**: Track usage of various AWS SDK features in user-agent string.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.25 (2024-06-17)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.24 (2024-06-07)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.23 (2024-06-05)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.22 (2024-06-03)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.21 (2024-05-23)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.20 (2024-05-16)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.19 (2024-05-15)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.18 (2024-05-14)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.17 (2024-05-10)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.16 (2024-05-08)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.15 (2024-04-05)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.14 (2024-03-29)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.13 (2024-03-21)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.12 (2024-03-18)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.11 (2024-03-15)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.10 (2024-03-13)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.9 (2024-03-07) # v1.16.9 (2024-03-07)
* **Bug Fix**: Remove dependency on go-cmp. * **Bug Fix**: Remove dependency on go-cmp.

View file

@ -17,15 +17,13 @@ const bucketRegionHeader = "X-Amz-Bucket-Region"
// GetBucketRegion will attempt to get the region for a bucket using the // GetBucketRegion will attempt to get the region for a bucket using the
// client's configured region to determine which AWS partition to perform the query on. // client's configured region to determine which AWS partition to perform the query on.
// //
// The request will not be signed, and will not use your AWS credentials.
//
// A BucketNotFound error will be returned if the bucket does not exist in the // A BucketNotFound error will be returned if the bucket does not exist in the
// AWS partition the client region belongs to. // AWS partition the client region belongs to.
// //
// For example to get the region of a bucket which exists in "eu-central-1" // For example to get the region of a bucket which exists in "eu-central-1"
// you could provide a region hint of "us-west-2". // you could provide a region hint of "us-west-2".
// //
// cfg, err := config.LoadDefaultConfig(context.TODO()) // cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithRegion("us-west-2"))
// if err != nil { // if err != nil {
// log.Println("error:", err) // log.Println("error:", err)
// return // return
@ -60,6 +58,17 @@ const bucketRegionHeader = "X-Amz-Bucket-Region"
// if err != nil { // if err != nil {
// panic(err) // panic(err)
// } // }
//
// If buckets are public, you may use anonymous credential like so.
//
// manager.GetBucketRegion(ctx, s3.NewFromConfig(cfg), bucket, func(o *s3.Options) {
// o.Credentials = nil
// // Or
// o.Credentials = aws.AnonymousCredentials{}
// })
//
// The request with anonymous credentials will not be signed.
// Otherwise credentials would be required for private buckets.
func GetBucketRegion(ctx context.Context, client HeadBucketAPIClient, bucket string, optFns ...func(*s3.Options)) (string, error) { func GetBucketRegion(ctx context.Context, client HeadBucketAPIClient, bucket string, optFns ...func(*s3.Options)) (string, error) {
var captureBucketRegion deserializeBucketRegion var captureBucketRegion deserializeBucketRegion

View file

@ -183,7 +183,10 @@ func (d Downloader) Download(ctx context.Context, w io.WriterAt, input *s3.GetOb
// Copy ClientOptions // Copy ClientOptions
clientOptions := make([]func(*s3.Options), 0, len(impl.cfg.ClientOptions)+1) clientOptions := make([]func(*s3.Options), 0, len(impl.cfg.ClientOptions)+1)
clientOptions = append(clientOptions, func(o *s3.Options) { clientOptions = append(clientOptions, func(o *s3.Options) {
o.APIOptions = append(o.APIOptions, middleware.AddSDKAgentKey(middleware.FeatureMetadata, userAgentKey)) o.APIOptions = append(o.APIOptions,
middleware.AddSDKAgentKey(middleware.FeatureMetadata, userAgentKey),
addFeatureUserAgent, // yes, there are two of these
)
}) })
clientOptions = append(clientOptions, impl.cfg.ClientOptions...) clientOptions = append(clientOptions, impl.cfg.ClientOptions...)
impl.cfg.ClientOptions = clientOptions impl.cfg.ClientOptions = clientOptions

View file

@ -3,4 +3,4 @@
package manager package manager
// goModuleVersion is the tagged release for this module // goModuleVersion is the tagged release for this module
const goModuleVersion = "1.16.9" const goModuleVersion = "1.17.16"

View file

@ -311,6 +311,7 @@ func (u Uploader) Upload(ctx context.Context, input *s3.PutObjectInput, opts ...
clientOptions = append(clientOptions, func(o *s3.Options) { clientOptions = append(clientOptions, func(o *s3.Options) {
o.APIOptions = append(o.APIOptions, o.APIOptions = append(o.APIOptions,
middleware.AddSDKAgentKey(middleware.FeatureMetadata, userAgentKey), middleware.AddSDKAgentKey(middleware.FeatureMetadata, userAgentKey),
addFeatureUserAgent, // yes, there are two of these
func(s *smithymiddleware.Stack) error { func(s *smithymiddleware.Stack) error {
return s.Finalize.Insert(&setS3ExpressDefaultChecksum{}, "ResolveEndpointV2", smithymiddleware.After) return s.Finalize.Insert(&setS3ExpressDefaultChecksum{}, "ResolveEndpointV2", smithymiddleware.After)
}, },
@ -853,3 +854,31 @@ func (*setS3ExpressDefaultChecksum) HandleFinalize(
return next.HandleFinalize(ctx, in) return next.HandleFinalize(ctx, in)
} }
func addFeatureUserAgent(stack *smithymiddleware.Stack) error {
ua, err := getOrAddRequestUserAgent(stack)
if err != nil {
return err
}
ua.AddUserAgentFeature(middleware.UserAgentFeatureS3Transfer)
return nil
}
func getOrAddRequestUserAgent(stack *smithymiddleware.Stack) (*middleware.RequestUserAgent, error) {
id := (*middleware.RequestUserAgent)(nil).ID()
mw, ok := stack.Build.Get(id)
if !ok {
mw = middleware.NewRequestUserAgent()
if err := stack.Build.Add(mw, smithymiddleware.After); err != nil {
return nil, err
}
}
ua, ok := mw.(*middleware.RequestUserAgent)
if !ok {
return nil, fmt.Errorf("%T for %s middleware did not match expected type", mw, id)
}
return ua, nil
}

View file

@ -1,3 +1,8 @@
# v1.3.16 (2024-08-15)
* **Dependency Update**: Bump minimum Go version to 1.21.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.15 (2024-07-10.2) # v1.3.15 (2024-07-10.2)
* **Dependency Update**: Updated to the latest SDK module versions * **Dependency Update**: Updated to the latest SDK module versions

View file

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

View file

@ -1,3 +1,8 @@
# v2.6.16 (2024-08-15)
* **Dependency Update**: Bump minimum Go version to 1.21.
* **Dependency Update**: Updated to the latest SDK module versions
# v2.6.15 (2024-07-10.2) # v2.6.15 (2024-07-10.2)
* **Dependency Update**: Updated to the latest SDK module versions * **Dependency Update**: Updated to the latest SDK module versions

View file

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

View file

@ -1,3 +1,7 @@
# v1.8.1 (2024-08-15)
* **Dependency Update**: Bump minimum Go version to 1.21.
# v1.8.0 (2024-02-13) # v1.8.0 (2024-02-13)
* **Feature**: Bump minimum Go version to 1.20 per our language support policy. * **Feature**: Bump minimum Go version to 1.20 per our language support policy.

View file

@ -3,4 +3,4 @@
package ini package ini
// goModuleVersion is the tagged release for this module // goModuleVersion is the tagged release for this module
const goModuleVersion = "1.8.0" const goModuleVersion = "1.8.1"

View file

@ -1,3 +1,56 @@
# v1.3.16 (2024-08-15)
* **Dependency Update**: Bump minimum Go version to 1.21.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.15 (2024-07-10.2)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.14 (2024-07-10)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.13 (2024-06-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.12 (2024-06-19)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.11 (2024-06-18)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.10 (2024-06-17)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.9 (2024-06-07)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.8 (2024-06-03)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.7 (2024-05-16)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.6 (2024-05-15)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.5 (2024-03-29)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.4 (2024-03-18)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.3 (2024-03-07) # v1.3.3 (2024-03-07)
* **Bug Fix**: Remove dependency on go-cmp. * **Bug Fix**: Remove dependency on go-cmp.

View file

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

View file

@ -5,6 +5,8 @@ import (
"fmt" "fmt"
"time" "time"
internalcontext "github.com/aws/aws-sdk-go-v2/internal/context"
v4 "github.com/aws/aws-sdk-go-v2/aws/signer/v4" v4 "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/internal/sdk" "github.com/aws/aws-sdk-go-v2/internal/sdk"
"github.com/aws/smithy-go" "github.com/aws/smithy-go"
@ -72,7 +74,11 @@ func (v *SignerAdapter) SignRequest(ctx context.Context, r *smithyhttp.Request,
} }
hash := v4.GetPayloadHash(ctx) hash := v4.GetPayloadHash(ctx)
err := v.Signer.SignHTTP(ctx, ca.Credentials, r.Request, hash, name, regions, sdk.NowTime(), func(o *SignerOptions) { signingTime := sdk.NowTime()
if skew := internalcontext.GetAttemptSkewContext(ctx); skew != 0 {
signingTime.Add(skew)
}
err := v.Signer.SignHTTP(ctx, ca.Credentials, r.Request, hash, name, regions, signingTime, func(o *SignerOptions) {
o.DisableURIPathEscaping, _ = smithyhttp.GetDisableDoubleEncoding(&props) o.DisableURIPathEscaping, _ = smithyhttp.GetDisableDoubleEncoding(&props)
o.Logger = v.Logger o.Logger = v.Logger

View file

@ -1,3 +1,12 @@
# v1.43.5 (2024-08-22)
* **Documentation**: Amazon EC2 Auto Scaling now provides EBS health check to manage EC2 instance replacement
# v1.43.4 (2024-08-15)
* **Dependency Update**: Bump minimum Go version to 1.21.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.43.3 (2024-07-10.2) # v1.43.3 (2024-07-10.2)
* **Dependency Update**: Updated to the latest SDK module versions * **Dependency Update**: Updated to the latest SDK module versions

View file

@ -164,9 +164,9 @@ type CreateAutoScalingGroupInput struct {
// A comma-separated value string of one or more health check types. // A comma-separated value string of one or more health check types.
// //
// The valid values are EC2 , ELB , and VPC_LATTICE . EC2 is the default health // The valid values are EC2 , EBS , ELB , and VPC_LATTICE . EC2 is the default
// check and cannot be disabled. For more information, see [Health checks for instances in an Auto Scaling group]in the Amazon EC2 Auto // health check and cannot be disabled. For more information, see [Health checks for instances in an Auto Scaling group]in the Amazon
// Scaling User Guide. // EC2 Auto Scaling User Guide.
// //
// Only specify EC2 if you must clear a value that was previously set. // Only specify EC2 if you must clear a value that was previously set.
// //

View file

@ -12,9 +12,9 @@ import (
// Sets the health status of the specified instance. // Sets the health status of the specified instance.
// //
// For more information, see [Health checks for instances in an Auto Scaling group] in the Amazon EC2 Auto Scaling User Guide. // For more information, see [Set up a custom health check for your Auto Scaling group] in the Amazon EC2 Auto Scaling User Guide.
// //
// [Health checks for instances in an Auto Scaling group]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-health-checks.html // [Set up a custom health check for your Auto Scaling group]: https://docs.aws.amazon.com/autoscaling/ec2/userguide/set-up-a-custom-health-check.html
func (c *Client) SetInstanceHealth(ctx context.Context, params *SetInstanceHealthInput, optFns ...func(*Options)) (*SetInstanceHealthOutput, error) { func (c *Client) SetInstanceHealth(ctx context.Context, params *SetInstanceHealthInput, optFns ...func(*Options)) (*SetInstanceHealthOutput, error) {
if params == nil { if params == nil {
params = &SetInstanceHealthInput{} params = &SetInstanceHealthInput{}

View file

@ -146,9 +146,9 @@ type UpdateAutoScalingGroupInput struct {
// A comma-separated value string of one or more health check types. // A comma-separated value string of one or more health check types.
// //
// The valid values are EC2 , ELB , and VPC_LATTICE . EC2 is the default health // The valid values are EC2 , EBS , ELB , and VPC_LATTICE . EC2 is the default
// check and cannot be disabled. For more information, see [Health checks for instances in an Auto Scaling group]in the Amazon EC2 Auto // health check and cannot be disabled. For more information, see [Health checks for instances in an Auto Scaling group]in the Amazon
// Scaling User Guide. // EC2 Auto Scaling User Guide.
// //
// Only specify EC2 if you must clear a value that was previously set. // Only specify EC2 if you must clear a value that was previously set.
// //

View file

@ -3,4 +3,4 @@
package autoscaling package autoscaling
// goModuleVersion is the tagged release for this module // goModuleVersion is the tagged release for this module
const goModuleVersion = "1.43.3" const goModuleVersion = "1.43.5"

View file

@ -172,6 +172,9 @@ var defaultPartitions = endpoints.Partitions{
endpoints.EndpointKey{ endpoints.EndpointKey{
Region: "ap-southeast-4", Region: "ap-southeast-4",
}: endpoints.Endpoint{}, }: endpoints.Endpoint{},
endpoints.EndpointKey{
Region: "ap-southeast-5",
}: endpoints.Endpoint{},
endpoints.EndpointKey{ endpoints.EndpointKey{
Region: "ca-central-1", Region: "ca-central-1",
}: endpoints.Endpoint{}, }: endpoints.Endpoint{},

View file

@ -1,3 +1,24 @@
# v1.177.0 (2024-08-28)
* **Feature**: Amazon VPC IP Address Manager (IPAM) now allows customers to provision IPv4 CIDR blocks and allocate Elastic IP Addresses directly from IPAM pools with public IPv4 space
# v1.176.0 (2024-08-21)
* **Feature**: DescribeInstanceStatus now returns health information on EBS volumes attached to Nitro instances
# v1.175.1 (2024-08-15)
* **Dependency Update**: Bump minimum Go version to 1.21.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.175.0 (2024-08-12)
* **Feature**: This release adds new capabilities to manage On-Demand Capacity Reservations including the ability to split your reservation, move capacity between reservations, and modify the instance eligibility of your reservation.
# v1.174.0 (2024-08-08)
* **Feature**: Launch of private IPv6 addressing for VPCs and Subnets. VPC IPAM supports the planning and monitoring of private IPv6 usage.
# v1.173.0 (2024-07-25) # v1.173.0 (2024-07-25)
* **Feature**: EC2 Fleet now supports using custom identifiers to reference Amazon Machine Images (AMI) in launch requests that are configured to choose from a diversified list of instance types. * **Feature**: EC2 Fleet now supports using custom identifiers to reference Amazon Machine Images (AMI) in launch requests that are configured to choose from a diversified list of instance types.

View file

@ -69,6 +69,9 @@ type AllocateAddressInput struct {
// UnauthorizedOperation . // UnauthorizedOperation .
DryRun *bool DryRun *bool
// The ID of an IPAM pool.
IpamPoolId *string
// A unique set of Availability Zones, Local Zones, or Wavelength Zones from // A unique set of Availability Zones, Local Zones, or Wavelength Zones from
// which Amazon Web Services advertises IP addresses. Use this parameter to limit // which Amazon Web Services advertises IP addresses. Use this parameter to limit
// the IP address to this location. IP addresses cannot move between network border // the IP address to this location. IP addresses cannot move between network border

View file

@ -11,30 +11,23 @@ import (
smithyhttp "github.com/aws/smithy-go/transport/http" smithyhttp "github.com/aws/smithy-go/transport/http"
) )
// Initiates the copy of an AMI. You can copy an AMI from one Region to another, // Initiates an AMI copy operation. You can copy an AMI from one Region to
// or from a Region to an Outpost. You can't copy an AMI from an Outpost to a // another, or from a Region to an Outpost. You can't copy an AMI from an Outpost
// Region, from one Outpost to another, or within the same Outpost. To copy an AMI // to a Region, from one Outpost to another, or within the same Outpost. To copy an
// to another partition, see [CreateStoreImageTask]. // AMI to another partition, see [CreateStoreImageTask].
// //
// To copy an AMI from one Region to another, specify the source Region using the // When you copy an AMI from one Region to another, the destination Region is the
// SourceRegion parameter, and specify the destination Region using its endpoint. // current Region.
// Copies of encrypted backing snapshots for the AMI are encrypted. Copies of
// unencrypted backing snapshots remain unencrypted, unless you set Encrypted
// during the copy operation. You cannot create an unencrypted copy of an encrypted
// backing snapshot.
// //
// To copy an AMI from a Region to an Outpost, specify the source Region using the // When you copy an AMI from a Region to an Outpost, specify the ARN of the
// SourceRegion parameter, and specify the ARN of the destination Outpost using // Outpost as the destination. Backing snapshots copied to an Outpost are encrypted
// DestinationOutpostArn. Backing snapshots copied to an Outpost are encrypted by // by default using the default encryption key for the Region or the key that you
// default using the default encryption key for the Region, or a different key that // specify. Outposts do not support unencrypted snapshots.
// you specify in the request using KmsKeyId. Outposts do not support unencrypted
// snapshots. For more information, [Amazon EBS local snapshots on Outposts]in the Amazon EBS User Guide.
// //
// For more information about the prerequisites and limits when copying an AMI, // For information about the prerequisites when copying an AMI, see [Copy an AMI] in the Amazon
// see [Copy an AMI]in the Amazon EC2 User Guide. // EC2 User Guide.
// //
// [CreateStoreImageTask]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateStoreImageTask.html // [CreateStoreImageTask]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateStoreImageTask.html
// [Amazon EBS local snapshots on Outposts]: https://docs.aws.amazon.com/ebs/latest/userguide/snapshots-outposts.html#ami
// [Copy an AMI]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html // [Copy an AMI]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/CopyingAMIs.html
func (c *Client) CopyImage(ctx context.Context, params *CopyImageInput, optFns ...func(*Options)) (*CopyImageOutput, error) { func (c *Client) CopyImage(ctx context.Context, params *CopyImageInput, optFns ...func(*Options)) (*CopyImageOutput, error) {
if params == nil { if params == nil {
@ -111,10 +104,10 @@ type CopyImageInput struct {
// encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot // encrypted. You can encrypt a copy of an unencrypted snapshot, but you cannot
// create an unencrypted copy of an encrypted snapshot. The default KMS key for // create an unencrypted copy of an encrypted snapshot. The default KMS key for
// Amazon EBS is used unless you specify a non-default Key Management Service (KMS) // Amazon EBS is used unless you specify a non-default Key Management Service (KMS)
// KMS key using KmsKeyId . For more information, see [Amazon EBS encryption] in the Amazon EBS User // KMS key using KmsKeyId . For more information, see [Use encryption with EBS-backed AMIs] in the Amazon EC2 User
// Guide. // Guide.
// //
// [Amazon EBS encryption]: https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html // [Use encryption with EBS-backed AMIs]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html
Encrypted *bool Encrypted *bool
// The identifier of the symmetric Key Management Service (KMS) KMS key to use // The identifier of the symmetric Key Management Service (KMS) KMS key to use

View file

@ -0,0 +1,211 @@
// Code generated by smithy-go-codegen DO NOT EDIT.
package ec2
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/service/ec2/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Create a new Capacity Reservation by splitting the available capacity of the
//
// source Capacity Reservation. The new Capacity Reservation will have the same
// attributes as the source Capacity Reservation except for tags. The source
// Capacity Reservation must be active and owned by your Amazon Web Services
// account.
func (c *Client) CreateCapacityReservationBySplitting(ctx context.Context, params *CreateCapacityReservationBySplittingInput, optFns ...func(*Options)) (*CreateCapacityReservationBySplittingOutput, error) {
if params == nil {
params = &CreateCapacityReservationBySplittingInput{}
}
result, metadata, err := c.invokeOperation(ctx, "CreateCapacityReservationBySplitting", params, optFns, c.addOperationCreateCapacityReservationBySplittingMiddlewares)
if err != nil {
return nil, err
}
out := result.(*CreateCapacityReservationBySplittingOutput)
out.ResultMetadata = metadata
return out, nil
}
type CreateCapacityReservationBySplittingInput struct {
// The number of instances to split from the source Capacity Reservation.
//
// This member is required.
InstanceCount *int32
// The ID of the Capacity Reservation from which you want to split the available
// capacity.
//
// This member is required.
SourceCapacityReservationId *string
// Unique, case-sensitive identifier that you provide to ensure the idempotency of
// the request. For more information, see [Ensure Idempotency].
//
// [Ensure Idempotency]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
ClientToken *string
// Checks whether you have the required permissions for the action, without
// actually making the request, and provides an error response. If you have the
// required permissions, the error response is DryRunOperation . Otherwise, it is
// UnauthorizedOperation .
DryRun *bool
// The tags to apply to the new Capacity Reservation.
TagSpecifications []types.TagSpecification
noSmithyDocumentSerde
}
type CreateCapacityReservationBySplittingOutput struct {
// Information about the destination Capacity Reservation.
DestinationCapacityReservation *types.CapacityReservation
// The number of instances in the new Capacity Reservation. The number of
// instances in the source Capacity Reservation was reduced by this amount.
InstanceCount *int32
// Information about the source Capacity Reservation.
SourceCapacityReservation *types.CapacityReservation
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationCreateCapacityReservationBySplittingMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsEc2query_serializeOpCreateCapacityReservationBySplitting{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsEc2query_deserializeOpCreateCapacityReservationBySplitting{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "CreateCapacityReservationBySplitting"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = addClientRequestID(stack); err != nil {
return err
}
if err = addComputeContentLength(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = addComputePayloadSHA256(stack); err != nil {
return err
}
if err = addRetry(stack, options); err != nil {
return err
}
if err = addRawResponseToMetadata(stack); err != nil {
return err
}
if err = addRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIdempotencyToken_opCreateCapacityReservationBySplittingMiddleware(stack, options); err != nil {
return err
}
if err = addOpCreateCapacityReservationBySplittingValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateCapacityReservationBySplitting(options.Region), middleware.Before); err != nil {
return err
}
if err = addRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
type idempotencyToken_initializeOpCreateCapacityReservationBySplitting struct {
tokenProvider IdempotencyTokenProvider
}
func (*idempotencyToken_initializeOpCreateCapacityReservationBySplitting) ID() string {
return "OperationIdempotencyTokenAutoFill"
}
func (m *idempotencyToken_initializeOpCreateCapacityReservationBySplitting) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
out middleware.InitializeOutput, metadata middleware.Metadata, err error,
) {
if m.tokenProvider == nil {
return next.HandleInitialize(ctx, in)
}
input, ok := in.Parameters.(*CreateCapacityReservationBySplittingInput)
if !ok {
return out, metadata, fmt.Errorf("expected middleware input to be of type *CreateCapacityReservationBySplittingInput ")
}
if input.ClientToken == nil {
t, err := m.tokenProvider.GetIdempotencyToken()
if err != nil {
return out, metadata, err
}
input.ClientToken = &t
}
return next.HandleInitialize(ctx, in)
}
func addIdempotencyToken_opCreateCapacityReservationBySplittingMiddleware(stack *middleware.Stack, cfg Options) error {
return stack.Initialize.Add(&idempotencyToken_initializeOpCreateCapacityReservationBySplitting{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before)
}
func newServiceMetadataMiddleware_opCreateCapacityReservationBySplitting(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "CreateCapacityReservationBySplitting",
}
}

View file

@ -51,6 +51,10 @@ type CreateIpamInput struct {
// UnauthorizedOperation . // UnauthorizedOperation .
DryRun *bool DryRun *bool
// Enable this option to use your own GUA ranges as private IPv6 addresses. This
// option is disabled by default.
EnablePrivateGua *bool
// The operating Regions for the IPAM. Operating Regions are Amazon Web Services // The operating Regions for the IPAM. Operating Regions are Amazon Web Services
// Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only // Regions where the IPAM is allowed to manage IP address CIDRs. IPAM only
// discovers and monitors resources in the Amazon Web Services Regions you select // discovers and monitors resources in the Amazon Web Services Regions you select

View file

@ -47,7 +47,7 @@ type CreateNetworkInterfacePermissionInput struct {
// The Amazon Web Services account ID. // The Amazon Web Services account ID.
AwsAccountId *string AwsAccountId *string
// The Amazon Web Service. Currently not supported. // The Amazon Web Services service. Currently not supported.
AwsService *string AwsService *string
// Checks whether you have the required permissions for the action, without // Checks whether you have the required permissions for the action, without

View file

@ -13,8 +13,8 @@ import (
// Deletes a security group. // Deletes a security group.
// //
// If you attempt to delete a security group that is associated with an instance // If you attempt to delete a security group that is associated with an instance
// or network interface or is referenced by another security group, the operation // or network interface or is referenced by another security group in the same VPC,
// fails with DependencyViolation . // the operation fails with DependencyViolation .
func (c *Client) DeleteSecurityGroup(ctx context.Context, params *DeleteSecurityGroupInput, optFns ...func(*Options)) (*DeleteSecurityGroupOutput, error) { func (c *Client) DeleteSecurityGroup(ctx context.Context, params *DeleteSecurityGroupInput, optFns ...func(*Options)) (*DeleteSecurityGroupOutput, error) {
if params == nil { if params == nil {
params = &DeleteSecurityGroupInput{} params = &DeleteSecurityGroupInput{}

View file

@ -20,8 +20,8 @@ import (
// IP address transfer. During those seven days, the source account can view the // IP address transfer. During those seven days, the source account can view the
// pending transfer by using this action. After seven days, the transfer expires // pending transfer by using this action. After seven days, the transfer expires
// and ownership of the Elastic IP address returns to the source account. Accepted // and ownership of the Elastic IP address returns to the source account. Accepted
// transfers are visible to the source account for three days after the transfers // transfers are visible to the source account for 14 days after the transfers have
// have been accepted. // been accepted.
// //
// [Transfer Elastic IP addresses]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#transfer-EIPs-intro // [Transfer Elastic IP addresses]: https://docs.aws.amazon.com/vpc/latest/userguide/vpc-eips.html#transfer-EIPs-intro
func (c *Client) DescribeAddressTransfers(ctx context.Context, params *DescribeAddressTransfersInput, optFns ...func(*Options)) (*DescribeAddressTransfersOutput, error) { func (c *Client) DescribeAddressTransfers(ctx context.Context, params *DescribeAddressTransfersInput, optFns ...func(*Options)) (*DescribeAddressTransfersOutput, error) {

View file

@ -106,6 +106,9 @@ type DescribeInstanceStatusInput struct {
// //
// - system-status.status - The system status of the instance ( ok | impaired | // - system-status.status - The system status of the instance ( ok | impaired |
// initializing | insufficient-data | not-applicable ). // initializing | insufficient-data | not-applicable ).
//
// - attached-ebs-status.status - The status of the attached EBS volume for the
// instance ( ok | impaired | initializing | insufficient-data | not-applicable ).
Filters []types.Filter Filters []types.Filter
// When true , includes the health status for all instances. When false , includes // When true , includes the health status for all instances. When false , includes

View file

@ -41,7 +41,7 @@ type DescribeNetworkInterfacePermissionsInput struct {
// - network-interface-permission.aws-account-id - The Amazon Web Services // - network-interface-permission.aws-account-id - The Amazon Web Services
// account ID. // account ID.
// //
// - network-interface-permission.aws-service - The Amazon Web Service. // - network-interface-permission.aws-service - The Amazon Web Services service.
// //
// - network-interface-permission.permission - The type of permission ( // - network-interface-permission.permission - The type of permission (
// INSTANCE-ATTACH | EIP-ASSOCIATE ). // INSTANCE-ATTACH | EIP-ASSOCIATE ).

View file

@ -129,8 +129,8 @@ type DescribeNetworkInterfacesInput struct {
// or service that created the network interface. // or service that created the network interface.
// //
// - requester-managed - Indicates whether the network interface is being managed // - requester-managed - Indicates whether the network interface is being managed
// by an Amazon Web Service (for example, Amazon Web Services Management Console, // by an Amazon Web Services service (for example, Amazon Web Services Management
// Auto Scaling, and so on). // Console, Auto Scaling, and so on).
// //
// - source-dest-check - Indicates whether the network interface performs // - source-dest-check - Indicates whether the network interface performs
// source/destination checking. A value of true means checking is enabled, and // source/destination checking. A value of true means checking is enabled, and

View file

@ -73,8 +73,8 @@ type DescribeRouteTablesInput struct {
// - route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route // - route.destination-ipv6-cidr-block - The IPv6 CIDR range specified in a route
// in the route table. // in the route table.
// //
// - route.destination-prefix-list-id - The ID (prefix) of the Amazon Web Service // - route.destination-prefix-list-id - The ID (prefix) of the Amazon Web
// specified in a route in the table. // Services service specified in a route in the table.
// //
// - route.egress-only-internet-gateway-id - The ID of an egress-only Internet // - route.egress-only-internet-gateway-id - The ID of an egress-only Internet
// gateway specified in a route in the route table. // gateway specified in a route in the route table.

View file

@ -12,9 +12,9 @@ import (
) )
// Describes the stale security group rules for security groups in a specified // Describes the stale security group rules for security groups in a specified
// VPC. Rules are stale when they reference a deleted security group in the same // VPC. Rules are stale when they reference a deleted security group in a peered
// VPC or peered VPC. Rules can also be stale if they reference a security group in // VPC. Rules can also be stale if they reference a security group in a peer VPC
// a peer VPC for which the VPC peering connection has been deleted. // for which the VPC peering connection has been deleted.
func (c *Client) DescribeStaleSecurityGroups(ctx context.Context, params *DescribeStaleSecurityGroupsInput, optFns ...func(*Options)) (*DescribeStaleSecurityGroupsOutput, error) { func (c *Client) DescribeStaleSecurityGroups(ctx context.Context, params *DescribeStaleSecurityGroupsInput, optFns ...func(*Options)) (*DescribeStaleSecurityGroupsOutput, error) {
if params == nil { if params == nil {
params = &DescribeStaleSecurityGroupsInput{} params = &DescribeStaleSecurityGroupsInput{}

View file

@ -15,9 +15,14 @@ import (
// the specified Amazon Web Services Region. After you disable block public access // the specified Amazon Web Services Region. After you disable block public access
// for snapshots in a Region, users can publicly share snapshots in that Region. // for snapshots in a Region, users can publicly share snapshots in that Region.
// //
// If block public access is enabled in block-all-sharing mode, and you disable // Enabling block public access for snapshots in block-all-sharing mode does not
// block public access, all snapshots that were previously publicly shared are no // change the permissions for snapshots that are already publicly shared. Instead,
// longer treated as private and they become publicly accessible again. // it prevents these snapshots from be publicly visible and publicly accessible.
// Therefore, the attributes for these snapshots still indicate that they are
// publicly shared, even though they are not publicly available.
//
// If you disable block public access , these snapshots will become publicly
// available again.
// //
// For more information, see [Block public access for snapshots] in the Amazon EBS User Guide . // For more information, see [Block public access for snapshots] in the Amazon EBS User Guide .
// //

View file

@ -18,9 +18,14 @@ import (
// shared are either treated as private or they remain publicly shared, depending // shared are either treated as private or they remain publicly shared, depending
// on the State that you specify. // on the State that you specify.
// //
// If block public access is enabled in block-all-sharing mode, and you change the // Enabling block public access for snapshots in block all sharing mode does not
// mode to block-new-sharing , all snapshots that were previously publicly shared // change the permissions for snapshots that are already publicly shared. Instead,
// are no longer treated as private and they become publicly accessible again. // it prevents these snapshots from be publicly visible and publicly accessible.
// Therefore, the attributes for these snapshots still indicate that they are
// publicly shared, even though they are not publicly available.
//
// If you later disable block public access or change the mode to block new
// sharing, these snapshots will become publicly available again.
// //
// For more information, see [Block public access for snapshots] in the Amazon EBS User Guide. // For more information, see [Block public access for snapshots] in the Amazon EBS User Guide.
// //
@ -50,12 +55,6 @@ type EnableSnapshotBlockPublicAccessInput struct {
// Additionally, snapshots that are already publicly shared are treated as private // Additionally, snapshots that are already publicly shared are treated as private
// and they are no longer publicly available. // and they are no longer publicly available.
// //
// If you enable block public access for snapshots in block-all-sharing mode, it
// does not change the permissions for snapshots that are already publicly shared.
// Instead, it prevents these snapshots from be publicly visible and publicly
// accessible. Therefore, the attributes for these snapshots still indicate that
// they are publicly shared, even though they are not publicly available.
//
// - block-new-sharing - Prevents only new public sharing of snapshots in the // - block-new-sharing - Prevents only new public sharing of snapshots in the
// Region. Users in the account will no longer be able to request new public // Region. Users in the account will no longer be able to request new public
// sharing. However, snapshots that are already publicly shared, remain publicly // sharing. However, snapshots that are already publicly shared, remain publicly

View file

@ -12,12 +12,14 @@ import (
"time" "time"
) )
// Modifies a Capacity Reservation's capacity and the conditions under which it is // Modifies a Capacity Reservation's capacity, instance eligibility, and the
// to be released. You cannot change a Capacity Reservation's instance type, EBS // conditions under which it is to be released. You can't modify a Capacity
// optimization, instance store settings, platform, Availability Zone, or instance // Reservation's instance type, EBS optimization, platform, instance store
// eligibility. If you need to modify any of these attributes, we recommend that // settings, Availability Zone, or tenancy. If you need to modify any of these
// you cancel the Capacity Reservation, and then create a new one with the required // attributes, we recommend that you cancel the Capacity Reservation, and then
// attributes. // create a new one with the required attributes. For more information, see [Modify an active Capacity Reservation].
//
// [Modify an active Capacity Reservation]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/capacity-reservations-modify.html
func (c *Client) ModifyCapacityReservation(ctx context.Context, params *ModifyCapacityReservationInput, optFns ...func(*Options)) (*ModifyCapacityReservationOutput, error) { func (c *Client) ModifyCapacityReservation(ctx context.Context, params *ModifyCapacityReservationInput, optFns ...func(*Options)) (*ModifyCapacityReservationOutput, error) {
if params == nil { if params == nil {
params = &ModifyCapacityReservationInput{} params = &ModifyCapacityReservationInput{}
@ -79,6 +81,17 @@ type ModifyCapacityReservationInput struct {
// can't be increased or decreased by more than 1000 in a single request. // can't be increased or decreased by more than 1000 in a single request.
InstanceCount *int32 InstanceCount *int32
// The matching criteria (instance eligibility) that you want to use in the
// modified Capacity Reservation. If you change the instance eligibility of an
// existing Capacity Reservation from targeted to open , any running instances that
// match the attributes of the Capacity Reservation, have the
// CapacityReservationPreference set to open , and are not yet running in the
// Capacity Reservation, will automatically use the modified Capacity Reservation.
//
// To modify the instance eligibility, the Capacity Reservation must be completely
// idle (zero usage).
InstanceMatchCriteria types.InstanceMatchCriteria
noSmithyDocumentSerde noSmithyDocumentSerde
} }

View file

@ -54,6 +54,10 @@ type ModifyIpamInput struct {
// UnauthorizedOperation . // UnauthorizedOperation .
DryRun *bool DryRun *bool
// Enable this option to use your own GUA ranges as private IPv6 addresses. This
// option is disabled by default.
EnablePrivateGua *bool
// The operating Regions to remove. // The operating Regions to remove.
RemoveOperatingRegions []types.RemoveIpamOperatingRegion RemoveOperatingRegions []types.RemoveIpamOperatingRegion

View file

@ -72,6 +72,13 @@ type ModifySubnetAttributeInput struct {
// Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this // Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this
// subnet should return synthetic IPv6 addresses for IPv4-only destinations. // subnet should return synthetic IPv6 addresses for IPv4-only destinations.
//
// You must first configure a NAT gateway in a public subnet (separate from the
// subnet containing the IPv6-only workloads). For example, the subnet containing
// the NAT gateway should have a 0.0.0.0/0 route pointing to the internet gateway.
// For more information, see [Configure DNS64 and NAT64]in the Amazon VPC User Guide.
//
// [Configure DNS64 and NAT64]: https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-nat64-dns64.html#nat-gateway-nat64-dns64-walkthrough
EnableDns64 *types.AttributeBooleanValue EnableDns64 *types.AttributeBooleanValue
// Indicates the device position for local network interfaces in this subnet. For // Indicates the device position for local network interfaces in this subnet. For

View file

@ -0,0 +1,223 @@
// Code generated by smithy-go-codegen DO NOT EDIT.
package ec2
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/service/ec2/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Move available capacity from a source Capacity Reservation to a destination
// Capacity Reservation. The source Capacity Reservation and the destination
// Capacity Reservation must be active , owned by your Amazon Web Services account,
// and share the following:
//
// - Instance type
//
// - Platform
//
// - Availability Zone
//
// - Tenancy
//
// - Placement group
//
// - Capacity Reservation end time - At specific time or Manually .
func (c *Client) MoveCapacityReservationInstances(ctx context.Context, params *MoveCapacityReservationInstancesInput, optFns ...func(*Options)) (*MoveCapacityReservationInstancesOutput, error) {
if params == nil {
params = &MoveCapacityReservationInstancesInput{}
}
result, metadata, err := c.invokeOperation(ctx, "MoveCapacityReservationInstances", params, optFns, c.addOperationMoveCapacityReservationInstancesMiddlewares)
if err != nil {
return nil, err
}
out := result.(*MoveCapacityReservationInstancesOutput)
out.ResultMetadata = metadata
return out, nil
}
type MoveCapacityReservationInstancesInput struct {
// The ID of the Capacity Reservation that you want to move capacity into.
//
// This member is required.
DestinationCapacityReservationId *string
// The number of instances that you want to move from the source Capacity
// Reservation.
//
// This member is required.
InstanceCount *int32
// The ID of the Capacity Reservation from which you want to move capacity.
//
// This member is required.
SourceCapacityReservationId *string
// Unique, case-sensitive identifier that you provide to ensure the idempotency of
// the request. For more information, see [Ensure Idempotency].
//
// [Ensure Idempotency]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html
ClientToken *string
// Checks whether you have the required permissions for the action, without
// actually making the request, and provides an error response. If you have the
// required permissions, the error response is DryRunOperation . Otherwise, it is
// UnauthorizedOperation .
DryRun *bool
noSmithyDocumentSerde
}
type MoveCapacityReservationInstancesOutput struct {
// Information about the destination Capacity Reservation.
DestinationCapacityReservation *types.CapacityReservation
// The number of instances that were moved from the source Capacity Reservation
// to the destination Capacity Reservation.
InstanceCount *int32
// Information about the source Capacity Reservation.
SourceCapacityReservation *types.CapacityReservation
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationMoveCapacityReservationInstancesMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsEc2query_serializeOpMoveCapacityReservationInstances{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsEc2query_deserializeOpMoveCapacityReservationInstances{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "MoveCapacityReservationInstances"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = addClientRequestID(stack); err != nil {
return err
}
if err = addComputeContentLength(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = addComputePayloadSHA256(stack); err != nil {
return err
}
if err = addRetry(stack, options); err != nil {
return err
}
if err = addRawResponseToMetadata(stack); err != nil {
return err
}
if err = addRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIdempotencyToken_opMoveCapacityReservationInstancesMiddleware(stack, options); err != nil {
return err
}
if err = addOpMoveCapacityReservationInstancesValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opMoveCapacityReservationInstances(options.Region), middleware.Before); err != nil {
return err
}
if err = addRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
type idempotencyToken_initializeOpMoveCapacityReservationInstances struct {
tokenProvider IdempotencyTokenProvider
}
func (*idempotencyToken_initializeOpMoveCapacityReservationInstances) ID() string {
return "OperationIdempotencyTokenAutoFill"
}
func (m *idempotencyToken_initializeOpMoveCapacityReservationInstances) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
out middleware.InitializeOutput, metadata middleware.Metadata, err error,
) {
if m.tokenProvider == nil {
return next.HandleInitialize(ctx, in)
}
input, ok := in.Parameters.(*MoveCapacityReservationInstancesInput)
if !ok {
return out, metadata, fmt.Errorf("expected middleware input to be of type *MoveCapacityReservationInstancesInput ")
}
if input.ClientToken == nil {
t, err := m.tokenProvider.GetIdempotencyToken()
if err != nil {
return out, metadata, err
}
input.ClientToken = &t
}
return next.HandleInitialize(ctx, in)
}
func addIdempotencyToken_opMoveCapacityReservationInstancesMiddleware(stack *middleware.Stack, cfg Options) error {
return stack.Initialize.Add(&idempotencyToken_initializeOpMoveCapacityReservationInstances{tokenProvider: cfg.IdempotencyTokenProvider}, middleware.Before)
}
func newServiceMetadataMiddleware_opMoveCapacityReservationInstances(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "MoveCapacityReservationInstances",
}
}

View file

@ -39,7 +39,7 @@ type ProvisionPublicIpv4PoolCidrInput struct {
IpamPoolId *string IpamPoolId *string
// The netmask length of the CIDR you would like to allocate to the public IPv4 // The netmask length of the CIDR you would like to allocate to the public IPv4
// pool. // pool. The least specific netmask length you can define is 24.
// //
// This member is required. // This member is required.
NetmaskLength *int32 NetmaskLength *int32

View file

@ -13,8 +13,7 @@ import (
// Registers an AMI. When you're creating an instance-store backed AMI, // Registers an AMI. When you're creating an instance-store backed AMI,
// registering the AMI is the final step in the creation process. For more // registering the AMI is the final step in the creation process. For more
// information about creating AMIs, see [Create your own AMI]in the Amazon Elastic Compute Cloud User // information about creating AMIs, see [Create an AMI from a snapshot]and [Create an instance-store backed AMI] in the Amazon EC2 User Guide.
// Guide.
// //
// For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single // For Amazon EBS-backed instances, CreateImage creates and registers the AMI in a single
// request, so you don't have to register the AMI yourself. We recommend that you // request, so you don't have to register the AMI yourself. We recommend that you
@ -33,25 +32,24 @@ import (
// mapping. If the snapshot is encrypted, or encryption by default is enabled, the // mapping. If the snapshot is encrypted, or encryption by default is enabled, the
// root volume of an instance launched from the AMI is encrypted. // root volume of an instance launched from the AMI is encrypted.
// //
// For more information, see [Create a Linux AMI from a snapshot] and [Use encryption with Amazon EBS-backed AMIs] in the Amazon Elastic Compute Cloud User Guide. // For more information, see [Create an AMI from a snapshot] and [Use encryption with Amazon EBS-backed AMIs] in the Amazon EC2 User Guide.
// //
// # Amazon Web Services Marketplace product codes // # Amazon Web Services Marketplace product codes
// //
// If any snapshots have Amazon Web Services Marketplace product codes, they are // If any snapshots have Amazon Web Services Marketplace product codes, they are
// copied to the new AMI. // copied to the new AMI.
// //
// Windows and some Linux distributions, such as Red Hat Enterprise Linux (RHEL) // In most cases, AMIs for Windows, RedHat, SUSE, and SQL Server require correct
// and SUSE Linux Enterprise Server (SLES), use the Amazon EC2 billing product code // licensing information to be present on the AMI. For more information, see [Understand AMI billing information]in
// associated with an AMI to verify the subscription status for package updates. To // the Amazon EC2 User Guide. When creating an AMI from a snapshot, the
// create a new AMI for operating systems that require a billing product code, // RegisterImage operation derives the correct billing information from the
// instead of registering the AMI, do the following to preserve the billing product // snapshot's metadata, but this requires the appropriate metadata to be present.
// code association: // To verify if the correct billing information was applied, check the
// // PlatformDetails field on the new AMI. If the field is empty or doesn't match the
// - Launch an instance from an existing AMI with that billing product code. // expected operating system code (for example, Windows, RedHat, SUSE, or SQL), the
// // AMI creation was unsuccessful, and you should discard the AMI and instead create
// - Customize the instance. // the AMI from an instance using CreateImage. For more information, see [Create an AMI from an instance] in the Amazon EC2
// // User Guide.
// - Create an AMI from the instance using CreateImage.
// //
// If you purchase a Reserved Instance to apply to an On-Demand Instance that was // If you purchase a Reserved Instance to apply to an On-Demand Instance that was
// launched from an AMI with a billing product code, make sure that the Reserved // launched from an AMI with a billing product code, make sure that the Reserved
@ -62,9 +60,10 @@ import (
// User Guide. // User Guide.
// //
// [Understand AMI billing information]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html // [Understand AMI billing information]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ami-billing-info.html
// [Create a Linux AMI from a snapshot]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#creating-launching-ami-from-snapshot // [Create an instance-store backed AMI]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-instance-store.html
// [Create an AMI from an instance]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#how-to-create-ebs-ami
// [Create an AMI from a snapshot]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami-ebs.html#creating-launching-ami-from-snapshot
// [Use encryption with Amazon EBS-backed AMIs]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html // [Use encryption with Amazon EBS-backed AMIs]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIEncryption.html
// [Create your own AMI]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/creating-an-ami.html
func (c *Client) RegisterImage(ctx context.Context, params *RegisterImageInput, optFns ...func(*Options)) (*RegisterImageOutput, error) { func (c *Client) RegisterImage(ctx context.Context, params *RegisterImageInput, optFns ...func(*Options)) (*RegisterImageOutput, error) {
if params == nil { if params == nil {
params = &RegisterImageInput{} params = &RegisterImageInput{}

View file

@ -5037,6 +5037,97 @@ func awsEc2query_deserializeOpErrorCreateCapacityReservation(response *smithyhtt
} }
} }
type awsEc2query_deserializeOpCreateCapacityReservationBySplitting struct {
}
func (*awsEc2query_deserializeOpCreateCapacityReservationBySplitting) ID() string {
return "OperationDeserializer"
}
func (m *awsEc2query_deserializeOpCreateCapacityReservationBySplitting) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
) {
out, metadata, err = next.HandleDeserialize(ctx, in)
if err != nil {
return out, metadata, err
}
response, ok := out.RawResponse.(*smithyhttp.Response)
if !ok {
return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
}
if response.StatusCode < 200 || response.StatusCode >= 300 {
return out, metadata, awsEc2query_deserializeOpErrorCreateCapacityReservationBySplitting(response, &metadata)
}
output := &CreateCapacityReservationBySplittingOutput{}
out.Result = output
var buff [1024]byte
ringBuffer := smithyio.NewRingBuffer(buff[:])
body := io.TeeReader(response.Body, ringBuffer)
rootDecoder := xml.NewDecoder(body)
t, err := smithyxml.FetchRootElement(rootDecoder)
if err == io.EOF {
return out, metadata, nil
}
if err != nil {
var snapshot bytes.Buffer
io.Copy(&snapshot, ringBuffer)
return out, metadata, &smithy.DeserializationError{
Err: fmt.Errorf("failed to decode response body, %w", err),
Snapshot: snapshot.Bytes(),
}
}
decoder := smithyxml.WrapNodeDecoder(rootDecoder, t)
err = awsEc2query_deserializeOpDocumentCreateCapacityReservationBySplittingOutput(&output, decoder)
if err != nil {
var snapshot bytes.Buffer
io.Copy(&snapshot, ringBuffer)
err = &smithy.DeserializationError{
Err: fmt.Errorf("failed to decode response body, %w", err),
Snapshot: snapshot.Bytes(),
}
return out, metadata, err
}
return out, metadata, err
}
func awsEc2query_deserializeOpErrorCreateCapacityReservationBySplitting(response *smithyhttp.Response, metadata *middleware.Metadata) error {
var errorBuffer bytes.Buffer
if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
}
errorBody := bytes.NewReader(errorBuffer.Bytes())
errorCode := "UnknownError"
errorMessage := errorCode
errorComponents, err := ec2query.GetErrorResponseComponents(errorBody)
if err != nil {
return err
}
awsmiddleware.SetRequestIDMetadata(metadata, errorComponents.RequestID)
if len(errorComponents.Code) != 0 {
errorCode = errorComponents.Code
}
if len(errorComponents.Message) != 0 {
errorMessage = errorComponents.Message
}
errorBody.Seek(0, io.SeekStart)
switch {
default:
genericError := &smithy.GenericAPIError{
Code: errorCode,
Message: errorMessage,
}
return genericError
}
}
type awsEc2query_deserializeOpCreateCapacityReservationFleet struct { type awsEc2query_deserializeOpCreateCapacityReservationFleet struct {
} }
@ -49799,6 +49890,97 @@ func awsEc2query_deserializeOpErrorMoveByoipCidrToIpam(response *smithyhttp.Resp
} }
} }
type awsEc2query_deserializeOpMoveCapacityReservationInstances struct {
}
func (*awsEc2query_deserializeOpMoveCapacityReservationInstances) ID() string {
return "OperationDeserializer"
}
func (m *awsEc2query_deserializeOpMoveCapacityReservationInstances) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
) {
out, metadata, err = next.HandleDeserialize(ctx, in)
if err != nil {
return out, metadata, err
}
response, ok := out.RawResponse.(*smithyhttp.Response)
if !ok {
return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
}
if response.StatusCode < 200 || response.StatusCode >= 300 {
return out, metadata, awsEc2query_deserializeOpErrorMoveCapacityReservationInstances(response, &metadata)
}
output := &MoveCapacityReservationInstancesOutput{}
out.Result = output
var buff [1024]byte
ringBuffer := smithyio.NewRingBuffer(buff[:])
body := io.TeeReader(response.Body, ringBuffer)
rootDecoder := xml.NewDecoder(body)
t, err := smithyxml.FetchRootElement(rootDecoder)
if err == io.EOF {
return out, metadata, nil
}
if err != nil {
var snapshot bytes.Buffer
io.Copy(&snapshot, ringBuffer)
return out, metadata, &smithy.DeserializationError{
Err: fmt.Errorf("failed to decode response body, %w", err),
Snapshot: snapshot.Bytes(),
}
}
decoder := smithyxml.WrapNodeDecoder(rootDecoder, t)
err = awsEc2query_deserializeOpDocumentMoveCapacityReservationInstancesOutput(&output, decoder)
if err != nil {
var snapshot bytes.Buffer
io.Copy(&snapshot, ringBuffer)
err = &smithy.DeserializationError{
Err: fmt.Errorf("failed to decode response body, %w", err),
Snapshot: snapshot.Bytes(),
}
return out, metadata, err
}
return out, metadata, err
}
func awsEc2query_deserializeOpErrorMoveCapacityReservationInstances(response *smithyhttp.Response, metadata *middleware.Metadata) error {
var errorBuffer bytes.Buffer
if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
}
errorBody := bytes.NewReader(errorBuffer.Bytes())
errorCode := "UnknownError"
errorMessage := errorCode
errorComponents, err := ec2query.GetErrorResponseComponents(errorBody)
if err != nil {
return err
}
awsmiddleware.SetRequestIDMetadata(metadata, errorComponents.RequestID)
if len(errorComponents.Code) != 0 {
errorCode = errorComponents.Code
}
if len(errorComponents.Message) != 0 {
errorMessage = errorComponents.Message
}
errorBody.Seek(0, io.SeekStart)
switch {
default:
genericError := &smithy.GenericAPIError{
Code: errorCode,
Message: errorMessage,
}
return genericError
}
}
type awsEc2query_deserializeOpProvisionByoipCidr struct { type awsEc2query_deserializeOpProvisionByoipCidr struct {
} }
@ -71760,6 +71942,208 @@ func awsEc2query_deserializeDocumentEbsOptimizedInfo(v **types.EbsOptimizedInfo,
return nil return nil
} }
func awsEc2query_deserializeDocumentEbsStatusDetails(v **types.EbsStatusDetails, decoder smithyxml.NodeDecoder) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
var sv *types.EbsStatusDetails
if *v == nil {
sv = &types.EbsStatusDetails{}
} else {
sv = *v
}
for {
t, done, err := decoder.Token()
if err != nil {
return err
}
if done {
break
}
originalDecoder := decoder
decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t)
switch {
case strings.EqualFold("impairedSince", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
t, err := smithytime.ParseDateTime(xtv)
if err != nil {
return err
}
sv.ImpairedSince = ptr.Time(t)
}
case strings.EqualFold("name", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.Name = types.StatusName(xtv)
}
case strings.EqualFold("status", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.Status = types.StatusType(xtv)
}
default:
// Do nothing and ignore the unexpected tag element
err = decoder.Decoder.Skip()
if err != nil {
return err
}
}
decoder = originalDecoder
}
*v = sv
return nil
}
func awsEc2query_deserializeDocumentEbsStatusDetailsList(v *[]types.EbsStatusDetails, decoder smithyxml.NodeDecoder) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
var sv []types.EbsStatusDetails
if *v == nil {
sv = make([]types.EbsStatusDetails, 0)
} else {
sv = *v
}
originalDecoder := decoder
for {
t, done, err := decoder.Token()
if err != nil {
return err
}
if done {
break
}
switch {
case strings.EqualFold("item", t.Name.Local):
var col types.EbsStatusDetails
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
destAddr := &col
if err := awsEc2query_deserializeDocumentEbsStatusDetails(&destAddr, nodeDecoder); err != nil {
return err
}
col = *destAddr
sv = append(sv, col)
default:
err = decoder.Decoder.Skip()
if err != nil {
return err
}
}
decoder = originalDecoder
}
*v = sv
return nil
}
func awsEc2query_deserializeDocumentEbsStatusDetailsListUnwrapped(v *[]types.EbsStatusDetails, decoder smithyxml.NodeDecoder) error {
var sv []types.EbsStatusDetails
if *v == nil {
sv = make([]types.EbsStatusDetails, 0)
} else {
sv = *v
}
switch {
default:
var mv types.EbsStatusDetails
t := decoder.StartEl
_ = t
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
destAddr := &mv
if err := awsEc2query_deserializeDocumentEbsStatusDetails(&destAddr, nodeDecoder); err != nil {
return err
}
mv = *destAddr
sv = append(sv, mv)
}
*v = sv
return nil
}
func awsEc2query_deserializeDocumentEbsStatusSummary(v **types.EbsStatusSummary, decoder smithyxml.NodeDecoder) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
var sv *types.EbsStatusSummary
if *v == nil {
sv = &types.EbsStatusSummary{}
} else {
sv = *v
}
for {
t, done, err := decoder.Token()
if err != nil {
return err
}
if done {
break
}
originalDecoder := decoder
decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t)
switch {
case strings.EqualFold("details", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsEc2query_deserializeDocumentEbsStatusDetailsList(&sv.Details, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("status", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.Status = types.SummaryStatus(xtv)
}
default:
// Do nothing and ignore the unexpected tag element
err = decoder.Decoder.Skip()
if err != nil {
return err
}
}
decoder = originalDecoder
}
*v = sv
return nil
}
func awsEc2query_deserializeDocumentEc2InstanceConnectEndpoint(v **types.Ec2InstanceConnectEndpoint, decoder smithyxml.NodeDecoder) error { func awsEc2query_deserializeDocumentEc2InstanceConnectEndpoint(v **types.Ec2InstanceConnectEndpoint, decoder smithyxml.NodeDecoder) error {
if v == nil { if v == nil {
return fmt.Errorf("unexpected nil of type %T", v) return fmt.Errorf("unexpected nil of type %T", v)
@ -86923,6 +87307,12 @@ func awsEc2query_deserializeDocumentInstanceStatus(v **types.InstanceStatus, dec
originalDecoder := decoder originalDecoder := decoder
decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t)
switch { switch {
case strings.EqualFold("attachedEbsStatus", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsEc2query_deserializeDocumentEbsStatusSummary(&sv.AttachedEbsStatus, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("availabilityZone", t.Name.Local): case strings.EqualFold("availabilityZone", t.Name.Local):
val, err := decoder.Value() val, err := decoder.Value()
if err != nil { if err != nil {
@ -89080,6 +89470,22 @@ func awsEc2query_deserializeDocumentIpam(v **types.Ipam, decoder smithyxml.NodeD
sv.Description = ptr.String(xtv) sv.Description = ptr.String(xtv)
} }
case strings.EqualFold("enablePrivateGua", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv, err := strconv.ParseBool(string(val))
if err != nil {
return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val)
}
sv.EnablePrivateGua = ptr.Bool(xtv)
}
case strings.EqualFold("ipamArn", t.Name.Local): case strings.EqualFold("ipamArn", t.Name.Local):
val, err := decoder.Value() val, err := decoder.Value()
if err != nil { if err != nil {
@ -90071,6 +90477,19 @@ func awsEc2query_deserializeDocumentIpamDiscoveredResourceCidr(v **types.IpamDis
sv.IpamResourceDiscoveryId = ptr.String(xtv) sv.IpamResourceDiscoveryId = ptr.String(xtv)
} }
case strings.EqualFold("ipSource", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.IpSource = types.IpamResourceCidrIpSource(xtv)
}
case strings.EqualFold("ipUsage", t.Name.Local): case strings.EqualFold("ipUsage", t.Name.Local):
val, err := decoder.Value() val, err := decoder.Value()
if err != nil { if err != nil {
@ -123490,6 +123909,32 @@ func awsEc2query_deserializeDocumentSubnetIpv6CidrBlockAssociation(v **types.Sub
sv.AssociationId = ptr.String(xtv) sv.AssociationId = ptr.String(xtv)
} }
case strings.EqualFold("ipSource", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.IpSource = types.IpSource(xtv)
}
case strings.EqualFold("ipv6AddressAttribute", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.Ipv6AddressAttribute = types.Ipv6AddressAttribute(xtv)
}
case strings.EqualFold("ipv6CidrBlock", t.Name.Local): case strings.EqualFold("ipv6CidrBlock", t.Name.Local):
val, err := decoder.Value() val, err := decoder.Value()
if err != nil { if err != nil {
@ -139000,6 +139445,32 @@ func awsEc2query_deserializeDocumentVpcIpv6CidrBlockAssociation(v **types.VpcIpv
sv.AssociationId = ptr.String(xtv) sv.AssociationId = ptr.String(xtv)
} }
case strings.EqualFold("ipSource", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.IpSource = types.IpSource(xtv)
}
case strings.EqualFold("ipv6AddressAttribute", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
sv.Ipv6AddressAttribute = types.Ipv6AddressAttribute(xtv)
}
case strings.EqualFold("ipv6CidrBlock", t.Name.Local): case strings.EqualFold("ipv6CidrBlock", t.Name.Local):
val, err := decoder.Value() val, err := decoder.Value()
if err != nil { if err != nil {
@ -143281,6 +143752,71 @@ func awsEc2query_deserializeOpDocumentCopySnapshotOutput(v **CopySnapshotOutput,
return nil return nil
} }
func awsEc2query_deserializeOpDocumentCreateCapacityReservationBySplittingOutput(v **CreateCapacityReservationBySplittingOutput, decoder smithyxml.NodeDecoder) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
var sv *CreateCapacityReservationBySplittingOutput
if *v == nil {
sv = &CreateCapacityReservationBySplittingOutput{}
} else {
sv = *v
}
for {
t, done, err := decoder.Token()
if err != nil {
return err
}
if done {
break
}
originalDecoder := decoder
decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t)
switch {
case strings.EqualFold("destinationCapacityReservation", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsEc2query_deserializeDocumentCapacityReservation(&sv.DestinationCapacityReservation, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("instanceCount", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.InstanceCount = ptr.Int32(int32(i64))
}
case strings.EqualFold("sourceCapacityReservation", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsEc2query_deserializeDocumentCapacityReservation(&sv.SourceCapacityReservation, nodeDecoder); err != nil {
return err
}
default:
// Do nothing and ignore the unexpected tag element
err = decoder.Decoder.Skip()
if err != nil {
return err
}
}
decoder = originalDecoder
}
*v = sv
return nil
}
func awsEc2query_deserializeOpDocumentCreateCapacityReservationFleetOutput(v **CreateCapacityReservationFleetOutput, decoder smithyxml.NodeDecoder) error { func awsEc2query_deserializeOpDocumentCreateCapacityReservationFleetOutput(v **CreateCapacityReservationFleetOutput, decoder smithyxml.NodeDecoder) error {
if v == nil { if v == nil {
return fmt.Errorf("unexpected nil of type %T", v) return fmt.Errorf("unexpected nil of type %T", v)
@ -168431,6 +168967,71 @@ func awsEc2query_deserializeOpDocumentMoveByoipCidrToIpamOutput(v **MoveByoipCid
return nil return nil
} }
func awsEc2query_deserializeOpDocumentMoveCapacityReservationInstancesOutput(v **MoveCapacityReservationInstancesOutput, decoder smithyxml.NodeDecoder) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
var sv *MoveCapacityReservationInstancesOutput
if *v == nil {
sv = &MoveCapacityReservationInstancesOutput{}
} else {
sv = *v
}
for {
t, done, err := decoder.Token()
if err != nil {
return err
}
if done {
break
}
originalDecoder := decoder
decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t)
switch {
case strings.EqualFold("destinationCapacityReservation", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsEc2query_deserializeDocumentCapacityReservation(&sv.DestinationCapacityReservation, nodeDecoder); err != nil {
return err
}
case strings.EqualFold("instanceCount", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.InstanceCount = ptr.Int32(int32(i64))
}
case strings.EqualFold("sourceCapacityReservation", t.Name.Local):
nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
if err := awsEc2query_deserializeDocumentCapacityReservation(&sv.SourceCapacityReservation, nodeDecoder); err != nil {
return err
}
default:
// Do nothing and ignore the unexpected tag element
err = decoder.Decoder.Skip()
if err != nil {
return err
}
}
decoder = originalDecoder
}
*v = sv
return nil
}
func awsEc2query_deserializeOpDocumentProvisionByoipCidrOutput(v **ProvisionByoipCidrOutput, decoder smithyxml.NodeDecoder) error { func awsEc2query_deserializeOpDocumentProvisionByoipCidrOutput(v **ProvisionByoipCidrOutput, decoder smithyxml.NodeDecoder) error {
if v == nil { if v == nil {
return fmt.Errorf("unexpected nil of type %T", v) return fmt.Errorf("unexpected nil of type %T", v)

View file

@ -67,6 +67,7 @@
"api_op_CopySnapshot.go", "api_op_CopySnapshot.go",
"api_op_CopySnapshot_test.go", "api_op_CopySnapshot_test.go",
"api_op_CreateCapacityReservation.go", "api_op_CreateCapacityReservation.go",
"api_op_CreateCapacityReservationBySplitting.go",
"api_op_CreateCapacityReservationFleet.go", "api_op_CreateCapacityReservationFleet.go",
"api_op_CreateCarrierGateway.go", "api_op_CreateCarrierGateway.go",
"api_op_CreateClientVpnEndpoint.go", "api_op_CreateClientVpnEndpoint.go",
@ -569,6 +570,7 @@
"api_op_MonitorInstances.go", "api_op_MonitorInstances.go",
"api_op_MoveAddressToVpc.go", "api_op_MoveAddressToVpc.go",
"api_op_MoveByoipCidrToIpam.go", "api_op_MoveByoipCidrToIpam.go",
"api_op_MoveCapacityReservationInstances.go",
"api_op_ProvisionByoipCidr.go", "api_op_ProvisionByoipCidr.go",
"api_op_ProvisionIpamByoasn.go", "api_op_ProvisionIpamByoasn.go",
"api_op_ProvisionIpamPoolCidr.go", "api_op_ProvisionIpamPoolCidr.go",

View file

@ -3,4 +3,4 @@
package ec2 package ec2
// goModuleVersion is the tagged release for this module // goModuleVersion is the tagged release for this module
const goModuleVersion = "1.173.0" const goModuleVersion = "1.177.0"

View file

@ -3601,6 +3601,70 @@ func (m *awsEc2query_serializeOpCreateCapacityReservation) HandleSerialize(ctx c
return next.HandleSerialize(ctx, in) return next.HandleSerialize(ctx, in)
} }
type awsEc2query_serializeOpCreateCapacityReservationBySplitting struct {
}
func (*awsEc2query_serializeOpCreateCapacityReservationBySplitting) ID() string {
return "OperationSerializer"
}
func (m *awsEc2query_serializeOpCreateCapacityReservationBySplitting) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
out middleware.SerializeOutput, metadata middleware.Metadata, err error,
) {
request, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
}
input, ok := in.Parameters.(*CreateCapacityReservationBySplittingInput)
_ = input
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
}
operationPath := "/"
if len(request.Request.URL.Path) == 0 {
request.Request.URL.Path = operationPath
} else {
request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
request.Request.URL.Path += "/"
}
}
request.Request.Method = "POST"
httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
if err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")
bodyWriter := bytes.NewBuffer(nil)
bodyEncoder := query.NewEncoder(bodyWriter)
body := bodyEncoder.Object()
body.Key("Action").String("CreateCapacityReservationBySplitting")
body.Key("Version").String("2016-11-15")
if err := awsEc2query_serializeOpDocumentCreateCapacityReservationBySplittingInput(input, bodyEncoder.Value); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
err = bodyEncoder.Encode()
if err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
in.Request = request
return next.HandleSerialize(ctx, in)
}
type awsEc2query_serializeOpCreateCapacityReservationFleet struct { type awsEc2query_serializeOpCreateCapacityReservationFleet struct {
} }
@ -35729,6 +35793,70 @@ func (m *awsEc2query_serializeOpMoveByoipCidrToIpam) HandleSerialize(ctx context
return next.HandleSerialize(ctx, in) return next.HandleSerialize(ctx, in)
} }
type awsEc2query_serializeOpMoveCapacityReservationInstances struct {
}
func (*awsEc2query_serializeOpMoveCapacityReservationInstances) ID() string {
return "OperationSerializer"
}
func (m *awsEc2query_serializeOpMoveCapacityReservationInstances) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
out middleware.SerializeOutput, metadata middleware.Metadata, err error,
) {
request, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
}
input, ok := in.Parameters.(*MoveCapacityReservationInstancesInput)
_ = input
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
}
operationPath := "/"
if len(request.Request.URL.Path) == 0 {
request.Request.URL.Path = operationPath
} else {
request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
request.Request.URL.Path += "/"
}
}
request.Request.Method = "POST"
httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
if err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")
bodyWriter := bytes.NewBuffer(nil)
bodyEncoder := query.NewEncoder(bodyWriter)
body := bodyEncoder.Object()
body.Key("Action").String("MoveCapacityReservationInstances")
body.Key("Version").String("2016-11-15")
if err := awsEc2query_serializeOpDocumentMoveCapacityReservationInstancesInput(input, bodyEncoder.Value); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
err = bodyEncoder.Encode()
if err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
return out, metadata, &smithy.SerializationError{Err: err}
}
in.Request = request
return next.HandleSerialize(ctx, in)
}
type awsEc2query_serializeOpProvisionByoipCidr struct { type awsEc2query_serializeOpProvisionByoipCidr struct {
} }
@ -50093,6 +50221,11 @@ func awsEc2query_serializeOpDocumentAllocateAddressInput(v *AllocateAddressInput
objectKey.Boolean(*v.DryRun) objectKey.Boolean(*v.DryRun)
} }
if v.IpamPoolId != nil {
objectKey := object.Key("IpamPoolId")
objectKey.String(*v.IpamPoolId)
}
if v.NetworkBorderGroup != nil { if v.NetworkBorderGroup != nil {
objectKey := object.Key("NetworkBorderGroup") objectKey := object.Key("NetworkBorderGroup")
objectKey.String(*v.NetworkBorderGroup) objectKey.String(*v.NetworkBorderGroup)
@ -51556,6 +51689,40 @@ func awsEc2query_serializeOpDocumentCopySnapshotInput(v *CopySnapshotInput, valu
return nil return nil
} }
func awsEc2query_serializeOpDocumentCreateCapacityReservationBySplittingInput(v *CreateCapacityReservationBySplittingInput, value query.Value) error {
object := value.Object()
_ = object
if v.ClientToken != nil {
objectKey := object.Key("ClientToken")
objectKey.String(*v.ClientToken)
}
if v.DryRun != nil {
objectKey := object.Key("DryRun")
objectKey.Boolean(*v.DryRun)
}
if v.InstanceCount != nil {
objectKey := object.Key("InstanceCount")
objectKey.Integer(*v.InstanceCount)
}
if v.SourceCapacityReservationId != nil {
objectKey := object.Key("SourceCapacityReservationId")
objectKey.String(*v.SourceCapacityReservationId)
}
if v.TagSpecifications != nil {
objectKey := object.FlatKey("TagSpecification")
if err := awsEc2query_serializeDocumentTagSpecificationList(v.TagSpecifications, objectKey); err != nil {
return err
}
}
return nil
}
func awsEc2query_serializeOpDocumentCreateCapacityReservationFleetInput(v *CreateCapacityReservationFleetInput, value query.Value) error { func awsEc2query_serializeOpDocumentCreateCapacityReservationFleetInput(v *CreateCapacityReservationFleetInput, value query.Value) error {
object := value.Object() object := value.Object()
_ = object _ = object
@ -52511,6 +52678,11 @@ func awsEc2query_serializeOpDocumentCreateIpamInput(v *CreateIpamInput, value qu
objectKey.Boolean(*v.DryRun) objectKey.Boolean(*v.DryRun)
} }
if v.EnablePrivateGua != nil {
objectKey := object.Key("EnablePrivateGua")
objectKey.Boolean(*v.EnablePrivateGua)
}
if v.OperatingRegions != nil { if v.OperatingRegions != nil {
objectKey := object.FlatKey("OperatingRegion") objectKey := object.FlatKey("OperatingRegion")
if err := awsEc2query_serializeDocumentAddIpamOperatingRegionSet(v.OperatingRegions, objectKey); err != nil { if err := awsEc2query_serializeDocumentAddIpamOperatingRegionSet(v.OperatingRegions, objectKey); err != nil {
@ -65166,6 +65338,11 @@ func awsEc2query_serializeOpDocumentModifyCapacityReservationInput(v *ModifyCapa
objectKey.Integer(*v.InstanceCount) objectKey.Integer(*v.InstanceCount)
} }
if len(v.InstanceMatchCriteria) > 0 {
objectKey := object.Key("InstanceMatchCriteria")
objectKey.String(string(v.InstanceMatchCriteria))
}
return nil return nil
} }
@ -65958,6 +66135,11 @@ func awsEc2query_serializeOpDocumentModifyIpamInput(v *ModifyIpamInput, value qu
objectKey.Boolean(*v.DryRun) objectKey.Boolean(*v.DryRun)
} }
if v.EnablePrivateGua != nil {
objectKey := object.Key("EnablePrivateGua")
objectKey.Boolean(*v.EnablePrivateGua)
}
if v.IpamId != nil { if v.IpamId != nil {
objectKey := object.Key("IpamId") objectKey := object.Key("IpamId")
objectKey.String(*v.IpamId) objectKey.String(*v.IpamId)
@ -67696,6 +67878,38 @@ func awsEc2query_serializeOpDocumentMoveByoipCidrToIpamInput(v *MoveByoipCidrToI
return nil return nil
} }
func awsEc2query_serializeOpDocumentMoveCapacityReservationInstancesInput(v *MoveCapacityReservationInstancesInput, value query.Value) error {
object := value.Object()
_ = object
if v.ClientToken != nil {
objectKey := object.Key("ClientToken")
objectKey.String(*v.ClientToken)
}
if v.DestinationCapacityReservationId != nil {
objectKey := object.Key("DestinationCapacityReservationId")
objectKey.String(*v.DestinationCapacityReservationId)
}
if v.DryRun != nil {
objectKey := object.Key("DryRun")
objectKey.Boolean(*v.DryRun)
}
if v.InstanceCount != nil {
objectKey := object.Key("InstanceCount")
objectKey.Integer(*v.InstanceCount)
}
if v.SourceCapacityReservationId != nil {
objectKey := object.Key("SourceCapacityReservationId")
objectKey.String(*v.SourceCapacityReservationId)
}
return nil
}
func awsEc2query_serializeOpDocumentProvisionByoipCidrInput(v *ProvisionByoipCidrInput, value query.Value) error { func awsEc2query_serializeOpDocumentProvisionByoipCidrInput(v *ProvisionByoipCidrInput, value query.Value) error {
object := value.Object() object := value.Object()
_ = object _ = object

View file

@ -5061,6 +5061,7 @@ const (
IpamPoolAllocationResourceTypeEc2PublicIpv4Pool IpamPoolAllocationResourceType = "ec2-public-ipv4-pool" IpamPoolAllocationResourceTypeEc2PublicIpv4Pool IpamPoolAllocationResourceType = "ec2-public-ipv4-pool"
IpamPoolAllocationResourceTypeCustom IpamPoolAllocationResourceType = "custom" IpamPoolAllocationResourceTypeCustom IpamPoolAllocationResourceType = "custom"
IpamPoolAllocationResourceTypeSubnet IpamPoolAllocationResourceType = "subnet" IpamPoolAllocationResourceTypeSubnet IpamPoolAllocationResourceType = "subnet"
IpamPoolAllocationResourceTypeEip IpamPoolAllocationResourceType = "eip"
) )
// Values returns all known values for IpamPoolAllocationResourceType. Note that // Values returns all known values for IpamPoolAllocationResourceType. Note that
@ -5075,6 +5076,7 @@ func (IpamPoolAllocationResourceType) Values() []IpamPoolAllocationResourceType
"ec2-public-ipv4-pool", "ec2-public-ipv4-pool",
"custom", "custom",
"subnet", "subnet",
"eip",
} }
} }
@ -5280,6 +5282,7 @@ const (
IpamPublicAddressTypeServiceManagedIp IpamPublicAddressType = "service-managed-ip" IpamPublicAddressTypeServiceManagedIp IpamPublicAddressType = "service-managed-ip"
IpamPublicAddressTypeServiceManagedByoip IpamPublicAddressType = "service-managed-byoip" IpamPublicAddressTypeServiceManagedByoip IpamPublicAddressType = "service-managed-byoip"
IpamPublicAddressTypeAmazonOwnedEip IpamPublicAddressType = "amazon-owned-eip" IpamPublicAddressTypeAmazonOwnedEip IpamPublicAddressType = "amazon-owned-eip"
IpamPublicAddressTypeAmazonOwnedContig IpamPublicAddressType = "amazon-owned-contig"
IpamPublicAddressTypeByoip IpamPublicAddressType = "byoip" IpamPublicAddressTypeByoip IpamPublicAddressType = "byoip"
IpamPublicAddressTypeEc2PublicIp IpamPublicAddressType = "ec2-public-ip" IpamPublicAddressTypeEc2PublicIp IpamPublicAddressType = "ec2-public-ip"
) )
@ -5293,11 +5296,33 @@ func (IpamPublicAddressType) Values() []IpamPublicAddressType {
"service-managed-ip", "service-managed-ip",
"service-managed-byoip", "service-managed-byoip",
"amazon-owned-eip", "amazon-owned-eip",
"amazon-owned-contig",
"byoip", "byoip",
"ec2-public-ip", "ec2-public-ip",
} }
} }
type IpamResourceCidrIpSource string
// Enum values for IpamResourceCidrIpSource
const (
IpamResourceCidrIpSourceAmazon IpamResourceCidrIpSource = "amazon"
IpamResourceCidrIpSourceByoip IpamResourceCidrIpSource = "byoip"
IpamResourceCidrIpSourceNone IpamResourceCidrIpSource = "none"
)
// Values returns all known values for IpamResourceCidrIpSource. Note that this
// can be expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (IpamResourceCidrIpSource) Values() []IpamResourceCidrIpSource {
return []IpamResourceCidrIpSource{
"amazon",
"byoip",
"none",
}
}
type IpamResourceDiscoveryAssociationState string type IpamResourceDiscoveryAssociationState string
// Enum values for IpamResourceDiscoveryAssociationState // Enum values for IpamResourceDiscoveryAssociationState
@ -5514,6 +5539,46 @@ func (IpamTier) Values() []IpamTier {
} }
} }
type IpSource string
// Enum values for IpSource
const (
IpSourceAmazon IpSource = "amazon"
IpSourceByoip IpSource = "byoip"
IpSourceNone IpSource = "none"
)
// Values returns all known values for IpSource. Note that this can be expanded in
// the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (IpSource) Values() []IpSource {
return []IpSource{
"amazon",
"byoip",
"none",
}
}
type Ipv6AddressAttribute string
// Enum values for Ipv6AddressAttribute
const (
Ipv6AddressAttributePublic Ipv6AddressAttribute = "public"
Ipv6AddressAttributePrivate Ipv6AddressAttribute = "private"
)
// Values returns all known values for Ipv6AddressAttribute. Note that this can be
// expanded in the future, and so it is only as up to date as the client.
//
// The ordering of this slice is not guaranteed to be stable across updates.
func (Ipv6AddressAttribute) Values() []Ipv6AddressAttribute {
return []Ipv6AddressAttribute{
"public",
"private",
}
}
type Ipv6SupportValue string type Ipv6SupportValue string
// Enum values for Ipv6SupportValue // Enum values for Ipv6SupportValue

View file

@ -474,7 +474,7 @@ type AnalysisRouteTableRoute struct {
// The destination IPv4 address, in CIDR notation. // The destination IPv4 address, in CIDR notation.
DestinationCidr *string DestinationCidr *string
// The prefix of the Amazon Web Service. // The prefix of the Amazon Web Services service.
DestinationPrefixListId *string DestinationPrefixListId *string
// The ID of an egress-only internet gateway. // The ID of an egress-only internet gateway.
@ -2679,8 +2679,7 @@ type DataQuery struct {
// in the query, the dataResponse identifies the query as MyQuery01 . // in the query, the dataResponse identifies the query as MyQuery01 .
Id *string Id *string
// The metric, aggregation-latency , indicating that network latency is aggregated // The metric used for the network performance request.
// for the query. This is the only supported metric.
Metric MetricType Metric MetricType
// The aggregation period used for the data query. // The aggregation period used for the data query.
@ -2708,8 +2707,7 @@ type DataResponse struct {
// The ID passed in the DataQuery . // The ID passed in the DataQuery .
Id *string Id *string
// The metric used for the network performance request. Only aggregate-latency is // The metric used for the network performance request.
// supported, which shows network latency during a specified period.
Metric MetricType Metric MetricType
// A list of MetricPoint objects. // A list of MetricPoint objects.
@ -3508,6 +3506,33 @@ type EbsOptimizedInfo struct {
noSmithyDocumentSerde noSmithyDocumentSerde
} }
// Describes the attached EBS status check for an instance.
type EbsStatusDetails struct {
// The date and time when the attached EBS status check failed.
ImpairedSince *time.Time
// The name of the attached EBS status check.
Name StatusName
// The result of the attached EBS status check.
Status StatusType
noSmithyDocumentSerde
}
// Provides a summary of the attached EBS volume status for an instance.
type EbsStatusSummary struct {
// Details about the attached EBS status check for an instance.
Details []EbsStatusDetails
// The current status.
Status SummaryStatus
noSmithyDocumentSerde
}
// The EC2 Instance Connect Endpoint. // The EC2 Instance Connect Endpoint.
type Ec2InstanceConnectEndpoint struct { type Ec2InstanceConnectEndpoint struct {
@ -7942,6 +7967,10 @@ type InstanceStateChange struct {
// Describes the status of an instance. // Describes the status of an instance.
type InstanceStatus struct { type InstanceStatus struct {
// Reports impaired functionality that stems from an attached Amazon EBS volume
// that is unreachable and unable to complete I/O operations.
AttachedEbsStatus *EbsStatusSummary
// The Availability Zone of the instance. // The Availability Zone of the instance.
AvailabilityZone *string AvailabilityZone *string
@ -8290,6 +8319,10 @@ type Ipam struct {
// The description for the IPAM. // The description for the IPAM.
Description *string Description *string
// Enable this option to use your own GUA ranges as private IPv6 addresses. This
// option is disabled by default.
EnablePrivateGua *bool
// The Amazon Resource Name (ARN) of the IPAM. // The Amazon Resource Name (ARN) of the IPAM.
IpamArn *string IpamArn *string
@ -8521,6 +8554,11 @@ type IpamDiscoveredResourceCidr struct {
// The Availability Zone ID. // The Availability Zone ID.
AvailabilityZoneId *string AvailabilityZoneId *string
// The source that allocated the IP address space. byoip or amazon indicates
// public IP address space allocated by Amazon or space that you have allocated
// with Bring your own IP (BYOIP). none indicates private space.
IpSource IpamResourceCidrIpSource
// The percentage of IP address space in use. To convert the decimal to a // The percentage of IP address space in use. To convert the decimal to a
// percentage, multiply the decimal by 100. Note the following: // percentage, multiply the decimal by 100. Note the following:
// //
@ -11257,9 +11295,19 @@ type ModifyTransitGatewayOptions struct {
// The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for // The range is 64512 to 65534 for 16-bit ASNs and 4200000000 to 4294967294 for
// 32-bit ASNs. // 32-bit ASNs.
// //
// The modify ASN operation is not allowed on a transit gateway with active BGP // The modify ASN operation is not allowed on a transit gateway if it has the
// sessions. You must first delete all transit gateway attachments that have BGP // following attachments:
// configured prior to modifying the ASN on the transit gateway. //
// - Dynamic VPN
//
// - Static VPN
//
// - Direct Connect Gateway
//
// - Connect
//
// You must first delete all transit gateway attachments configured prior to
// modifying the ASN on the transit gateway.
AmazonSideAsn *int64 AmazonSideAsn *int64
// The ID of the default association route table. // The ID of the default association route table.
@ -12295,7 +12343,7 @@ type NetworkInterfacePermission struct {
// The Amazon Web Services account ID. // The Amazon Web Services account ID.
AwsAccountId *string AwsAccountId *string
// The Amazon Web Service. // The Amazon Web Services service.
AwsService *string AwsService *string
// The ID of the network interface. // The ID of the network interface.
@ -13080,7 +13128,7 @@ type PortRange struct {
// Describes prefixes for Amazon Web Services services. // Describes prefixes for Amazon Web Services services.
type PrefixList struct { type PrefixList struct {
// The IP address range of the Amazon Web Service. // The IP address range of the Amazon Web Services service.
Cidrs []string Cidrs []string
// The ID of the prefix. // The ID of the prefix.
@ -13739,7 +13787,7 @@ type RequestLaunchTemplateData struct {
// The name or Amazon Resource Name (ARN) of an IAM instance profile. // The name or Amazon Resource Name (ARN) of an IAM instance profile.
IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecificationRequest IamInstanceProfile *LaunchTemplateIamInstanceProfileSpecificationRequest
// The ID of the AMI in the format ami-17characters00000 . // The ID of the AMI in the format ami-0ac394d6a3example .
// //
// Alternatively, you can specify a Systems Manager parameter, using one of the // Alternatively, you can specify a Systems Manager parameter, using one of the
// following formats. The Systems Manager parameter will resolve to an AMI ID on // following formats. The Systems Manager parameter will resolve to an AMI ID on
@ -14542,7 +14590,7 @@ type Route struct {
// The IPv6 CIDR block used for the destination match. // The IPv6 CIDR block used for the destination match.
DestinationIpv6CidrBlock *string DestinationIpv6CidrBlock *string
// The prefix of the Amazon Web Service. // The prefix of the Amazon Web Services service.
DestinationPrefixListId *string DestinationPrefixListId *string
// The ID of the egress-only internet gateway. // The ID of the egress-only internet gateway.
@ -17071,6 +17119,16 @@ type SubnetIpv6CidrBlockAssociation struct {
// The ID of the association. // The ID of the association.
AssociationId *string AssociationId *string
// The source that allocated the IP address space. byoip or amazon indicates
// public IP address space allocated by Amazon or space that you have allocated
// with Bring your own IP (BYOIP). none indicates private space.
IpSource IpSource
// Public IPv6 addresses are those advertised on the internet from Amazon Web
// Services. Private IP addresses are not and cannot be advertised on the internet
// from Amazon Web Services.
Ipv6AddressAttribute Ipv6AddressAttribute
// The IPv6 CIDR block. // The IPv6 CIDR block.
Ipv6CidrBlock *string Ipv6CidrBlock *string
@ -19790,6 +19848,16 @@ type VpcIpv6CidrBlockAssociation struct {
// The association ID for the IPv6 CIDR block. // The association ID for the IPv6 CIDR block.
AssociationId *string AssociationId *string
// The source that allocated the IP address space. byoip or amazon indicates
// public IP address space allocated by Amazon or space that you have allocated
// with Bring your own IP (BYOIP). none indicates private space.
IpSource IpSource
// Public IPv6 addresses are those advertised on the internet from Amazon Web
// Services. Private IP addresses are not and cannot be advertised on the internet
// from Amazon Web Services.
Ipv6AddressAttribute Ipv6AddressAttribute
// The IPv6 CIDR block. // The IPv6 CIDR block.
Ipv6CidrBlock *string Ipv6CidrBlock *string

View file

@ -1010,6 +1010,26 @@ func (m *validateOpCopySnapshot) HandleInitialize(ctx context.Context, in middle
return next.HandleInitialize(ctx, in) return next.HandleInitialize(ctx, in)
} }
type validateOpCreateCapacityReservationBySplitting struct {
}
func (*validateOpCreateCapacityReservationBySplitting) ID() string {
return "OperationInputValidation"
}
func (m *validateOpCreateCapacityReservationBySplitting) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
out middleware.InitializeOutput, metadata middleware.Metadata, err error,
) {
input, ok := in.Parameters.(*CreateCapacityReservationBySplittingInput)
if !ok {
return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
}
if err := validateOpCreateCapacityReservationBySplittingInput(input); err != nil {
return out, metadata, err
}
return next.HandleInitialize(ctx, in)
}
type validateOpCreateCapacityReservationFleet struct { type validateOpCreateCapacityReservationFleet struct {
} }
@ -7570,6 +7590,26 @@ func (m *validateOpMoveByoipCidrToIpam) HandleInitialize(ctx context.Context, in
return next.HandleInitialize(ctx, in) return next.HandleInitialize(ctx, in)
} }
type validateOpMoveCapacityReservationInstances struct {
}
func (*validateOpMoveCapacityReservationInstances) ID() string {
return "OperationInputValidation"
}
func (m *validateOpMoveCapacityReservationInstances) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
out middleware.InitializeOutput, metadata middleware.Metadata, err error,
) {
input, ok := in.Parameters.(*MoveCapacityReservationInstancesInput)
if !ok {
return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
}
if err := validateOpMoveCapacityReservationInstancesInput(input); err != nil {
return out, metadata, err
}
return next.HandleInitialize(ctx, in)
}
type validateOpProvisionByoipCidr struct { type validateOpProvisionByoipCidr struct {
} }
@ -8990,6 +9030,10 @@ func addOpCopySnapshotValidationMiddleware(stack *middleware.Stack) error {
return stack.Initialize.Add(&validateOpCopySnapshot{}, middleware.After) return stack.Initialize.Add(&validateOpCopySnapshot{}, middleware.After)
} }
func addOpCreateCapacityReservationBySplittingValidationMiddleware(stack *middleware.Stack) error {
return stack.Initialize.Add(&validateOpCreateCapacityReservationBySplitting{}, middleware.After)
}
func addOpCreateCapacityReservationFleetValidationMiddleware(stack *middleware.Stack) error { func addOpCreateCapacityReservationFleetValidationMiddleware(stack *middleware.Stack) error {
return stack.Initialize.Add(&validateOpCreateCapacityReservationFleet{}, middleware.After) return stack.Initialize.Add(&validateOpCreateCapacityReservationFleet{}, middleware.After)
} }
@ -10302,6 +10346,10 @@ func addOpMoveByoipCidrToIpamValidationMiddleware(stack *middleware.Stack) error
return stack.Initialize.Add(&validateOpMoveByoipCidrToIpam{}, middleware.After) return stack.Initialize.Add(&validateOpMoveByoipCidrToIpam{}, middleware.After)
} }
func addOpMoveCapacityReservationInstancesValidationMiddleware(stack *middleware.Stack) error {
return stack.Initialize.Add(&validateOpMoveCapacityReservationInstances{}, middleware.After)
}
func addOpProvisionByoipCidrValidationMiddleware(stack *middleware.Stack) error { func addOpProvisionByoipCidrValidationMiddleware(stack *middleware.Stack) error {
return stack.Initialize.Add(&validateOpProvisionByoipCidr{}, middleware.After) return stack.Initialize.Add(&validateOpProvisionByoipCidr{}, middleware.After)
} }
@ -12289,6 +12337,24 @@ func validateOpCopySnapshotInput(v *CopySnapshotInput) error {
} }
} }
func validateOpCreateCapacityReservationBySplittingInput(v *CreateCapacityReservationBySplittingInput) error {
if v == nil {
return nil
}
invalidParams := smithy.InvalidParamsError{Context: "CreateCapacityReservationBySplittingInput"}
if v.SourceCapacityReservationId == nil {
invalidParams.Add(smithy.NewErrParamRequired("SourceCapacityReservationId"))
}
if v.InstanceCount == nil {
invalidParams.Add(smithy.NewErrParamRequired("InstanceCount"))
}
if invalidParams.Len() > 0 {
return invalidParams
} else {
return nil
}
}
func validateOpCreateCapacityReservationFleetInput(v *CreateCapacityReservationFleetInput) error { func validateOpCreateCapacityReservationFleetInput(v *CreateCapacityReservationFleetInput) error {
if v == nil { if v == nil {
return nil return nil
@ -17761,6 +17827,27 @@ func validateOpMoveByoipCidrToIpamInput(v *MoveByoipCidrToIpamInput) error {
} }
} }
func validateOpMoveCapacityReservationInstancesInput(v *MoveCapacityReservationInstancesInput) error {
if v == nil {
return nil
}
invalidParams := smithy.InvalidParamsError{Context: "MoveCapacityReservationInstancesInput"}
if v.SourceCapacityReservationId == nil {
invalidParams.Add(smithy.NewErrParamRequired("SourceCapacityReservationId"))
}
if v.DestinationCapacityReservationId == nil {
invalidParams.Add(smithy.NewErrParamRequired("DestinationCapacityReservationId"))
}
if v.InstanceCount == nil {
invalidParams.Add(smithy.NewErrParamRequired("InstanceCount"))
}
if invalidParams.Len() > 0 {
return invalidParams
} else {
return nil
}
}
func validateOpProvisionByoipCidrInput(v *ProvisionByoipCidrInput) error { func validateOpProvisionByoipCidrInput(v *ProvisionByoipCidrInput) error {
if v == nil { if v == nil {
return nil return nil

View file

@ -1,3 +1,7 @@
# v1.11.4 (2024-08-15)
* **Dependency Update**: Bump minimum Go version to 1.21.
# v1.11.3 (2024-06-28) # v1.11.3 (2024-06-28)
* No change notes available for this release. * No change notes available for this release.

View file

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

View file

@ -1,3 +1,56 @@
# v1.3.18 (2024-08-15)
* **Dependency Update**: Bump minimum Go version to 1.21.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.17 (2024-07-10.2)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.16 (2024-07-10)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.15 (2024-06-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.14 (2024-06-19)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.13 (2024-06-18)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.12 (2024-06-17)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.11 (2024-06-07)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.10 (2024-06-03)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.9 (2024-05-16)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.8 (2024-05-15)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.7 (2024-03-29)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.6 (2024-03-18)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.3.5 (2024-03-07) # v1.3.5 (2024-03-07)
* **Bug Fix**: Remove dependency on go-cmp. * **Bug Fix**: Remove dependency on go-cmp.

View file

@ -3,4 +3,4 @@
package checksum package checksum
// goModuleVersion is the tagged release for this module // goModuleVersion is the tagged release for this module
const goModuleVersion = "1.3.5" const goModuleVersion = "1.3.18"

View file

@ -1,3 +1,8 @@
# v1.11.18 (2024-08-15)
* **Dependency Update**: Bump minimum Go version to 1.21.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.11.17 (2024-07-10.2) # v1.11.17 (2024-07-10.2)
* **Dependency Update**: Updated to the latest SDK module versions * **Dependency Update**: Updated to the latest SDK module versions

View file

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

View file

@ -1,3 +1,56 @@
# v1.17.16 (2024-08-15)
* **Dependency Update**: Bump minimum Go version to 1.21.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.15 (2024-07-10.2)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.14 (2024-07-10)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.13 (2024-06-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.12 (2024-06-19)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.11 (2024-06-18)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.10 (2024-06-17)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.9 (2024-06-07)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.8 (2024-06-03)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.7 (2024-05-16)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.6 (2024-05-15)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.5 (2024-03-29)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.4 (2024-03-18)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.3 (2024-03-07) # v1.17.3 (2024-03-07)
* **Dependency Update**: Updated to the latest SDK module versions * **Dependency Update**: Updated to the latest SDK module versions

View file

@ -3,4 +3,4 @@
package s3shared package s3shared
// goModuleVersion is the tagged release for this module // goModuleVersion is the tagged release for this module
const goModuleVersion = "1.17.3" const goModuleVersion = "1.17.16"

View file

@ -1,3 +1,109 @@
# v1.61.0 (2024-08-28)
* **Feature**: Add presignPost for s3 PutObject
# v1.60.1 (2024-08-22)
* No change notes available for this release.
# v1.60.0 (2024-08-20)
* **Feature**: Amazon Simple Storage Service / Features : Add support for conditional writes for PutObject and CompleteMultipartUpload APIs.
# v1.59.0 (2024-08-15)
* **Feature**: Amazon Simple Storage Service / Features : Adds support for pagination in the S3 ListBuckets API.
* **Dependency Update**: Bump minimum Go version to 1.21.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.58.3 (2024-08-02)
* **Bug Fix**: Add assurance tests for auth scheme selection logic.
# v1.58.2 (2024-07-10.2)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.58.1 (2024-07-10)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.58.0 (2024-07-02)
* **Feature**: Added response overrides to Head Object requests.
# v1.57.1 (2024-06-28)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.57.0 (2024-06-26)
* **Feature**: Support list-of-string endpoint parameter.
# v1.56.1 (2024-06-19)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.56.0 (2024-06-18)
* **Feature**: Track usage of various AWS SDK features in user-agent string.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.55.2 (2024-06-17)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.55.1 (2024-06-07)
* **Bug Fix**: Add clock skew correction on all service clients
* **Dependency Update**: Updated to the latest SDK module versions
# v1.55.0 (2024-06-05)
* **Feature**: Added new params copySource and key to copyObject API for supporting S3 Access Grants plugin. These changes will not change any of the existing S3 API functionality.
* **Bug Fix**: Add S3-specific smithy protocol tests.
# v1.54.4 (2024-06-03)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.54.3 (2024-05-23)
* **Bug Fix**: Prevent parsing failures for nonstandard `Expires` values in responses. If the SDK cannot parse the value set in the response header for this field it will now be returned as `nil`. A new field, `ExpiresString`, has been added that will retain the unparsed value from the response (regardless of whether it came back in a format recognized by the SDK).
# v1.54.2 (2024-05-16)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.54.1 (2024-05-15)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.54.0 (2024-05-14)
* **Feature**: Updated a few x-id in the http uri traits
# v1.53.2 (2024-05-08)
* **Bug Fix**: GoDoc improvement
# v1.53.1 (2024-03-29)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.53.0 (2024-03-18)
* **Feature**: Fix two issues with response root node names.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.52.1 (2024-03-15)
* **Documentation**: Documentation updates for Amazon S3.
# v1.52.0 (2024-03-13)
* **Feature**: This release makes the default option for S3 on Outposts request signing to use the SigV4A algorithm when using AWS Common Runtime (CRT).
# v1.51.4 (2024-03-07) # v1.51.4 (2024-03-07)
* **Bug Fix**: Remove dependency on go-cmp. * **Bug Fix**: Remove dependency on go-cmp.

View file

@ -14,6 +14,7 @@ import (
internalauth "github.com/aws/aws-sdk-go-v2/internal/auth" internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
internalauthsmithy "github.com/aws/aws-sdk-go-v2/internal/auth/smithy" internalauthsmithy "github.com/aws/aws-sdk-go-v2/internal/auth/smithy"
internalConfig "github.com/aws/aws-sdk-go-v2/internal/configsources" internalConfig "github.com/aws/aws-sdk-go-v2/internal/configsources"
internalmiddleware "github.com/aws/aws-sdk-go-v2/internal/middleware"
"github.com/aws/aws-sdk-go-v2/internal/v4a" "github.com/aws/aws-sdk-go-v2/internal/v4a"
acceptencodingcust "github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding" acceptencodingcust "github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum" internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
@ -22,12 +23,14 @@ import (
s3sharedconfig "github.com/aws/aws-sdk-go-v2/service/internal/s3shared/config" s3sharedconfig "github.com/aws/aws-sdk-go-v2/service/internal/s3shared/config"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations" s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
smithy "github.com/aws/smithy-go" smithy "github.com/aws/smithy-go"
smithyauth "github.com/aws/smithy-go/auth"
smithydocument "github.com/aws/smithy-go/document" smithydocument "github.com/aws/smithy-go/document"
"github.com/aws/smithy-go/logging" "github.com/aws/smithy-go/logging"
"github.com/aws/smithy-go/middleware" "github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http" smithyhttp "github.com/aws/smithy-go/transport/http"
"net" "net"
"net/http" "net/http"
"sync/atomic"
"time" "time"
) )
@ -38,6 +41,9 @@ const ServiceAPIVersion = "2006-03-01"
// Storage Service. // Storage Service.
type Client struct { type Client struct {
options Options options Options
// Difference between the time reported by the server and the client
timeOffset *atomic.Int64
} }
// New returns an initialized Client based on the functional options. Provide // New returns an initialized Client based on the functional options. Provide
@ -82,6 +88,8 @@ func New(options Options, optFns ...func(*Options)) *Client {
finalizeExpressCredentials(&options, client) finalizeExpressCredentials(&options, client)
initializeTimeOffsetResolver(client)
return client return client
} }
@ -259,15 +267,16 @@ func setResolvedDefaultsMode(o *Options) {
// NewFromConfig returns a new client from the provided config. // NewFromConfig returns a new client from the provided config.
func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client { func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client {
opts := Options{ opts := Options{
Region: cfg.Region, Region: cfg.Region,
DefaultsMode: cfg.DefaultsMode, DefaultsMode: cfg.DefaultsMode,
RuntimeEnvironment: cfg.RuntimeEnvironment, RuntimeEnvironment: cfg.RuntimeEnvironment,
HTTPClient: cfg.HTTPClient, HTTPClient: cfg.HTTPClient,
Credentials: cfg.Credentials, Credentials: cfg.Credentials,
APIOptions: cfg.APIOptions, APIOptions: cfg.APIOptions,
Logger: cfg.Logger, Logger: cfg.Logger,
ClientLogMode: cfg.ClientLogMode, ClientLogMode: cfg.ClientLogMode,
AppID: cfg.AppID, AppID: cfg.AppID,
AccountIDEndpointMode: cfg.AccountIDEndpointMode,
} }
resolveAWSRetryerProvider(cfg, &opts) resolveAWSRetryerProvider(cfg, &opts)
resolveAWSRetryMaxAttempts(cfg, &opts) resolveAWSRetryMaxAttempts(cfg, &opts)
@ -475,6 +484,30 @@ func addContentSHA256Header(stack *middleware.Stack) error {
return stack.Finalize.Insert(&v4.ContentSHA256Header{}, (*v4.ComputePayloadSHA256)(nil).ID(), middleware.After) return stack.Finalize.Insert(&v4.ContentSHA256Header{}, (*v4.ComputePayloadSHA256)(nil).ID(), middleware.After)
} }
func addIsWaiterUserAgent(o *Options) {
o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error {
ua, err := getOrAddRequestUserAgent(stack)
if err != nil {
return err
}
ua.AddUserAgentFeature(awsmiddleware.UserAgentFeatureWaiter)
return nil
})
}
func addIsPaginatorUserAgent(o *Options) {
o.APIOptions = append(o.APIOptions, func(stack *middleware.Stack) error {
ua, err := getOrAddRequestUserAgent(stack)
if err != nil {
return err
}
ua.AddUserAgentFeature(awsmiddleware.UserAgentFeaturePaginator)
return nil
})
}
func addRetry(stack *middleware.Stack, o Options) error { func addRetry(stack *middleware.Stack, o Options) error {
attempt := retry.NewAttemptMiddleware(o.Retryer, smithyhttp.RequestCloner, func(m *retry.Attempt) { attempt := retry.NewAttemptMiddleware(o.Retryer, smithyhttp.RequestCloner, func(m *retry.Attempt) {
m.LogAttempts = o.ClientLogMode.IsRetries() m.LogAttempts = o.ClientLogMode.IsRetries()
@ -548,6 +581,18 @@ func resolveUseFIPSEndpoint(cfg aws.Config, o *Options) error {
return nil return nil
} }
func resolveAccountID(identity smithyauth.Identity, mode aws.AccountIDEndpointMode) *string {
if mode == aws.AccountIDEndpointModeDisabled {
return nil
}
if ca, ok := identity.(*internalauthsmithy.CredentialsAdapter); ok && ca.Credentials.AccountID != "" {
return aws.String(ca.Credentials.AccountID)
}
return nil
}
type httpSignerV4a interface { type httpSignerV4a interface {
SignHTTP(ctx context.Context, credentials v4a.Credentials, r *http.Request, payloadHash, SignHTTP(ctx context.Context, credentials v4a.Credentials, r *http.Request, payloadHash,
service string, regionSet []string, signingTime time.Time, service string, regionSet []string, signingTime time.Time,
@ -568,6 +613,51 @@ func newDefaultV4aSigner(o Options) *v4a.Signer {
}) })
} }
func addTimeOffsetBuild(stack *middleware.Stack, c *Client) error {
mw := internalmiddleware.AddTimeOffsetMiddleware{Offset: c.timeOffset}
if err := stack.Build.Add(&mw, middleware.After); err != nil {
return err
}
return stack.Deserialize.Insert(&mw, "RecordResponseTiming", middleware.Before)
}
func initializeTimeOffsetResolver(c *Client) {
c.timeOffset = new(atomic.Int64)
}
func checkAccountID(identity smithyauth.Identity, mode aws.AccountIDEndpointMode) error {
switch mode {
case aws.AccountIDEndpointModeUnset:
case aws.AccountIDEndpointModePreferred:
case aws.AccountIDEndpointModeDisabled:
case aws.AccountIDEndpointModeRequired:
if ca, ok := identity.(*internalauthsmithy.CredentialsAdapter); !ok {
return fmt.Errorf("accountID is required but not set")
} else if ca.Credentials.AccountID == "" {
return fmt.Errorf("accountID is required but not set")
}
// default check in case invalid mode is configured through request config
default:
return fmt.Errorf("invalid accountID endpoint mode %s, must be preferred/required/disabled", mode)
}
return nil
}
func addUserAgentRetryMode(stack *middleware.Stack, options Options) error {
ua, err := getOrAddRequestUserAgent(stack)
if err != nil {
return err
}
switch options.Retryer.(type) {
case *retry.Standard:
ua.AddUserAgentFeature(awsmiddleware.UserAgentFeatureRetryModeStandard)
case *retry.AdaptiveMode:
ua.AddUserAgentFeature(awsmiddleware.UserAgentFeatureRetryModeAdaptive)
}
return nil
}
func addMetadataRetrieverMiddleware(stack *middleware.Stack) error { func addMetadataRetrieverMiddleware(stack *middleware.Stack) error {
return s3shared.AddMetadataRetrieverMiddleware(stack) return s3shared.AddMetadataRetrieverMiddleware(stack)
} }

View file

@ -18,22 +18,34 @@ import (
// by any previously uploaded parts will be freed. However, if any part uploads are // by any previously uploaded parts will be freed. However, if any part uploads are
// currently in progress, those part uploads might or might not succeed. As a // currently in progress, those part uploads might or might not succeed. As a
// result, it might be necessary to abort a given multipart upload multiple times // result, it might be necessary to abort a given multipart upload multiple times
// in order to completely free all storage consumed by all parts. To verify that // in order to completely free all storage consumed by all parts.
// all parts have been removed and prevent getting charged for the part storage, //
// you should call the ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) // To verify that all parts have been removed and prevent getting charged for the
// API operation and ensure that the parts list is empty. Directory buckets - For // part storage, you should call the [ListParts]API operation and ensure that the parts list
// directory buckets, you must make requests for this API operation to the Zonal // is empty.
// endpoint. These endpoints support virtual-hosted-style requests in the format //
// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style // - Directory buckets - If multipart uploads in a directory bucket are in
// requests are not supported. For more information, see Regional and Zonal // progress, you can't delete the bucket until all the in-progress multipart
// endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html) // uploads are aborted or completed. To delete these in-progress multipart uploads,
// in the Amazon S3 User Guide. Permissions // use the ListMultipartUploads operation to list the in-progress multipart
// uploads in the bucket and use the AbortMultupartUpload operation to abort all
// the in-progress multipart uploads.
//
// - Directory buckets - For directory buckets, you must make requests for this
// API operation to the Zonal endpoint. These endpoints support
// virtual-hosted-style requests in the format
// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name .
// Path-style requests are not supported. For more information, see [Regional and Zonal endpoints]in the
// Amazon S3 User Guide.
//
// Permissions
//
// - General purpose bucket permissions - For information about permissions // - General purpose bucket permissions - For information about permissions
// required to use the multipart upload, see Multipart Upload and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html) // required to use the multipart upload, see [Multipart Upload and Permissions]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// - Directory bucket permissions - To grant access to this API operation on a // - Directory bucket permissions - To grant access to this API operation on a
// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html) // directory bucket, we recommend that you use the [CreateSession]CreateSession API operation
// API operation for session-based authorization. Specifically, you grant the // for session-based authorization. Specifically, you grant the
// s3express:CreateSession permission to the directory bucket in a bucket policy // s3express:CreateSession permission to the directory bucket in a bucket policy
// or an IAM identity-based policy. Then, you make the CreateSession API call on // or an IAM identity-based policy. Then, you make the CreateSession API call on
// the bucket to obtain a session token. With the session token in your request // the bucket to obtain a session token. With the session token in your request
@ -41,17 +53,31 @@ import (
// expires, you make another CreateSession API call to generate a new session // expires, you make another CreateSession API call to generate a new session
// token for use. Amazon Web Services CLI or SDKs create session and refresh the // token for use. Amazon Web Services CLI or SDKs create session and refresh the
// session token automatically to avoid service interruptions when a session // session token automatically to avoid service interruptions when a session
// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html) // expires. For more information about authorization, see [CreateSession]CreateSession .
// .
// //
// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is // HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
// Bucket_name.s3express-az_id.region.amazonaws.com . The following operations are // Bucket_name.s3express-az_id.region.amazonaws.com .
// related to AbortMultipartUpload : //
// - CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) // The following operations are related to AbortMultipartUpload :
// - UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) //
// - CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) // [CreateMultipartUpload]
// - ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) //
// - ListMultipartUploads (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html) // [UploadPart]
//
// [CompleteMultipartUpload]
//
// [ListParts]
//
// [ListMultipartUploads]
//
// [ListParts]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
// [UploadPart]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
// [Regional and Zonal endpoints]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
// [ListMultipartUploads]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
// [CreateSession]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
// [Multipart Upload and Permissions]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
// [CompleteMultipartUpload]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
// [CreateMultipartUpload]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
func (c *Client) AbortMultipartUpload(ctx context.Context, params *AbortMultipartUploadInput, optFns ...func(*Options)) (*AbortMultipartUploadOutput, error) { func (c *Client) AbortMultipartUpload(ctx context.Context, params *AbortMultipartUploadInput, optFns ...func(*Options)) (*AbortMultipartUploadOutput, error) {
if params == nil { if params == nil {
params = &AbortMultipartUploadInput{} params = &AbortMultipartUploadInput{}
@ -69,31 +95,39 @@ func (c *Client) AbortMultipartUpload(ctx context.Context, params *AbortMultipar
type AbortMultipartUploadInput struct { type AbortMultipartUploadInput struct {
// The bucket name to which the upload was taking place. Directory buckets - When // The bucket name to which the upload was taking place.
// you use this operation with a directory bucket, you must use //
// virtual-hosted-style requests in the format // Directory buckets - When you use this operation with a directory bucket, you
// must use virtual-hosted-style requests in the format
// Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
// supported. Directory bucket names must be unique in the chosen Availability // supported. Directory bucket names must be unique in the chosen Availability
// Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
// example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 ). For information about bucket // example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3 ). For information about bucket
// naming restrictions, see Directory bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) // naming restrictions, see [Directory bucket naming rules]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. Access points - When you use this action with an //
// access point, you must provide the alias of the access point in place of the // Access points - When you use this action with an access point, you must provide
// bucket name or specify the access point ARN. When using the access point ARN, // the alias of the access point in place of the bucket name or specify the access
// you must direct requests to the access point hostname. The access point hostname // point ARN. When using the access point ARN, you must direct requests to the
// takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. // access point hostname. The access point hostname takes the form
// When using this action with an access point through the Amazon Web Services // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// SDKs, you provide the access point ARN in place of the bucket name. For more // action with an access point through the Amazon Web Services SDKs, you provide
// information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // the access point ARN in place of the bucket name. For more information about
// in the Amazon S3 User Guide. Access points and Object Lambda access points are // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// not supported by directory buckets. S3 on Outposts - When you use this action //
// with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts // Access points and Object Lambda access points are not supported by directory
// hostname. The S3 on Outposts hostname takes the form // buckets.
//
// S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must
// direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname
// takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you // use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more // provide the Outposts access point ARN in place of the bucket name. For more
// information about S3 on Outposts ARNs, see What is S3 on Outposts? (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) // information about S3 on Outposts ARNs, see [What is S3 on Outposts?]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// [Directory bucket naming rules]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
// [What is S3 on Outposts?]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
// [Using access points]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
// //
// This member is required. // This member is required.
Bucket *string Bucket *string
@ -117,16 +151,19 @@ type AbortMultipartUploadInput struct {
// Bucket owners need not specify this parameter in their requests. If either the // Bucket owners need not specify this parameter in their requests. If either the
// source or destination S3 bucket has Requester Pays enabled, the requester will // source or destination S3 bucket has Requester Pays enabled, the requester will
// pay for corresponding charges to copy the object. For information about // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in // downloading objects from Requester Pays buckets, see [Downloading Objects in Requester Pays Buckets]in the Amazon S3 User
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // Guide.
// in the Amazon S3 User Guide. This functionality is not supported for directory //
// buckets. // This functionality is not supported for directory buckets.
//
// [Downloading Objects in Requester Pays Buckets]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
RequestPayer types.RequestPayer RequestPayer types.RequestPayer
noSmithyDocumentSerde noSmithyDocumentSerde
} }
func (in *AbortMultipartUploadInput) bindEndpointParams(p *EndpointParameters) { func (in *AbortMultipartUploadInput) bindEndpointParams(p *EndpointParameters) {
p.Bucket = in.Bucket p.Bucket = in.Bucket
p.Key = in.Key p.Key = in.Key
@ -135,7 +172,9 @@ func (in *AbortMultipartUploadInput) bindEndpointParams(p *EndpointParameters) {
type AbortMultipartUploadOutput struct { type AbortMultipartUploadOutput struct {
// If present, indicates that the requester was successfully charged for the // If present, indicates that the requester was successfully charged for the
// request. This functionality is not supported for directory buckets. // request.
//
// This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged RequestCharged types.RequestCharged
// Metadata pertaining to the operation's result. // Metadata pertaining to the operation's result.
@ -202,6 +241,15 @@ func (c *Client) addOperationAbortMultipartUploadMiddlewares(stack *middleware.S
if err = addPutBucketContextMiddleware(stack); err != nil { if err = addPutBucketContextMiddleware(stack); err != nil {
return err return err
} }
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIsExpressUserAgent(stack); err != nil {
return err
}
if err = addOpAbortMultipartUploadValidationMiddleware(stack); err != nil { if err = addOpAbortMultipartUploadValidationMiddleware(stack); err != nil {
return err return err
} }

View file

@ -13,51 +13,59 @@ import (
smithyhttp "github.com/aws/smithy-go/transport/http" smithyhttp "github.com/aws/smithy-go/transport/http"
) )
// Completes a multipart upload by assembling previously uploaded parts. You first // Completes a multipart upload by assembling previously uploaded parts.
// initiate the multipart upload and then upload all parts using the UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) //
// operation or the UploadPartCopy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) // You first initiate the multipart upload and then upload all parts using the [UploadPart]
// operation. After successfully uploading all relevant parts of an upload, you // operation or the [UploadPartCopy]operation. After successfully uploading all relevant parts of
// call this CompleteMultipartUpload operation to complete the upload. Upon // an upload, you call this CompleteMultipartUpload operation to complete the
// receiving this request, Amazon S3 concatenates all the parts in ascending order // upload. Upon receiving this request, Amazon S3 concatenates all the parts in
// by part number to create a new object. In the CompleteMultipartUpload request, // ascending order by part number to create a new object. In the
// you must provide the parts list and ensure that the parts list is complete. The // CompleteMultipartUpload request, you must provide the parts list and ensure that
// CompleteMultipartUpload API operation concatenates the parts that you provide in // the parts list is complete. The CompleteMultipartUpload API operation
// the list. For each part in the list, you must provide the PartNumber value and // concatenates the parts that you provide in the list. For each part in the list,
// the ETag value that are returned after that part was uploaded. The processing // you must provide the PartNumber value and the ETag value that are returned
// of a CompleteMultipartUpload request could take several minutes to finalize. // after that part was uploaded.
// After Amazon S3 begins processing the request, it sends an HTTP response header //
// that specifies a 200 OK response. While processing is in progress, Amazon S3 // The processing of a CompleteMultipartUpload request could take several minutes
// periodically sends white space characters to keep the connection from timing // to finalize. After Amazon S3 begins processing the request, it sends an HTTP
// out. A request could fail after the initial 200 OK response has been sent. This // response header that specifies a 200 OK response. While processing is in
// means that a 200 OK response can contain either a success or an error. The // progress, Amazon S3 periodically sends white space characters to keep the
// error response might be embedded in the 200 OK response. If you call this API // connection from timing out. A request could fail after the initial 200 OK
// operation directly, make sure to design your application to parse the contents // response has been sent. This means that a 200 OK response can contain either a
// of the response and handle it appropriately. If you use Amazon Web Services // success or an error. The error response might be embedded in the 200 OK
// SDKs, SDKs handle this condition. The SDKs detect the embedded error and apply // response. If you call this API operation directly, make sure to design your
// error handling per your configuration settings (including automatically retrying // application to parse the contents of the response and handle it appropriately.
// the request as appropriate). If the condition persists, the SDKs throw an // If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect
// exception (or, for the SDKs that don't use exceptions, they return an error). // the embedded error and apply error handling per your configuration settings
// (including automatically retrying the request as appropriate). If the condition
// persists, the SDKs throw an exception (or, for the SDKs that don't use
// exceptions, they return an error).
//
// Note that if CompleteMultipartUpload fails, applications should be prepared to // Note that if CompleteMultipartUpload fails, applications should be prepared to
// retry the failed requests. For more information, see Amazon S3 Error Best // retry any failed requests (including 500 error responses). For more information,
// Practices (https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html) // see [Amazon S3 Error Best Practices].
// . You can't use Content-Type: application/x-www-form-urlencoded for the //
// You can't use Content-Type: application/x-www-form-urlencoded for the
// CompleteMultipartUpload requests. Also, if you don't provide a Content-Type // CompleteMultipartUpload requests. Also, if you don't provide a Content-Type
// header, CompleteMultipartUpload can still return a 200 OK response. For more // header, CompleteMultipartUpload can still return a 200 OK response.
// information about multipart uploads, see Uploading Objects Using Multipart //
// Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html) // For more information about multipart uploads, see [Uploading Objects Using Multipart Upload] in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. Directory buckets - For directory buckets, you must //
// make requests for this API operation to the Zonal endpoint. These endpoints // Directory buckets - For directory buckets, you must make requests for this API
// support virtual-hosted-style requests in the format // operation to the Zonal endpoint. These endpoints support virtual-hosted-style
// requests in the format
// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style // https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style
// requests are not supported. For more information, see Regional and Zonal // requests are not supported. For more information, see [Regional and Zonal endpoints]in the Amazon S3 User
// endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html) // Guide.
// in the Amazon S3 User Guide. Permissions //
// Permissions
//
// - General purpose bucket permissions - For information about permissions // - General purpose bucket permissions - For information about permissions
// required to use the multipart upload API, see Multipart Upload and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html) // required to use the multipart upload API, see [Multipart Upload and Permissions]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// - Directory bucket permissions - To grant access to this API operation on a // - Directory bucket permissions - To grant access to this API operation on a
// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html) // directory bucket, we recommend that you use the [CreateSession]CreateSession API operation
// API operation for session-based authorization. Specifically, you grant the // for session-based authorization. Specifically, you grant the
// s3express:CreateSession permission to the directory bucket in a bucket policy // s3express:CreateSession permission to the directory bucket in a bucket policy
// or an IAM identity-based policy. Then, you make the CreateSession API call on // or an IAM identity-based policy. Then, you make the CreateSession API call on
// the bucket to obtain a session token. With the session token in your request // the bucket to obtain a session token. With the session token in your request
@ -65,36 +73,70 @@ import (
// expires, you make another CreateSession API call to generate a new session // expires, you make another CreateSession API call to generate a new session
// token for use. Amazon Web Services CLI or SDKs create session and refresh the // token for use. Amazon Web Services CLI or SDKs create session and refresh the
// session token automatically to avoid service interruptions when a session // session token automatically to avoid service interruptions when a session
// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html) // expires. For more information about authorization, see [CreateSession]CreateSession .
// . //
// - If you provide an [additional checksum value]in your MultipartUpload requests and the object is
// encrypted with Key Management Service, you must have permission to use the
// kms:Decrypt action for the CompleteMultipartUpload request to succeed.
// //
// Special errors // Special errors
//
// - Error Code: EntityTooSmall // - Error Code: EntityTooSmall
//
// - Description: Your proposed upload is smaller than the minimum allowed // - Description: Your proposed upload is smaller than the minimum allowed
// object size. Each part must be at least 5 MB in size, except the last part. // object size. Each part must be at least 5 MB in size, except the last part.
//
// - HTTP Status Code: 400 Bad Request // - HTTP Status Code: 400 Bad Request
//
// - Error Code: InvalidPart // - Error Code: InvalidPart
//
// - Description: One or more of the specified parts could not be found. The // - Description: One or more of the specified parts could not be found. The
// part might not have been uploaded, or the specified ETag might not have matched // part might not have been uploaded, or the specified ETag might not have matched
// the uploaded part's ETag. // the uploaded part's ETag.
//
// - HTTP Status Code: 400 Bad Request // - HTTP Status Code: 400 Bad Request
//
// - Error Code: InvalidPartOrder // - Error Code: InvalidPartOrder
//
// - Description: The list of parts was not in ascending order. The parts list // - Description: The list of parts was not in ascending order. The parts list
// must be specified in order by part number. // must be specified in order by part number.
//
// - HTTP Status Code: 400 Bad Request // - HTTP Status Code: 400 Bad Request
//
// - Error Code: NoSuchUpload // - Error Code: NoSuchUpload
//
// - Description: The specified multipart upload does not exist. The upload ID // - Description: The specified multipart upload does not exist. The upload ID
// might be invalid, or the multipart upload might have been aborted or completed. // might be invalid, or the multipart upload might have been aborted or completed.
//
// - HTTP Status Code: 404 Not Found // - HTTP Status Code: 404 Not Found
// //
// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is // HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
// Bucket_name.s3express-az_id.region.amazonaws.com . The following operations are // Bucket_name.s3express-az_id.region.amazonaws.com .
// related to CompleteMultipartUpload : //
// - CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) // The following operations are related to CompleteMultipartUpload :
// - UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) //
// - AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html) // [CreateMultipartUpload]
// - ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) //
// - ListMultipartUploads (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html) // [UploadPart]
//
// [AbortMultipartUpload]
//
// [ListParts]
//
// [ListMultipartUploads]
//
// [Uploading Objects Using Multipart Upload]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
// [Amazon S3 Error Best Practices]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html
// [AbortMultipartUpload]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
// [ListParts]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
// [UploadPart]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
// [Regional and Zonal endpoints]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
// [additional checksum value]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html
// [ListMultipartUploads]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
// [CreateSession]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
// [UploadPartCopy]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
// [Multipart Upload and Permissions]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html
// [CreateMultipartUpload]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
func (c *Client) CompleteMultipartUpload(ctx context.Context, params *CompleteMultipartUploadInput, optFns ...func(*Options)) (*CompleteMultipartUploadOutput, error) { func (c *Client) CompleteMultipartUpload(ctx context.Context, params *CompleteMultipartUploadInput, optFns ...func(*Options)) (*CompleteMultipartUploadOutput, error) {
if params == nil { if params == nil {
params = &CompleteMultipartUploadInput{} params = &CompleteMultipartUploadInput{}
@ -112,31 +154,39 @@ func (c *Client) CompleteMultipartUpload(ctx context.Context, params *CompleteMu
type CompleteMultipartUploadInput struct { type CompleteMultipartUploadInput struct {
// Name of the bucket to which the multipart upload was initiated. Directory // Name of the bucket to which the multipart upload was initiated.
// buckets - When you use this operation with a directory bucket, you must use //
// virtual-hosted-style requests in the format // Directory buckets - When you use this operation with a directory bucket, you
// must use virtual-hosted-style requests in the format
// Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
// supported. Directory bucket names must be unique in the chosen Availability // supported. Directory bucket names must be unique in the chosen Availability
// Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
// example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 ). For information about bucket // example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3 ). For information about bucket
// naming restrictions, see Directory bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) // naming restrictions, see [Directory bucket naming rules]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. Access points - When you use this action with an //
// access point, you must provide the alias of the access point in place of the // Access points - When you use this action with an access point, you must provide
// bucket name or specify the access point ARN. When using the access point ARN, // the alias of the access point in place of the bucket name or specify the access
// you must direct requests to the access point hostname. The access point hostname // point ARN. When using the access point ARN, you must direct requests to the
// takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. // access point hostname. The access point hostname takes the form
// When using this action with an access point through the Amazon Web Services // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// SDKs, you provide the access point ARN in place of the bucket name. For more // action with an access point through the Amazon Web Services SDKs, you provide
// information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // the access point ARN in place of the bucket name. For more information about
// in the Amazon S3 User Guide. Access points and Object Lambda access points are // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// not supported by directory buckets. S3 on Outposts - When you use this action //
// with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts // Access points and Object Lambda access points are not supported by directory
// hostname. The S3 on Outposts hostname takes the form // buckets.
//
// S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must
// direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname
// takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you // use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more // provide the Outposts access point ARN in place of the bucket name. For more
// information about S3 on Outposts ARNs, see What is S3 on Outposts? (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) // information about S3 on Outposts ARNs, see [What is S3 on Outposts?]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// [Directory bucket naming rules]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
// [What is S3 on Outposts?]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
// [Using access points]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
// //
// This member is required. // This member is required.
Bucket *string Bucket *string
@ -153,30 +203,34 @@ type CompleteMultipartUploadInput struct {
// This header can be used as a data integrity check to verify that the data // This header can be used as a data integrity check to verify that the data
// received is the same data that was originally sent. This header specifies the // received is the same data that was originally sent. This header specifies the
// base64-encoded, 32-bit CRC32 checksum of the object. For more information, see // base64-encoded, 32-bit CRC32 checksum of the object. For more information, see [Checking object integrity]
// Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. // in the Amazon S3 User Guide.
//
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
ChecksumCRC32 *string ChecksumCRC32 *string
// This header can be used as a data integrity check to verify that the data // This header can be used as a data integrity check to verify that the data
// received is the same data that was originally sent. This header specifies the // received is the same data that was originally sent. This header specifies the
// base64-encoded, 32-bit CRC32C checksum of the object. For more information, see // base64-encoded, 32-bit CRC32C checksum of the object. For more information, see [Checking object integrity]
// Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. // in the Amazon S3 User Guide.
//
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
ChecksumCRC32C *string ChecksumCRC32C *string
// This header can be used as a data integrity check to verify that the data // This header can be used as a data integrity check to verify that the data
// received is the same data that was originally sent. This header specifies the // received is the same data that was originally sent. This header specifies the
// base64-encoded, 160-bit SHA-1 digest of the object. For more information, see // base64-encoded, 160-bit SHA-1 digest of the object. For more information, see [Checking object integrity]
// Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. // in the Amazon S3 User Guide.
//
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
ChecksumSHA1 *string ChecksumSHA1 *string
// This header can be used as a data integrity check to verify that the data // This header can be used as a data integrity check to verify that the data
// received is the same data that was originally sent. This header specifies the // received is the same data that was originally sent. This header specifies the
// base64-encoded, 256-bit SHA-256 digest of the object. For more information, see // base64-encoded, 256-bit SHA-256 digest of the object. For more information, see [Checking object integrity]
// Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. // in the Amazon S3 User Guide.
//
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
ChecksumSHA256 *string ChecksumSHA256 *string
// The account ID of the expected bucket owner. If the account ID that you provide // The account ID of the expected bucket owner. If the account ID that you provide
@ -184,6 +238,22 @@ type CompleteMultipartUploadInput struct {
// status code 403 Forbidden (access denied). // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string ExpectedBucketOwner *string
// Uploads the object only if the object key name does not already exist in the
// bucket specified. Otherwise, Amazon S3 returns a 412 Precondition Failed error.
//
// If a conflicting operation occurs during the upload S3 returns a 409
// ConditionalRequestConflict response. On a 409 failure you should re-initiate the
// multipart upload with CreateMultipartUpload and re-upload each part.
//
// Expects the '*' (asterisk) character.
//
// For more information about conditional requests, see [RFC 7232], or [Conditional requests] in the Amazon S3
// User Guide.
//
// [Conditional requests]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-requests.html
// [RFC 7232]: https://tools.ietf.org/html/rfc7232
IfNoneMatch *string
// The container for the multipart upload request information. // The container for the multipart upload request information.
MultipartUpload *types.CompletedMultipartUpload MultipartUpload *types.CompletedMultipartUpload
@ -191,38 +261,47 @@ type CompleteMultipartUploadInput struct {
// Bucket owners need not specify this parameter in their requests. If either the // Bucket owners need not specify this parameter in their requests. If either the
// source or destination S3 bucket has Requester Pays enabled, the requester will // source or destination S3 bucket has Requester Pays enabled, the requester will
// pay for corresponding charges to copy the object. For information about // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in // downloading objects from Requester Pays buckets, see [Downloading Objects in Requester Pays Buckets]in the Amazon S3 User
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // Guide.
// in the Amazon S3 User Guide. This functionality is not supported for directory //
// buckets. // This functionality is not supported for directory buckets.
//
// [Downloading Objects in Requester Pays Buckets]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
RequestPayer types.RequestPayer RequestPayer types.RequestPayer
// The server-side encryption (SSE) algorithm used to encrypt the object. This // The server-side encryption (SSE) algorithm used to encrypt the object. This
// parameter is required only when the object was created using a checksum // parameter is required only when the object was created using a checksum
// algorithm or if your bucket policy requires the use of SSE-C. For more // algorithm or if your bucket policy requires the use of SSE-C. For more
// information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key) // information, see [Protecting data using SSE-C keys]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. This functionality is not supported for directory //
// buckets. // This functionality is not supported for directory buckets.
//
// [Protecting data using SSE-C keys]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key
SSECustomerAlgorithm *string SSECustomerAlgorithm *string
// The server-side encryption (SSE) customer managed key. This parameter is needed // The server-side encryption (SSE) customer managed key. This parameter is needed
// only when the object was created using a checksum algorithm. For more // only when the object was created using a checksum algorithm. For more
// information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html) // information, see [Protecting data using SSE-C keys]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. This functionality is not supported for directory //
// buckets. // This functionality is not supported for directory buckets.
//
// [Protecting data using SSE-C keys]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
SSECustomerKey *string SSECustomerKey *string
// The MD5 server-side encryption (SSE) customer managed key. This parameter is // The MD5 server-side encryption (SSE) customer managed key. This parameter is
// needed only when the object was created using a checksum algorithm. For more // needed only when the object was created using a checksum algorithm. For more
// information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html) // information, see [Protecting data using SSE-C keys]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. This functionality is not supported for directory //
// buckets. // This functionality is not supported for directory buckets.
//
// [Protecting data using SSE-C keys]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
SSECustomerKeyMD5 *string SSECustomerKeyMD5 *string
noSmithyDocumentSerde noSmithyDocumentSerde
} }
func (in *CompleteMultipartUploadInput) bindEndpointParams(p *EndpointParameters) { func (in *CompleteMultipartUploadInput) bindEndpointParams(p *EndpointParameters) {
p.Bucket = in.Bucket p.Bucket = in.Bucket
p.Key = in.Key p.Key = in.Key
@ -231,13 +310,15 @@ func (in *CompleteMultipartUploadInput) bindEndpointParams(p *EndpointParameters
type CompleteMultipartUploadOutput struct { type CompleteMultipartUploadOutput struct {
// The name of the bucket that contains the newly created object. Does not return // The name of the bucket that contains the newly created object. Does not return
// the access point ARN or access point alias if used. Access points are not // the access point ARN or access point alias if used.
// supported by directory buckets. //
// Access points are not supported by directory buckets.
Bucket *string Bucket *string
// Indicates whether the multipart upload uses an S3 Bucket Key for server-side // Indicates whether the multipart upload uses an S3 Bucket Key for server-side
// encryption with Key Management Service (KMS) keys (SSE-KMS). This functionality // encryption with Key Management Service (KMS) keys (SSE-KMS).
// is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
BucketKeyEnabled *bool BucketKeyEnabled *bool
// The base64-encoded, 32-bit CRC32 checksum of the object. This will only be // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
@ -245,8 +326,10 @@ type CompleteMultipartUploadOutput struct {
// object that was uploaded using multipart uploads, this value may not be a direct // object that was uploaded using multipart uploads, this value may not be a direct
// checksum value of the full object. Instead, it's a calculation based on the // checksum value of the full object. Instead, it's a calculation based on the
// checksum values of each individual part. For more information about how // checksum values of each individual part. For more information about how
// checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // checksums are calculated with multipart uploads, see [Checking object integrity]in the Amazon S3 User
// in the Amazon S3 User Guide. // Guide.
//
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
ChecksumCRC32 *string ChecksumCRC32 *string
// The base64-encoded, 32-bit CRC32C checksum of the object. This will only be // The base64-encoded, 32-bit CRC32C checksum of the object. This will only be
@ -254,8 +337,10 @@ type CompleteMultipartUploadOutput struct {
// object that was uploaded using multipart uploads, this value may not be a direct // object that was uploaded using multipart uploads, this value may not be a direct
// checksum value of the full object. Instead, it's a calculation based on the // checksum value of the full object. Instead, it's a calculation based on the
// checksum values of each individual part. For more information about how // checksum values of each individual part. For more information about how
// checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // checksums are calculated with multipart uploads, see [Checking object integrity]in the Amazon S3 User
// in the Amazon S3 User Guide. // Guide.
//
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
ChecksumCRC32C *string ChecksumCRC32C *string
// The base64-encoded, 160-bit SHA-1 digest of the object. This will only be // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
@ -263,8 +348,10 @@ type CompleteMultipartUploadOutput struct {
// object that was uploaded using multipart uploads, this value may not be a direct // object that was uploaded using multipart uploads, this value may not be a direct
// checksum value of the full object. Instead, it's a calculation based on the // checksum value of the full object. Instead, it's a calculation based on the
// checksum values of each individual part. For more information about how // checksum values of each individual part. For more information about how
// checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // checksums are calculated with multipart uploads, see [Checking object integrity]in the Amazon S3 User
// in the Amazon S3 User Guide. // Guide.
//
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
ChecksumSHA1 *string ChecksumSHA1 *string
// The base64-encoded, 256-bit SHA-256 digest of the object. This will only be // The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
@ -272,8 +359,10 @@ type CompleteMultipartUploadOutput struct {
// object that was uploaded using multipart uploads, this value may not be a direct // object that was uploaded using multipart uploads, this value may not be a direct
// checksum value of the full object. Instead, it's a calculation based on the // checksum value of the full object. Instead, it's a calculation based on the
// checksum values of each individual part. For more information about how // checksum values of each individual part. For more information about how
// checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) // checksums are calculated with multipart uploads, see [Checking object integrity]in the Amazon S3 User
// in the Amazon S3 User Guide. // Guide.
//
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums
ChecksumSHA256 *string ChecksumSHA256 *string
// Entity tag that identifies the newly created object's data. Objects with // Entity tag that identifies the newly created object's data. Objects with
@ -282,12 +371,14 @@ type CompleteMultipartUploadOutput struct {
// data. If the entity tag is not an MD5 digest of the object data, it will contain // data. If the entity tag is not an MD5 digest of the object data, it will contain
// one or more nonhexadecimal characters and/or will consist of less than 32 or // one or more nonhexadecimal characters and/or will consist of less than 32 or
// more than 32 hexadecimal digits. For more information about how the entity tag // more than 32 hexadecimal digits. For more information about how the entity tag
// is calculated, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) // is calculated, see [Checking object integrity]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
ETag *string ETag *string
// If the object expiration is configured, this will contain the expiration date ( // If the object expiration is configured, this will contain the expiration date (
// expiry-date ) and rule ID ( rule-id ). The value of rule-id is URL-encoded. // expiry-date ) and rule ID ( rule-id ). The value of rule-id is URL-encoded.
//
// This functionality is not supported for directory buckets. // This functionality is not supported for directory buckets.
Expiration *string Expiration *string
@ -298,21 +389,28 @@ type CompleteMultipartUploadOutput struct {
Location *string Location *string
// If present, indicates that the requester was successfully charged for the // If present, indicates that the requester was successfully charged for the
// request. This functionality is not supported for directory buckets. // request.
//
// This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged RequestCharged types.RequestCharged
// If present, indicates the ID of the Key Management Service (KMS) symmetric // If present, indicates the ID of the Key Management Service (KMS) symmetric
// encryption customer managed key that was used for the object. This functionality // encryption customer managed key that was used for the object.
// is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
SSEKMSKeyId *string SSEKMSKeyId *string
// The server-side encryption algorithm used when storing this object in Amazon S3 // The server-side encryption algorithm used when storing this object in Amazon S3
// (for example, AES256 , aws:kms ). For directory buckets, only server-side // (for example, AES256 , aws:kms ).
// encryption with Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported. //
// For directory buckets, only server-side encryption with Amazon S3 managed keys
// (SSE-S3) ( AES256 ) is supported.
ServerSideEncryption types.ServerSideEncryption ServerSideEncryption types.ServerSideEncryption
// Version ID of the newly created object, in case the bucket has versioning // Version ID of the newly created object, in case the bucket has versioning
// turned on. This functionality is not supported for directory buckets. // turned on.
//
// This functionality is not supported for directory buckets.
VersionId *string VersionId *string
// Metadata pertaining to the operation's result. // Metadata pertaining to the operation's result.
@ -379,6 +477,15 @@ func (c *Client) addOperationCompleteMultipartUploadMiddlewares(stack *middlewar
if err = addPutBucketContextMiddleware(stack); err != nil { if err = addPutBucketContextMiddleware(stack); err != nil {
return err return err
} }
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIsExpressUserAgent(stack); err != nil {
return err
}
if err = addOpCompleteMultipartUploadValidationMiddleware(stack); err != nil { if err = addOpCompleteMultipartUploadValidationMiddleware(stack); err != nil {
return err return err
} }

File diff suppressed because it is too large Load diff

View file

@ -15,82 +15,116 @@ import (
) )
// This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts // This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts
// bucket, see CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html) // bucket, see [CreateBucket]CreateBucket .
// . Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and //
// have a valid Amazon Web Services Access Key ID to authenticate requests. // Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have
// Anonymous requests are never allowed to create buckets. By creating the bucket, // a valid Amazon Web Services Access Key ID to authenticate requests. Anonymous
// you become the bucket owner. There are two types of buckets: general purpose // requests are never allowed to create buckets. By creating the bucket, you become
// buckets and directory buckets. For more information about these bucket types, // the bucket owner.
// see Creating, configuring, and working with Amazon S3 buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) //
// in the Amazon S3 User Guide. // There are two types of buckets: general purpose buckets and directory buckets.
// For more information about these bucket types, see [Creating, configuring, and working with Amazon S3 buckets]in the Amazon S3 User Guide.
//
// - General purpose buckets - If you send your CreateBucket request to the // - General purpose buckets - If you send your CreateBucket request to the
// s3.amazonaws.com global endpoint, the request goes to the us-east-1 Region. So // s3.amazonaws.com global endpoint, the request goes to the us-east-1 Region. So
// the signature calculations in Signature Version 4 must use us-east-1 as the // the signature calculations in Signature Version 4 must use us-east-1 as the
// Region, even if the location constraint in the request specifies another Region // Region, even if the location constraint in the request specifies another Region
// where the bucket is to be created. If you create a bucket in a Region other than // where the bucket is to be created. If you create a bucket in a Region other than
// US East (N. Virginia), your application must be able to handle 307 redirect. For // US East (N. Virginia), your application must be able to handle 307 redirect. For
// more information, see Virtual hosting of buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html) // more information, see [Virtual hosting of buckets]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// - Directory buckets - For directory buckets, you must make requests for this // - Directory buckets - For directory buckets, you must make requests for this
// API operation to the Regional endpoint. These endpoints support path-style // API operation to the Regional endpoint. These endpoints support path-style
// requests in the format // requests in the format
// https://s3express-control.region_code.amazonaws.com/bucket-name . // https://s3express-control.region_code.amazonaws.com/bucket-name .
// Virtual-hosted-style requests aren't supported. For more information, see // Virtual-hosted-style requests aren't supported. For more information, see [Regional and Zonal endpoints]in
// Regional and Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html) // the Amazon S3 User Guide.
// in the Amazon S3 User Guide.
// //
// Permissions // Permissions
//
// - General purpose bucket permissions - In addition to the s3:CreateBucket // - General purpose bucket permissions - In addition to the s3:CreateBucket
// permission, the following permissions are required in a policy when your // permission, the following permissions are required in a policy when your
// CreateBucket request includes specific headers: // CreateBucket request includes specific headers:
//
// - Access control lists (ACLs) - In your CreateBucket request, if you specify // - Access control lists (ACLs) - In your CreateBucket request, if you specify
// an access control list (ACL) and set it to public-read , public-read-write , // an access control list (ACL) and set it to public-read , public-read-write ,
// authenticated-read , or if you explicitly specify any other custom ACLs, both // authenticated-read , or if you explicitly specify any other custom ACLs, both
// s3:CreateBucket and s3:PutBucketAcl permissions are required. In your // s3:CreateBucket and s3:PutBucketAcl permissions are required. In your
// CreateBucket request, if you set the ACL to private , or if you don't specify // CreateBucket request, if you set the ACL to private , or if you don't specify
// any ACLs, only the s3:CreateBucket permission is required. // any ACLs, only the s3:CreateBucket permission is required.
//
// - Object Lock - In your CreateBucket request, if you set // - Object Lock - In your CreateBucket request, if you set
// x-amz-bucket-object-lock-enabled to true, the // x-amz-bucket-object-lock-enabled to true, the
// s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are // s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are
// required. // required.
//
// - S3 Object Ownership - If your CreateBucket request includes the // - S3 Object Ownership - If your CreateBucket request includes the
// x-amz-object-ownership header, then the s3:PutBucketOwnershipControls // x-amz-object-ownership header, then the s3:PutBucketOwnershipControls
// permission is required. If your CreateBucket request sets BucketOwnerEnforced // permission is required.
// for Amazon S3 Object Ownership and specifies a bucket ACL that provides access
// to an external Amazon Web Services account, your request fails with a 400
// error and returns the InvalidBucketAcLWithObjectOwnership error code. For more
// information, see Setting Object Ownership on an existing bucket (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html)
// in the Amazon S3 User Guide.
// - S3 Block Public Access - If your specific use case requires granting public
// access to your S3 resources, you can disable Block Public Access. Specifically,
// you can create a new bucket with Block Public Access enabled, then separately
// call the DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html)
// API. To use this operation, you must have the s3:PutBucketPublicAccessBlock
// permission. For more information about S3 Block Public Access, see Blocking
// public access to your Amazon S3 storage (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html)
// in the Amazon S3 User Guide.
// - Directory bucket permissions - You must have the s3express:CreateBucket
// permission in an IAM identity-based policy instead of a bucket policy.
// Cross-account access to this API operation isn't supported. This operation can
// only be performed by the Amazon Web Services account that owns the resource. For
// more information about directory bucket policies and permissions, see Amazon
// Web Services Identity and Access Management (IAM) for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html)
// in the Amazon S3 User Guide. The permissions for ACLs, Object Lock, S3 Object
// Ownership, and S3 Block Public Access are not supported for directory buckets.
// For directory buckets, all Block Public Access settings are enabled at the
// bucket level and S3 Object Ownership is set to Bucket owner enforced (ACLs
// disabled). These settings can't be modified. For more information about
// permissions for creating and working with directory buckets, see Directory
// buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html)
// in the Amazon S3 User Guide. For more information about supported S3 features
// for directory buckets, see Features of S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone.html#s3-express-features)
// in the Amazon S3 User Guide.
// //
// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is // To set an ACL on a bucket as part of a CreateBucket request, you must explicitly
// s3express-control.region.amazonaws.com . The following operations are related to //
// CreateBucket : // set S3 Object Ownership for the bucket to a different value than the default,
// - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) // BucketOwnerEnforced . Additionally, if your desired bucket ACL grants public
// - DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) // access, you must first create the bucket (without the bucket ACL) and then
// explicitly disable Block Public Access on the bucket before using PutBucketAcl
// to set the ACL. If you try to create a bucket with a public ACL, the request
// will fail.
//
// For the majority of modern use cases in S3, we recommend that you keep all
//
// Block Public Access settings enabled and keep ACLs disabled. If you would like
// to share data with users outside of your account, you can use bucket policies as
// needed. For more information, see [Controlling ownership of objects and disabling ACLs for your bucket]and [Blocking public access to your Amazon S3 storage]in the Amazon S3 User Guide.
//
// - S3 Block Public Access - If your specific use case requires granting public
// access to your S3 resources, you can disable Block Public Access. Specifically,
// you can create a new bucket with Block Public Access enabled, then separately
// call the [DeletePublicAccessBlock]DeletePublicAccessBlock API. To use this operation, you must have the
// s3:PutBucketPublicAccessBlock permission. For more information about S3 Block
// Public Access, see [Blocking public access to your Amazon S3 storage]in the Amazon S3 User Guide.
//
// - Directory bucket permissions - You must have the s3express:CreateBucket
// permission in an IAM identity-based policy instead of a bucket policy.
// Cross-account access to this API operation isn't supported. This operation can
// only be performed by the Amazon Web Services account that owns the resource. For
// more information about directory bucket policies and permissions, see [Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone]in the
// Amazon S3 User Guide.
//
// The permissions for ACLs, Object Lock, S3 Object Ownership, and S3 Block Public
//
// Access are not supported for directory buckets. For directory buckets, all Block
// Public Access settings are enabled at the bucket level and S3 Object Ownership
// is set to Bucket owner enforced (ACLs disabled). These settings can't be
// modified.
//
// For more information about permissions for creating and working with directory
//
// buckets, see [Directory buckets]in the Amazon S3 User Guide. For more information about
// supported S3 features for directory buckets, see [Features of S3 Express One Zone]in the Amazon S3 User Guide.
//
// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
// s3express-control.region.amazonaws.com .
//
// The following operations are related to CreateBucket :
//
// [PutObject]
//
// [DeleteBucket]
//
// [Creating, configuring, and working with Amazon S3 buckets]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
// [Regional and Zonal endpoints]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
// [DeleteBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
// [PutObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
// [CreateBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html
// [Virtual hosting of buckets]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html
//
// [DeletePublicAccessBlock]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html
// [Directory buckets]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html
// [Features of S3 Express One Zone]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone.html#s3-express-features
// [Controlling ownership of objects and disabling ACLs for your bucket]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
// [Blocking public access to your Amazon S3 storage]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html
// [Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
func (c *Client) CreateBucket(ctx context.Context, params *CreateBucketInput, optFns ...func(*Options)) (*CreateBucketOutput, error) { func (c *Client) CreateBucket(ctx context.Context, params *CreateBucketInput, optFns ...func(*Options)) (*CreateBucketOutput, error) {
if params == nil { if params == nil {
params = &CreateBucketInput{} params = &CreateBucketInput{}
@ -108,77 +142,100 @@ func (c *Client) CreateBucket(ctx context.Context, params *CreateBucketInput, op
type CreateBucketInput struct { type CreateBucketInput struct {
// The name of the bucket to create. General purpose buckets - For information // The name of the bucket to create.
// about bucket naming restrictions, see Bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html) //
// in the Amazon S3 User Guide. Directory buckets - When you use this operation // General purpose buckets - For information about bucket naming restrictions, see [Bucket naming rules]
// with a directory bucket, you must use path-style requests in the format // in the Amazon S3 User Guide.
//
// Directory buckets - When you use this operation with a directory bucket, you
// must use path-style requests in the format
// https://s3express-control.region_code.amazonaws.com/bucket-name . // https://s3express-control.region_code.amazonaws.com/bucket-name .
// Virtual-hosted-style requests aren't supported. Directory bucket names must be // Virtual-hosted-style requests aren't supported. Directory bucket names must be
// unique in the chosen Availability Zone. Bucket names must also follow the format // unique in the chosen Availability Zone. Bucket names must also follow the format
// bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 // bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3
// ). For information about bucket naming restrictions, see Directory bucket // ). For information about bucket naming restrictions, see [Directory bucket naming rules]in the Amazon S3 User
// naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) // Guide
// in the Amazon S3 User Guide //
// [Directory bucket naming rules]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
// [Bucket naming rules]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html
// //
// This member is required. // This member is required.
Bucket *string Bucket *string
// The canned ACL to apply to the bucket. This functionality is not supported for // The canned ACL to apply to the bucket.
// directory buckets. //
// This functionality is not supported for directory buckets.
ACL types.BucketCannedACL ACL types.BucketCannedACL
// The configuration information for the bucket. // The configuration information for the bucket.
CreateBucketConfiguration *types.CreateBucketConfiguration CreateBucketConfiguration *types.CreateBucketConfiguration
// Allows grantee the read, write, read ACP, and write ACP permissions on the // Allows grantee the read, write, read ACP, and write ACP permissions on the
// bucket. This functionality is not supported for directory buckets. // bucket.
//
// This functionality is not supported for directory buckets.
GrantFullControl *string GrantFullControl *string
// Allows grantee to list the objects in the bucket. This functionality is not // Allows grantee to list the objects in the bucket.
// supported for directory buckets. //
// This functionality is not supported for directory buckets.
GrantRead *string GrantRead *string
// Allows grantee to read the bucket ACL. This functionality is not supported for // Allows grantee to read the bucket ACL.
// directory buckets. //
// This functionality is not supported for directory buckets.
GrantReadACP *string GrantReadACP *string
// Allows grantee to create new objects in the bucket. For the bucket and object // Allows grantee to create new objects in the bucket.
// owners of existing objects, also allows deletions and overwrites of those //
// objects. This functionality is not supported for directory buckets. // For the bucket and object owners of existing objects, also allows deletions and
// overwrites of those objects.
//
// This functionality is not supported for directory buckets.
GrantWrite *string GrantWrite *string
// Allows grantee to write the ACL for the applicable bucket. This functionality // Allows grantee to write the ACL for the applicable bucket.
// is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
GrantWriteACP *string GrantWriteACP *string
// Specifies whether you want S3 Object Lock to be enabled for the new bucket. // Specifies whether you want S3 Object Lock to be enabled for the new bucket.
//
// This functionality is not supported for directory buckets. // This functionality is not supported for directory buckets.
ObjectLockEnabledForBucket *bool ObjectLockEnabledForBucket *bool
// The container element for object ownership for a bucket's ownership controls. // The container element for object ownership for a bucket's ownership controls.
//
// BucketOwnerPreferred - Objects uploaded to the bucket change ownership to the // BucketOwnerPreferred - Objects uploaded to the bucket change ownership to the
// bucket owner if the objects are uploaded with the bucket-owner-full-control // bucket owner if the objects are uploaded with the bucket-owner-full-control
// canned ACL. ObjectWriter - The uploading account will own the object if the // canned ACL.
// object is uploaded with the bucket-owner-full-control canned ACL. //
// ObjectWriter - The uploading account will own the object if the object is
// uploaded with the bucket-owner-full-control canned ACL.
//
// BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer // BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer
// affect permissions. The bucket owner automatically owns and has full control // affect permissions. The bucket owner automatically owns and has full control
// over every object in the bucket. The bucket only accepts PUT requests that don't // over every object in the bucket. The bucket only accepts PUT requests that don't
// specify an ACL or specify bucket owner full control ACLs (such as the predefined // specify an ACL or specify bucket owner full control ACLs (such as the predefined
// bucket-owner-full-control canned ACL or a custom ACL in XML format that grants // bucket-owner-full-control canned ACL or a custom ACL in XML format that grants
// the same permissions). By default, ObjectOwnership is set to BucketOwnerEnforced // the same permissions).
// and ACLs are disabled. We recommend keeping ACLs disabled, except in uncommon //
// use cases where you must control access for each object individually. For more // By default, ObjectOwnership is set to BucketOwnerEnforced and ACLs are
// information about S3 Object Ownership, see Controlling ownership of objects and // disabled. We recommend keeping ACLs disabled, except in uncommon use cases where
// disabling ACLs for your bucket (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) // you must control access for each object individually. For more information about
// in the Amazon S3 User Guide. This functionality is not supported for directory // S3 Object Ownership, see [Controlling ownership of objects and disabling ACLs for your bucket]in the Amazon S3 User Guide.
// buckets. Directory buckets use the bucket owner enforced setting for S3 Object //
// Ownership. // This functionality is not supported for directory buckets. Directory buckets
// use the bucket owner enforced setting for S3 Object Ownership.
//
// [Controlling ownership of objects and disabling ACLs for your bucket]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
ObjectOwnership types.ObjectOwnership ObjectOwnership types.ObjectOwnership
noSmithyDocumentSerde noSmithyDocumentSerde
} }
func (in *CreateBucketInput) bindEndpointParams(p *EndpointParameters) { func (in *CreateBucketInput) bindEndpointParams(p *EndpointParameters) {
p.Bucket = in.Bucket p.Bucket = in.Bucket
p.UseS3ExpressControlEndpoint = ptr.Bool(true) p.UseS3ExpressControlEndpoint = ptr.Bool(true)
p.DisableAccessPoints = ptr.Bool(true) p.DisableAccessPoints = ptr.Bool(true)
@ -253,6 +310,15 @@ func (c *Client) addOperationCreateBucketMiddlewares(stack *middleware.Stack, op
if err = addPutBucketContextMiddleware(stack); err != nil { if err = addPutBucketContextMiddleware(stack); err != nil {
return err return err
} }
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIsExpressUserAgent(stack); err != nil {
return err
}
if err = addOpCreateBucketValidationMiddleware(stack); err != nil { if err = addOpCreateBucketValidationMiddleware(stack); err != nil {
return err return err
} }

View file

@ -16,51 +16,53 @@ import (
// This action initiates a multipart upload and returns an upload ID. This upload // This action initiates a multipart upload and returns an upload ID. This upload
// ID is used to associate all of the parts in the specific multipart upload. You // ID is used to associate all of the parts in the specific multipart upload. You
// specify this upload ID in each of your subsequent upload part requests (see // specify this upload ID in each of your subsequent upload part requests (see [UploadPart]).
// UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) // You also include this upload ID in the final request to either complete or abort
// ). You also include this upload ID in the final request to either complete or // the multipart upload request. For more information about multipart uploads, see [Multipart Upload Overview]
// abort the multipart upload request. For more information about multipart // in the Amazon S3 User Guide.
// uploads, see Multipart Upload Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html) //
// in the Amazon S3 User Guide. After you initiate a multipart upload and upload // After you initiate a multipart upload and upload one or more parts, to stop
// one or more parts, to stop being charged for storing the uploaded parts, you // being charged for storing the uploaded parts, you must either complete or abort
// must either complete or abort the multipart upload. Amazon S3 frees up the space // the multipart upload. Amazon S3 frees up the space used to store the parts and
// used to store the parts and stops charging you for storing them only after you // stops charging you for storing them only after you either complete or abort a
// either complete or abort a multipart upload. If you have configured a lifecycle // multipart upload.
// rule to abort incomplete multipart uploads, the created multipart upload must be //
// completed within the number of days specified in the bucket lifecycle // If you have configured a lifecycle rule to abort incomplete multipart uploads,
// configuration. Otherwise, the incomplete multipart upload becomes eligible for // the created multipart upload must be completed within the number of days
// an abort action and Amazon S3 aborts the multipart upload. For more information, // specified in the bucket lifecycle configuration. Otherwise, the incomplete
// see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) // multipart upload becomes eligible for an abort action and Amazon S3 aborts the
// . // multipart upload. For more information, see [Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration].
//
// - Directory buckets - S3 Lifecycle is not supported by directory buckets. // - Directory buckets - S3 Lifecycle is not supported by directory buckets.
//
// - Directory buckets - For directory buckets, you must make requests for this // - Directory buckets - For directory buckets, you must make requests for this
// API operation to the Zonal endpoint. These endpoints support // API operation to the Zonal endpoint. These endpoints support
// virtual-hosted-style requests in the format // virtual-hosted-style requests in the format
// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . // https://bucket_name.s3express-az_id.region.amazonaws.com/key-name .
// Path-style requests are not supported. For more information, see Regional and // Path-style requests are not supported. For more information, see [Regional and Zonal endpoints]in the
// Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html) // Amazon S3 User Guide.
// in the Amazon S3 User Guide.
// //
// Request signing For request signing, multipart upload is just a series of // Request signing For request signing, multipart upload is just a series of
// regular requests. You initiate a multipart upload, send one or more requests to // regular requests. You initiate a multipart upload, send one or more requests to
// upload parts, and then complete the multipart upload process. You sign each // upload parts, and then complete the multipart upload process. You sign each
// request individually. There is nothing special about signing multipart upload // request individually. There is nothing special about signing multipart upload
// requests. For more information about signing, see Authenticating Requests // requests. For more information about signing, see [Authenticating Requests (Amazon Web Services Signature Version 4)]in the Amazon S3 User Guide.
// (Amazon Web Services Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html) //
// in the Amazon S3 User Guide. Permissions // Permissions
// - General purpose bucket permissions - For information about the permissions //
// required to use the multipart upload API, see Multipart upload and permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html) // - General purpose bucket permissions - To perform a multipart upload with
// in the Amazon S3 User Guide. To perform a multipart upload with encryption by // encryption using an Key Management Service (KMS) KMS key, the requester must
// using an Amazon Web Services KMS key, the requester must have permission to the // have permission to the kms:Decrypt and kms:GenerateDataKey actions on the key.
// kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are // The requester must also have permissions for the kms:GenerateDataKey action
// required because Amazon S3 must decrypt and read data from the encrypted file // for the CreateMultipartUpload API. Then, the requester needs permissions for
// parts before it completes the multipart upload. For more information, see // the kms:Decrypt action on the UploadPart and UploadPartCopy APIs. These
// Multipart upload API and permissions (https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions) // permissions are required because Amazon S3 must decrypt and read data from the
// and Protecting data using server-side encryption with Amazon Web Services KMS (https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) // encrypted file parts before it completes the multipart upload. For more
// in the Amazon S3 User Guide. // information, see [Multipart upload API and permissions]and [Protecting data using server-side encryption with Amazon Web Services KMS]in the Amazon S3 User Guide.
//
// - Directory bucket permissions - To grant access to this API operation on a // - Directory bucket permissions - To grant access to this API operation on a
// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html) // directory bucket, we recommend that you use the [CreateSession]CreateSession API operation
// API operation for session-based authorization. Specifically, you grant the // for session-based authorization. Specifically, you grant the
// s3express:CreateSession permission to the directory bucket in a bucket policy // s3express:CreateSession permission to the directory bucket in a bucket policy
// or an IAM identity-based policy. Then, you make the CreateSession API call on // or an IAM identity-based policy. Then, you make the CreateSession API call on
// the bucket to obtain a session token. With the session token in your request // the bucket to obtain a session token. With the session token in your request
@ -68,10 +70,10 @@ import (
// expires, you make another CreateSession API call to generate a new session // expires, you make another CreateSession API call to generate a new session
// token for use. Amazon Web Services CLI or SDKs create session and refresh the // token for use. Amazon Web Services CLI or SDKs create session and refresh the
// session token automatically to avoid service interruptions when a session // session token automatically to avoid service interruptions when a session
// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html) // expires. For more information about authorization, see [CreateSession]CreateSession .
// .
// //
// Encryption // Encryption
//
// - General purpose buckets - Server-side encryption is for data encryption at // - General purpose buckets - Server-side encryption is for data encryption at
// rest. Amazon S3 encrypts your data as it writes it to disks in its data centers // rest. Amazon S3 encrypts your data as it writes it to disks in its data centers
// and decrypts it when you access it. Amazon S3 automatically encrypts all new // and decrypts it when you access it. Amazon S3 automatically encrypts all new
@ -91,61 +93,95 @@ import (
// in your request is different from the default encryption configuration of the // in your request is different from the default encryption configuration of the
// destination bucket, the encryption setting in your request takes precedence. If // destination bucket, the encryption setting in your request takes precedence. If
// you choose to provide your own encryption key, the request headers you provide // you choose to provide your own encryption key, the request headers you provide
// in UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) // in [UploadPart]and [UploadPartCopy]requests must match the headers you used in the CreateMultipartUpload
// and UploadPartCopy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) // request.
// requests must match the headers you used in the CreateMultipartUpload request. //
// - Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key ( // - Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key (
// aws/s3 ) and KMS customer managed keys stored in Key Management Service (KMS) // aws/s3 ) and KMS customer managed keys stored in Key Management Service (KMS)
// If you want Amazon Web Services to manage the keys used to encrypt data, // If you want Amazon Web Services to manage the keys used to encrypt data,
// specify the following headers in the request. // specify the following headers in the request.
//
// - x-amz-server-side-encryption // - x-amz-server-side-encryption
//
// - x-amz-server-side-encryption-aws-kms-key-id // - x-amz-server-side-encryption-aws-kms-key-id
//
// - x-amz-server-side-encryption-context // - x-amz-server-side-encryption-context
//
// - If you specify x-amz-server-side-encryption:aws:kms , but don't provide // - If you specify x-amz-server-side-encryption:aws:kms , but don't provide
// x-amz-server-side-encryption-aws-kms-key-id , Amazon S3 uses the Amazon Web // x-amz-server-side-encryption-aws-kms-key-id , Amazon S3 uses the Amazon Web
// Services managed key ( aws/s3 key) in KMS to protect the data. // Services managed key ( aws/s3 key) in KMS to protect the data.
//
// - To perform a multipart upload with encryption by using an Amazon Web // - To perform a multipart upload with encryption by using an Amazon Web
// Services KMS key, the requester must have permission to the kms:Decrypt and // Services KMS key, the requester must have permission to the kms:Decrypt and
// kms:GenerateDataKey* actions on the key. These permissions are required // kms:GenerateDataKey* actions on the key. These permissions are required
// because Amazon S3 must decrypt and read data from the encrypted file parts // because Amazon S3 must decrypt and read data from the encrypted file parts
// before it completes the multipart upload. For more information, see Multipart // before it completes the multipart upload. For more information, see [Multipart upload API and permissions]and [Protecting data using server-side encryption with Amazon Web Services KMS]in
// upload API and permissions (https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions) // the Amazon S3 User Guide.
// and Protecting data using server-side encryption with Amazon Web Services KMS (https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) //
// in the Amazon S3 User Guide.
// - If your Identity and Access Management (IAM) user or role is in the same // - If your Identity and Access Management (IAM) user or role is in the same
// Amazon Web Services account as the KMS key, then you must have these permissions // Amazon Web Services account as the KMS key, then you must have these permissions
// on the key policy. If your IAM user or role is in a different account from the // on the key policy. If your IAM user or role is in a different account from the
// key, then you must have the permissions on both the key policy and your IAM user // key, then you must have the permissions on both the key policy and your IAM user
// or role. // or role.
//
// - All GET and PUT requests for an object protected by KMS fail if you don't // - All GET and PUT requests for an object protected by KMS fail if you don't
// make them by using Secure Sockets Layer (SSL), Transport Layer Security (TLS), // make them by using Secure Sockets Layer (SSL), Transport Layer Security (TLS),
// or Signature Version 4. For information about configuring any of the officially // or Signature Version 4. For information about configuring any of the officially
// supported Amazon Web Services SDKs and Amazon Web Services CLI, see // supported Amazon Web Services SDKs and Amazon Web Services CLI, see [Specifying the Signature Version in Request Authentication]in the
// Specifying the Signature Version in Request Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version) // Amazon S3 User Guide.
// in the Amazon S3 User Guide. For more information about server-side
// encryption with KMS keys (SSE-KMS), see Protecting Data Using Server-Side
// Encryption with KMS keys (https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)
// in the Amazon S3 User Guide.
// - Use customer-provided encryption keys (SSE-C) If you want to manage your
// own encryption keys, provide all the following headers in the request.
// - x-amz-server-side-encryption-customer-algorithm
// - x-amz-server-side-encryption-customer-key
// - x-amz-server-side-encryption-customer-key-MD5 For more information about
// server-side encryption with customer-provided encryption keys (SSE-C), see
// Protecting data using server-side encryption with customer-provided encryption
// keys (SSE-C) (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html)
// in the Amazon S3 User Guide.
// - Directory buckets -For directory buckets, only server-side encryption with
// Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported.
// //
// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is // For more information about server-side encryption with KMS keys (SSE-KMS), see [Protecting Data Using Server-Side Encryption with KMS keys]
// Bucket_name.s3express-az_id.region.amazonaws.com . The following operations are //
// related to CreateMultipartUpload : // in the Amazon S3 User Guide.
// - UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) //
// - CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) // - Use customer-provided encryption keys (SSE-C) If you want to manage your
// - AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html) // own encryption keys, provide all the following headers in the request.
// - ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) //
// - ListMultipartUploads (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html) // - x-amz-server-side-encryption-customer-algorithm
//
// - x-amz-server-side-encryption-customer-key
//
// - x-amz-server-side-encryption-customer-key-MD5
//
// For more information about server-side encryption with customer-provided
//
// encryption keys (SSE-C), see [Protecting data using server-side encryption with customer-provided encryption keys (SSE-C)]in the Amazon S3 User Guide.
//
// - Directory buckets -For directory buckets, only server-side encryption with
// Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported.
//
// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
// Bucket_name.s3express-az_id.region.amazonaws.com .
//
// The following operations are related to CreateMultipartUpload :
//
// [UploadPart]
//
// [CompleteMultipartUpload]
//
// [AbortMultipartUpload]
//
// [ListParts]
//
// [ListMultipartUploads]
//
// [ListParts]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
// [UploadPart]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html
// [Protecting Data Using Server-Side Encryption with KMS keys]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
// [Regional and Zonal endpoints]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
// [Specifying the Signature Version in Request Authentication]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
// [Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
// [CreateSession]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
// [Multipart upload API and permissions]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions
// [UploadPartCopy]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html
// [CompleteMultipartUpload]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
// [Authenticating Requests (Amazon Web Services Signature Version 4)]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
// [AbortMultipartUpload]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
// [Multipart Upload Overview]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
// [Protecting data using server-side encryption with Amazon Web Services KMS]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html
// [ListMultipartUploads]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html
//
// [Protecting data using server-side encryption with customer-provided encryption keys (SSE-C)]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html
func (c *Client) CreateMultipartUpload(ctx context.Context, params *CreateMultipartUploadInput, optFns ...func(*Options)) (*CreateMultipartUploadOutput, error) { func (c *Client) CreateMultipartUpload(ctx context.Context, params *CreateMultipartUploadInput, optFns ...func(*Options)) (*CreateMultipartUploadOutput, error) {
if params == nil { if params == nil {
params = &CreateMultipartUploadInput{} params = &CreateMultipartUploadInput{}
@ -164,30 +200,39 @@ func (c *Client) CreateMultipartUpload(ctx context.Context, params *CreateMultip
type CreateMultipartUploadInput struct { type CreateMultipartUploadInput struct {
// The name of the bucket where the multipart upload is initiated and where the // The name of the bucket where the multipart upload is initiated and where the
// object is uploaded. Directory buckets - When you use this operation with a // object is uploaded.
// directory bucket, you must use virtual-hosted-style requests in the format //
// Directory buckets - When you use this operation with a directory bucket, you
// must use virtual-hosted-style requests in the format
// Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
// supported. Directory bucket names must be unique in the chosen Availability // supported. Directory bucket names must be unique in the chosen Availability
// Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
// example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 ). For information about bucket // example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3 ). For information about bucket
// naming restrictions, see Directory bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) // naming restrictions, see [Directory bucket naming rules]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. Access points - When you use this action with an //
// access point, you must provide the alias of the access point in place of the // Access points - When you use this action with an access point, you must provide
// bucket name or specify the access point ARN. When using the access point ARN, // the alias of the access point in place of the bucket name or specify the access
// you must direct requests to the access point hostname. The access point hostname // point ARN. When using the access point ARN, you must direct requests to the
// takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. // access point hostname. The access point hostname takes the form
// When using this action with an access point through the Amazon Web Services // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// SDKs, you provide the access point ARN in place of the bucket name. For more // action with an access point through the Amazon Web Services SDKs, you provide
// information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // the access point ARN in place of the bucket name. For more information about
// in the Amazon S3 User Guide. Access points and Object Lambda access points are // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// not supported by directory buckets. S3 on Outposts - When you use this action //
// with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts // Access points and Object Lambda access points are not supported by directory
// hostname. The S3 on Outposts hostname takes the form // buckets.
//
// S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must
// direct requests to the S3 on Outposts hostname. The S3 on Outposts hostname
// takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you // use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more // provide the Outposts access point ARN in place of the bucket name. For more
// information about S3 on Outposts ARNs, see What is S3 on Outposts? (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) // information about S3 on Outposts ARNs, see [What is S3 on Outposts?]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// [Directory bucket naming rules]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
// [What is S3 on Outposts?]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html
// [Using access points]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html
// //
// This member is required. // This member is required.
Bucket *string Bucket *string
@ -199,32 +244,41 @@ type CreateMultipartUploadInput struct {
// The canned ACL to apply to the object. Amazon S3 supports a set of predefined // The canned ACL to apply to the object. Amazon S3 supports a set of predefined
// ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and // ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and
// permissions. For more information, see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL) // permissions. For more information, see [Canned ACL]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. By default, all objects are private. Only the owner //
// has full access control. When uploading an object, you can grant access // By default, all objects are private. Only the owner has full access control.
// permissions to individual Amazon Web Services accounts or to predefined groups // When uploading an object, you can grant access permissions to individual Amazon
// defined by Amazon S3. These permissions are then added to the access control // Web Services accounts or to predefined groups defined by Amazon S3. These
// list (ACL) on the new object. For more information, see Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html) // permissions are then added to the access control list (ACL) on the new object.
// . One way to grant the permissions using the request headers is to specify a // For more information, see [Using ACLs]. One way to grant the permissions using the request
// canned ACL with the x-amz-acl request header. // headers is to specify a canned ACL with the x-amz-acl request header.
//
// - This functionality is not supported for directory buckets. // - This functionality is not supported for directory buckets.
//
// - This functionality is not supported for Amazon S3 on Outposts. // - This functionality is not supported for Amazon S3 on Outposts.
//
// [Canned ACL]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
// [Using ACLs]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
ACL types.ObjectCannedACL ACL types.ObjectCannedACL
// Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption // Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption
// with server-side encryption using Key Management Service (KMS) keys (SSE-KMS). // with server-side encryption using Key Management Service (KMS) keys (SSE-KMS).
// Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object // Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object
// encryption with SSE-KMS. Specifying this header with an object action doesnt // encryption with SSE-KMS.
// affect bucket-level settings for S3 Bucket Key. This functionality is not //
// supported for directory buckets. // Specifying this header with an object action doesnt affect bucket-level
// settings for S3 Bucket Key.
//
// This functionality is not supported for directory buckets.
BucketKeyEnabled *bool BucketKeyEnabled *bool
// Specifies caching behavior along the request/reply chain. // Specifies caching behavior along the request/reply chain.
CacheControl *string CacheControl *string
// Indicates the algorithm that you want Amazon S3 to use to create the checksum // Indicates the algorithm that you want Amazon S3 to use to create the checksum
// for the object. For more information, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) // for the object. For more information, see [Checking object integrity]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
ChecksumAlgorithm types.ChecksumAlgorithm ChecksumAlgorithm types.ChecksumAlgorithm
// Specifies presentational information for the object. // Specifies presentational information for the object.
@ -232,8 +286,10 @@ type CreateMultipartUploadInput struct {
// Specifies what content encodings have been applied to the object and thus what // Specifies what content encodings have been applied to the object and thus what
// decoding mechanisms must be applied to obtain the media-type referenced by the // decoding mechanisms must be applied to obtain the media-type referenced by the
// Content-Type header field. For directory buckets, only the aws-chunked value is // Content-Type header field.
// supported in this header field. //
// For directory buckets, only the aws-chunked value is supported in this header
// field.
ContentEncoding *string ContentEncoding *string
// The language that the content is in. // The language that the content is in.
@ -251,213 +307,329 @@ type CreateMultipartUploadInput struct {
Expires *time.Time Expires *time.Time
// Specify access permissions explicitly to give the grantee READ, READ_ACP, and // Specify access permissions explicitly to give the grantee READ, READ_ACP, and
// WRITE_ACP permissions on the object. By default, all objects are private. Only // WRITE_ACP permissions on the object.
// the owner has full access control. When uploading an object, you can use this //
// header to explicitly grant access permissions to specific Amazon Web Services
// accounts or groups. This header maps to specific permissions that Amazon S3
// supports in an ACL. For more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
// in the Amazon S3 User Guide. You specify each grantee as a type=value pair,
// where the type is one of the following:
// - id if the value specified is the canonical user ID of an Amazon Web
// Services account
// - uri if you are granting permissions to a predefined group
// - emailAddress if the value specified is the email address of an Amazon Web
// Services account Using email addresses to specify a grantee is only supported in
// the following Amazon Web Services Regions:
// - US East (N. Virginia)
// - US West (N. California)
// - US West (Oregon)
// - Asia Pacific (Singapore)
// - Asia Pacific (Sydney)
// - Asia Pacific (Tokyo)
// - Europe (Ireland)
// - South America (São Paulo) For a list of all the Amazon S3 supported Regions
// and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
// in the Amazon Web Services General Reference.
// For example, the following x-amz-grant-read header grants the Amazon Web
// Services accounts identified by account IDs permissions to read object data and
// its metadata: x-amz-grant-read: id="11112222333", id="444455556666"
// - This functionality is not supported for directory buckets.
// - This functionality is not supported for Amazon S3 on Outposts.
GrantFullControl *string
// Specify access permissions explicitly to allow grantee to read the object data
// and its metadata. By default, all objects are private. Only the owner has full
// access control. When uploading an object, you can use this header to explicitly
// grant access permissions to specific Amazon Web Services accounts or groups.
// This header maps to specific permissions that Amazon S3 supports in an ACL. For
// more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
// in the Amazon S3 User Guide. You specify each grantee as a type=value pair,
// where the type is one of the following:
// - id if the value specified is the canonical user ID of an Amazon Web
// Services account
// - uri if you are granting permissions to a predefined group
// - emailAddress if the value specified is the email address of an Amazon Web
// Services account Using email addresses to specify a grantee is only supported in
// the following Amazon Web Services Regions:
// - US East (N. Virginia)
// - US West (N. California)
// - US West (Oregon)
// - Asia Pacific (Singapore)
// - Asia Pacific (Sydney)
// - Asia Pacific (Tokyo)
// - Europe (Ireland)
// - South America (São Paulo) For a list of all the Amazon S3 supported Regions
// and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
// in the Amazon Web Services General Reference.
// For example, the following x-amz-grant-read header grants the Amazon Web
// Services accounts identified by account IDs permissions to read object data and
// its metadata: x-amz-grant-read: id="11112222333", id="444455556666"
// - This functionality is not supported for directory buckets.
// - This functionality is not supported for Amazon S3 on Outposts.
GrantRead *string
// Specify access permissions explicitly to allows grantee to read the object ACL.
// By default, all objects are private. Only the owner has full access control. // By default, all objects are private. Only the owner has full access control.
// When uploading an object, you can use this header to explicitly grant access // When uploading an object, you can use this header to explicitly grant access
// permissions to specific Amazon Web Services accounts or groups. This header maps // permissions to specific Amazon Web Services accounts or groups. This header maps
// to specific permissions that Amazon S3 supports in an ACL. For more information, // to specific permissions that Amazon S3 supports in an ACL. For more information,
// see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) // see [Access Control List (ACL) Overview]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. You specify each grantee as a type=value pair, //
// where the type is one of the following: // You specify each grantee as a type=value pair, where the type is one of the
// following:
//
// - id if the value specified is the canonical user ID of an Amazon Web // - id if the value specified is the canonical user ID of an Amazon Web
// Services account // Services account
//
// - uri if you are granting permissions to a predefined group // - uri if you are granting permissions to a predefined group
//
// - emailAddress if the value specified is the email address of an Amazon Web // - emailAddress if the value specified is the email address of an Amazon Web
// Services account Using email addresses to specify a grantee is only supported in // Services account
// the following Amazon Web Services Regions: //
// Using email addresses to specify a grantee is only supported in the following
// Amazon Web Services Regions:
//
// - US East (N. Virginia) // - US East (N. Virginia)
//
// - US West (N. California) // - US West (N. California)
//
// - US West (Oregon) // - US West (Oregon)
//
// - Asia Pacific (Singapore) // - Asia Pacific (Singapore)
//
// - Asia Pacific (Sydney) // - Asia Pacific (Sydney)
//
// - Asia Pacific (Tokyo) // - Asia Pacific (Tokyo)
//
// - Europe (Ireland) // - Europe (Ireland)
// - South America (São Paulo) For a list of all the Amazon S3 supported Regions //
// and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) // - South America (São Paulo)
// in the Amazon Web Services General Reference. //
// For a list of all the Amazon S3 supported Regions and endpoints, see [Regions and Endpoints]in the
// Amazon Web Services General Reference.
//
// For example, the following x-amz-grant-read header grants the Amazon Web // For example, the following x-amz-grant-read header grants the Amazon Web
// Services accounts identified by account IDs permissions to read object data and // Services accounts identified by account IDs permissions to read object data and
// its metadata: x-amz-grant-read: id="11112222333", id="444455556666" // its metadata:
//
// x-amz-grant-read: id="11112222333", id="444455556666"
//
// - This functionality is not supported for directory buckets. // - This functionality is not supported for directory buckets.
//
// - This functionality is not supported for Amazon S3 on Outposts. // - This functionality is not supported for Amazon S3 on Outposts.
//
// [Regions and Endpoints]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
// [Access Control List (ACL) Overview]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
GrantFullControl *string
// Specify access permissions explicitly to allow grantee to read the object data
// and its metadata.
//
// By default, all objects are private. Only the owner has full access control.
// When uploading an object, you can use this header to explicitly grant access
// permissions to specific Amazon Web Services accounts or groups. This header maps
// to specific permissions that Amazon S3 supports in an ACL. For more information,
// see [Access Control List (ACL) Overview]in the Amazon S3 User Guide.
//
// You specify each grantee as a type=value pair, where the type is one of the
// following:
//
// - id if the value specified is the canonical user ID of an Amazon Web
// Services account
//
// - uri if you are granting permissions to a predefined group
//
// - emailAddress if the value specified is the email address of an Amazon Web
// Services account
//
// Using email addresses to specify a grantee is only supported in the following
// Amazon Web Services Regions:
//
// - US East (N. Virginia)
//
// - US West (N. California)
//
// - US West (Oregon)
//
// - Asia Pacific (Singapore)
//
// - Asia Pacific (Sydney)
//
// - Asia Pacific (Tokyo)
//
// - Europe (Ireland)
//
// - South America (São Paulo)
//
// For a list of all the Amazon S3 supported Regions and endpoints, see [Regions and Endpoints]in the
// Amazon Web Services General Reference.
//
// For example, the following x-amz-grant-read header grants the Amazon Web
// Services accounts identified by account IDs permissions to read object data and
// its metadata:
//
// x-amz-grant-read: id="11112222333", id="444455556666"
//
// - This functionality is not supported for directory buckets.
//
// - This functionality is not supported for Amazon S3 on Outposts.
//
// [Regions and Endpoints]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
// [Access Control List (ACL) Overview]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
GrantRead *string
// Specify access permissions explicitly to allows grantee to read the object ACL.
//
// By default, all objects are private. Only the owner has full access control.
// When uploading an object, you can use this header to explicitly grant access
// permissions to specific Amazon Web Services accounts or groups. This header maps
// to specific permissions that Amazon S3 supports in an ACL. For more information,
// see [Access Control List (ACL) Overview]in the Amazon S3 User Guide.
//
// You specify each grantee as a type=value pair, where the type is one of the
// following:
//
// - id if the value specified is the canonical user ID of an Amazon Web
// Services account
//
// - uri if you are granting permissions to a predefined group
//
// - emailAddress if the value specified is the email address of an Amazon Web
// Services account
//
// Using email addresses to specify a grantee is only supported in the following
// Amazon Web Services Regions:
//
// - US East (N. Virginia)
//
// - US West (N. California)
//
// - US West (Oregon)
//
// - Asia Pacific (Singapore)
//
// - Asia Pacific (Sydney)
//
// - Asia Pacific (Tokyo)
//
// - Europe (Ireland)
//
// - South America (São Paulo)
//
// For a list of all the Amazon S3 supported Regions and endpoints, see [Regions and Endpoints]in the
// Amazon Web Services General Reference.
//
// For example, the following x-amz-grant-read header grants the Amazon Web
// Services accounts identified by account IDs permissions to read object data and
// its metadata:
//
// x-amz-grant-read: id="11112222333", id="444455556666"
//
// - This functionality is not supported for directory buckets.
//
// - This functionality is not supported for Amazon S3 on Outposts.
//
// [Regions and Endpoints]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
// [Access Control List (ACL) Overview]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
GrantReadACP *string GrantReadACP *string
// Specify access permissions explicitly to allows grantee to allow grantee to // Specify access permissions explicitly to allows grantee to allow grantee to
// write the ACL for the applicable object. By default, all objects are private. // write the ACL for the applicable object.
// Only the owner has full access control. When uploading an object, you can use //
// this header to explicitly grant access permissions to specific Amazon Web // By default, all objects are private. Only the owner has full access control.
// Services accounts or groups. This header maps to specific permissions that // When uploading an object, you can use this header to explicitly grant access
// Amazon S3 supports in an ACL. For more information, see Access Control List // permissions to specific Amazon Web Services accounts or groups. This header maps
// (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) // to specific permissions that Amazon S3 supports in an ACL. For more information,
// in the Amazon S3 User Guide. You specify each grantee as a type=value pair, // see [Access Control List (ACL) Overview]in the Amazon S3 User Guide.
// where the type is one of the following: //
// You specify each grantee as a type=value pair, where the type is one of the
// following:
//
// - id if the value specified is the canonical user ID of an Amazon Web // - id if the value specified is the canonical user ID of an Amazon Web
// Services account // Services account
//
// - uri if you are granting permissions to a predefined group // - uri if you are granting permissions to a predefined group
//
// - emailAddress if the value specified is the email address of an Amazon Web // - emailAddress if the value specified is the email address of an Amazon Web
// Services account Using email addresses to specify a grantee is only supported in // Services account
// the following Amazon Web Services Regions: //
// Using email addresses to specify a grantee is only supported in the following
// Amazon Web Services Regions:
//
// - US East (N. Virginia) // - US East (N. Virginia)
//
// - US West (N. California) // - US West (N. California)
//
// - US West (Oregon) // - US West (Oregon)
//
// - Asia Pacific (Singapore) // - Asia Pacific (Singapore)
//
// - Asia Pacific (Sydney) // - Asia Pacific (Sydney)
//
// - Asia Pacific (Tokyo) // - Asia Pacific (Tokyo)
//
// - Europe (Ireland) // - Europe (Ireland)
// - South America (São Paulo) For a list of all the Amazon S3 supported Regions //
// and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) // - South America (São Paulo)
// in the Amazon Web Services General Reference. //
// For a list of all the Amazon S3 supported Regions and endpoints, see [Regions and Endpoints]in the
// Amazon Web Services General Reference.
//
// For example, the following x-amz-grant-read header grants the Amazon Web // For example, the following x-amz-grant-read header grants the Amazon Web
// Services accounts identified by account IDs permissions to read object data and // Services accounts identified by account IDs permissions to read object data and
// its metadata: x-amz-grant-read: id="11112222333", id="444455556666" // its metadata:
//
// x-amz-grant-read: id="11112222333", id="444455556666"
//
// - This functionality is not supported for directory buckets. // - This functionality is not supported for directory buckets.
//
// - This functionality is not supported for Amazon S3 on Outposts. // - This functionality is not supported for Amazon S3 on Outposts.
//
// [Regions and Endpoints]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
// [Access Control List (ACL) Overview]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html
GrantWriteACP *string GrantWriteACP *string
// A map of metadata to store with the object in S3. // A map of metadata to store with the object in S3.
Metadata map[string]string Metadata map[string]string
// Specifies whether you want to apply a legal hold to the uploaded object. This // Specifies whether you want to apply a legal hold to the uploaded object.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus
// Specifies the Object Lock mode that you want to apply to the uploaded object. // Specifies the Object Lock mode that you want to apply to the uploaded object.
//
// This functionality is not supported for directory buckets. // This functionality is not supported for directory buckets.
ObjectLockMode types.ObjectLockMode ObjectLockMode types.ObjectLockMode
// Specifies the date and time when you want the Object Lock to expire. This // Specifies the date and time when you want the Object Lock to expire.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
ObjectLockRetainUntilDate *time.Time ObjectLockRetainUntilDate *time.Time
// Confirms that the requester knows that they will be charged for the request. // Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the // Bucket owners need not specify this parameter in their requests. If either the
// source or destination S3 bucket has Requester Pays enabled, the requester will // source or destination S3 bucket has Requester Pays enabled, the requester will
// pay for corresponding charges to copy the object. For information about // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in // downloading objects from Requester Pays buckets, see [Downloading Objects in Requester Pays Buckets]in the Amazon S3 User
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) // Guide.
// in the Amazon S3 User Guide. This functionality is not supported for directory //
// buckets. // This functionality is not supported for directory buckets.
//
// [Downloading Objects in Requester Pays Buckets]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html
RequestPayer types.RequestPayer RequestPayer types.RequestPayer
// Specifies the algorithm to use when encrypting the object (for example, // Specifies the algorithm to use when encrypting the object (for example, AES256).
// AES256). This functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
SSECustomerAlgorithm *string SSECustomerAlgorithm *string
// Specifies the customer-provided encryption key for Amazon S3 to use in // Specifies the customer-provided encryption key for Amazon S3 to use in
// encrypting data. This value is used to store the object and then it is // encrypting data. This value is used to store the object and then it is
// discarded; Amazon S3 does not store the encryption key. The key must be // discarded; Amazon S3 does not store the encryption key. The key must be
// appropriate for use with the algorithm specified in the // appropriate for use with the algorithm specified in the
// x-amz-server-side-encryption-customer-algorithm header. This functionality is // x-amz-server-side-encryption-customer-algorithm header.
// not supported for directory buckets. //
// This functionality is not supported for directory buckets.
SSECustomerKey *string SSECustomerKey *string
// Specifies the 128-bit MD5 digest of the customer-provided encryption key // Specifies the 128-bit MD5 digest of the customer-provided encryption key
// according to RFC 1321. Amazon S3 uses this header for a message integrity check // according to RFC 1321. Amazon S3 uses this header for a message integrity check
// to ensure that the encryption key was transmitted without error. This // to ensure that the encryption key was transmitted without error.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
SSECustomerKeyMD5 *string SSECustomerKeyMD5 *string
// Specifies the Amazon Web Services KMS Encryption Context to use for object // Specifies the Amazon Web Services KMS Encryption Context to use for object
// encryption. The value of this header is a base64-encoded UTF-8 string holding // encryption. The value of this header is a base64-encoded UTF-8 string holding
// JSON with the encryption context key-value pairs. This functionality is not // JSON with the encryption context key-value pairs.
// supported for directory buckets. //
// This functionality is not supported for directory buckets.
SSEKMSEncryptionContext *string SSEKMSEncryptionContext *string
// Specifies the ID (Key ID, Key ARN, or Key Alias) of the symmetric encryption // Specifies the ID (Key ID, Key ARN, or Key Alias) of the symmetric encryption
// customer managed key to use for object encryption. This functionality is not // customer managed key to use for object encryption.
// supported for directory buckets. //
// This functionality is not supported for directory buckets.
SSEKMSKeyId *string SSEKMSKeyId *string
// The server-side encryption algorithm used when you store this object in Amazon // The server-side encryption algorithm used when you store this object in Amazon
// S3 (for example, AES256 , aws:kms ). For directory buckets, only server-side // S3 (for example, AES256 , aws:kms ).
// encryption with Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported. //
// For directory buckets, only server-side encryption with Amazon S3 managed keys
// (SSE-S3) ( AES256 ) is supported.
ServerSideEncryption types.ServerSideEncryption ServerSideEncryption types.ServerSideEncryption
// By default, Amazon S3 uses the STANDARD Storage Class to store newly created // By default, Amazon S3 uses the STANDARD Storage Class to store newly created
// objects. The STANDARD storage class provides high durability and high // objects. The STANDARD storage class provides high durability and high
// availability. Depending on performance needs, you can specify a different // availability. Depending on performance needs, you can specify a different
// Storage Class. For more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) // Storage Class. For more information, see [Storage Classes]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// - For directory buckets, only the S3 Express One Zone storage class is // - For directory buckets, only the S3 Express One Zone storage class is
// supported to store newly created objects. // supported to store newly created objects.
//
// - Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. // - Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
//
// [Storage Classes]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
StorageClass types.StorageClass StorageClass types.StorageClass
// The tag-set for the object. The tag-set must be encoded as URL Query // The tag-set for the object. The tag-set must be encoded as URL Query parameters.
// parameters. This functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
Tagging *string Tagging *string
// If the bucket is configured as a website, redirects requests for this object to // If the bucket is configured as a website, redirects requests for this object to
// another object in the same bucket or to an external URL. Amazon S3 stores the // another object in the same bucket or to an external URL. Amazon S3 stores the
// value of this header in the object metadata. This functionality is not supported // value of this header in the object metadata.
// for directory buckets. //
// This functionality is not supported for directory buckets.
WebsiteRedirectLocation *string WebsiteRedirectLocation *string
noSmithyDocumentSerde noSmithyDocumentSerde
} }
func (in *CreateMultipartUploadInput) bindEndpointParams(p *EndpointParameters) { func (in *CreateMultipartUploadInput) bindEndpointParams(p *EndpointParameters) {
p.Bucket = in.Bucket p.Bucket = in.Bucket
p.Key = in.Key p.Key = in.Key
@ -469,27 +641,33 @@ type CreateMultipartUploadOutput struct {
// incomplete multipart uploads and the prefix in the lifecycle rule matches the // incomplete multipart uploads and the prefix in the lifecycle rule matches the
// object name in the request, the response includes this header. The header // object name in the request, the response includes this header. The header
// indicates when the initiated multipart upload becomes eligible for an abort // indicates when the initiated multipart upload becomes eligible for an abort
// operation. For more information, see Aborting Incomplete Multipart Uploads // operation. For more information, see [Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration]in the Amazon S3 User Guide.
// Using a Bucket Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) //
// in the Amazon S3 User Guide. The response also includes the x-amz-abort-rule-id // The response also includes the x-amz-abort-rule-id header that provides the ID
// header that provides the ID of the lifecycle configuration rule that defines the // of the lifecycle configuration rule that defines the abort action.
// abort action. This functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
//
// [Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config
AbortDate *time.Time AbortDate *time.Time
// This header is returned along with the x-amz-abort-date header. It identifies // This header is returned along with the x-amz-abort-date header. It identifies
// the applicable lifecycle configuration rule that defines the action to abort // the applicable lifecycle configuration rule that defines the action to abort
// incomplete multipart uploads. This functionality is not supported for directory // incomplete multipart uploads.
// buckets. //
// This functionality is not supported for directory buckets.
AbortRuleId *string AbortRuleId *string
// The name of the bucket to which the multipart upload was initiated. Does not // The name of the bucket to which the multipart upload was initiated. Does not
// return the access point ARN or access point alias if used. Access points are not // return the access point ARN or access point alias if used.
// supported by directory buckets. //
// Access points are not supported by directory buckets.
Bucket *string Bucket *string
// Indicates whether the multipart upload uses an S3 Bucket Key for server-side // Indicates whether the multipart upload uses an S3 Bucket Key for server-side
// encryption with Key Management Service (KMS) keys (SSE-KMS). This functionality // encryption with Key Management Service (KMS) keys (SSE-KMS).
// is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
BucketKeyEnabled *bool BucketKeyEnabled *bool
// The algorithm that was used to create a checksum of the object. // The algorithm that was used to create a checksum of the object.
@ -499,35 +677,43 @@ type CreateMultipartUploadOutput struct {
Key *string Key *string
// If present, indicates that the requester was successfully charged for the // If present, indicates that the requester was successfully charged for the
// request. This functionality is not supported for directory buckets. // request.
//
// This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged RequestCharged types.RequestCharged
// If server-side encryption with a customer-provided encryption key was // If server-side encryption with a customer-provided encryption key was
// requested, the response will include this header to confirm the encryption // requested, the response will include this header to confirm the encryption
// algorithm that's used. This functionality is not supported for directory // algorithm that's used.
// buckets. //
// This functionality is not supported for directory buckets.
SSECustomerAlgorithm *string SSECustomerAlgorithm *string
// If server-side encryption with a customer-provided encryption key was // If server-side encryption with a customer-provided encryption key was
// requested, the response will include this header to provide the round-trip // requested, the response will include this header to provide the round-trip
// message integrity verification of the customer-provided encryption key. This // message integrity verification of the customer-provided encryption key.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
SSECustomerKeyMD5 *string SSECustomerKeyMD5 *string
// If present, indicates the Amazon Web Services KMS Encryption Context to use for // If present, indicates the Amazon Web Services KMS Encryption Context to use for
// object encryption. The value of this header is a base64-encoded UTF-8 string // object encryption. The value of this header is a base64-encoded UTF-8 string
// holding JSON with the encryption context key-value pairs. This functionality is // holding JSON with the encryption context key-value pairs.
// not supported for directory buckets. //
// This functionality is not supported for directory buckets.
SSEKMSEncryptionContext *string SSEKMSEncryptionContext *string
// If present, indicates the ID of the Key Management Service (KMS) symmetric // If present, indicates the ID of the Key Management Service (KMS) symmetric
// encryption customer managed key that was used for the object. This functionality // encryption customer managed key that was used for the object.
// is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
SSEKMSKeyId *string SSEKMSKeyId *string
// The server-side encryption algorithm used when you store this object in Amazon // The server-side encryption algorithm used when you store this object in Amazon
// S3 (for example, AES256 , aws:kms ). For directory buckets, only server-side // S3 (for example, AES256 , aws:kms ).
// encryption with Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported. //
// For directory buckets, only server-side encryption with Amazon S3 managed keys
// (SSE-S3) ( AES256 ) is supported.
ServerSideEncryption types.ServerSideEncryption ServerSideEncryption types.ServerSideEncryption
// ID for the initiated multipart upload. // ID for the initiated multipart upload.
@ -597,6 +783,15 @@ func (c *Client) addOperationCreateMultipartUploadMiddlewares(stack *middleware.
if err = addPutBucketContextMiddleware(stack); err != nil { if err = addPutBucketContextMiddleware(stack); err != nil {
return err return err
} }
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIsExpressUserAgent(stack); err != nil {
return err
}
if err = addOpCreateMultipartUploadValidationMiddleware(stack); err != nil { if err = addOpCreateMultipartUploadValidationMiddleware(stack); err != nil {
return err return err
} }

View file

@ -17,62 +17,72 @@ import (
// Creates a session that establishes temporary security credentials to support // Creates a session that establishes temporary security credentials to support
// fast authentication and authorization for the Zonal endpoint APIs on directory // fast authentication and authorization for the Zonal endpoint APIs on directory
// buckets. For more information about Zonal endpoint APIs that include the // buckets. For more information about Zonal endpoint APIs that include the
// Availability Zone in the request endpoint, see S3 Express One Zone APIs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-APIs.html) // Availability Zone in the request endpoint, see [S3 Express One Zone APIs]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. To make Zonal endpoint API requests on a directory //
// bucket, use the CreateSession API operation. Specifically, you grant // To make Zonal endpoint API requests on a directory bucket, use the CreateSession
// s3express:CreateSession permission to a bucket in a bucket policy or an IAM // API operation. Specifically, you grant s3express:CreateSession permission to a
// identity-based policy. Then, you use IAM credentials to make the CreateSession // bucket in a bucket policy or an IAM identity-based policy. Then, you use IAM
// API request on the bucket, which returns temporary security credentials that // credentials to make the CreateSession API request on the bucket, which returns
// include the access key ID, secret access key, session token, and expiration. // temporary security credentials that include the access key ID, secret access
// These credentials have associated permissions to access the Zonal endpoint APIs. // key, session token, and expiration. These credentials have associated
// After the session is created, you dont need to use other policies to grant // permissions to access the Zonal endpoint APIs. After the session is created, you
// permissions to each Zonal endpoint API individually. Instead, in your Zonal // dont need to use other policies to grant permissions to each Zonal endpoint API
// endpoint API requests, you sign your requests by applying the temporary security // individually. Instead, in your Zonal endpoint API requests, you sign your
// credentials of the session to the request headers and following the SigV4 // requests by applying the temporary security credentials of the session to the
// protocol for authentication. You also apply the session token to the // request headers and following the SigV4 protocol for authentication. You also
// x-amz-s3session-token request header for authorization. Temporary security // apply the session token to the x-amz-s3session-token request header for
// credentials are scoped to the bucket and expire after 5 minutes. After the // authorization. Temporary security credentials are scoped to the bucket and
// expiration time, any calls that you make with those credentials will fail. You // expire after 5 minutes. After the expiration time, any calls that you make with
// must use IAM credentials again to make a CreateSession API request that // those credentials will fail. You must use IAM credentials again to make a
// generates a new set of temporary credentials for use. Temporary credentials // CreateSession API request that generates a new set of temporary credentials for
// cannot be extended or refreshed beyond the original specified interval. If you // use. Temporary credentials cannot be extended or refreshed beyond the original
// use Amazon Web Services SDKs, SDKs handle the session token refreshes // specified interval.
//
// If you use Amazon Web Services SDKs, SDKs handle the session token refreshes
// automatically to avoid service interruptions when a session expires. We // automatically to avoid service interruptions when a session expires. We
// recommend that you use the Amazon Web Services SDKs to initiate and manage // recommend that you use the Amazon Web Services SDKs to initiate and manage
// requests to the CreateSession API. For more information, see Performance // requests to the CreateSession API. For more information, see [Performance guidelines and design patterns]in the Amazon S3
// guidelines and design patterns (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-optimizing-performance-guidelines-design-patterns.html#s3-express-optimizing-performance-session-authentication) // User Guide.
// in the Amazon S3 User Guide. //
// - You must make requests for this API operation to the Zonal endpoint. These // - You must make requests for this API operation to the Zonal endpoint. These
// endpoints support virtual-hosted-style requests in the format // endpoints support virtual-hosted-style requests in the format
// https://bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests // https://bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests
// are not supported. For more information, see Regional and Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html) // are not supported. For more information, see [Regional and Zonal endpoints]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// - CopyObject API operation - Unlike other Zonal endpoint APIs, the CopyObject // - CopyObject API operation - Unlike other Zonal endpoint APIs, the CopyObject
// API operation doesn't use the temporary security credentials returned from the // API operation doesn't use the temporary security credentials returned from the
// CreateSession API operation for authentication and authorization. For // CreateSession API operation for authentication and authorization. For
// information about authentication and authorization of the CopyObject API // information about authentication and authorization of the CopyObject API
// operation on directory buckets, see CopyObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) // operation on directory buckets, see [CopyObject].
// . //
// - HeadBucket API operation - Unlike other Zonal endpoint APIs, the HeadBucket // - HeadBucket API operation - Unlike other Zonal endpoint APIs, the HeadBucket
// API operation doesn't use the temporary security credentials returned from the // API operation doesn't use the temporary security credentials returned from the
// CreateSession API operation for authentication and authorization. For // CreateSession API operation for authentication and authorization. For
// information about authentication and authorization of the HeadBucket API // information about authentication and authorization of the HeadBucket API
// operation on directory buckets, see HeadBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html) // operation on directory buckets, see [HeadBucket].
// .
// //
// Permissions To obtain temporary security credentials, you must create a bucket // Permissions To obtain temporary security credentials, you must create a bucket
// policy or an IAM identity-based policy that grants s3express:CreateSession // policy or an IAM identity-based policy that grants s3express:CreateSession
// permission to the bucket. In a policy, you can have the s3express:SessionMode // permission to the bucket. In a policy, you can have the s3express:SessionMode
// condition key to control who can create a ReadWrite or ReadOnly session. For // condition key to control who can create a ReadWrite or ReadOnly session. For
// more information about ReadWrite or ReadOnly sessions, see // more information about ReadWrite or ReadOnly sessions, see [x-amz-create-session-mode]
// x-amz-create-session-mode (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html#API_CreateSession_RequestParameters) // x-amz-create-session-mode . For example policies, see [Example bucket policies for S3 Express One Zone] and [Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone] in the Amazon S3
// . For example policies, see Example bucket policies for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html) // User Guide.
// and Amazon Web Services Identity and Access Management (IAM) identity-based //
// policies for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html) // To grant cross-account access to Zonal endpoint APIs, the bucket policy should
// in the Amazon S3 User Guide. To grant cross-account access to Zonal endpoint // also grant both accounts the s3express:CreateSession permission.
// APIs, the bucket policy should also grant both accounts the //
// s3express:CreateSession permission. HTTP Host header syntax Directory buckets - // HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
// The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com . // Bucket_name.s3express-az_id.region.amazonaws.com .
//
// [Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html
// [Performance guidelines and design patterns]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-optimizing-performance-guidelines-design-patterns.html#s3-express-optimizing-performance-session-authentication
// [Example bucket policies for S3 Express One Zone]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html
// [Regional and Zonal endpoints]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
// [CopyObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html
// [x-amz-create-session-mode]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html#API_CreateSession_RequestParameters
// [S3 Express One Zone APIs]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-APIs.html
// [HeadBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
func (c *Client) CreateSession(ctx context.Context, params *CreateSessionInput, optFns ...func(*Options)) (*CreateSessionOutput, error) { func (c *Client) CreateSession(ctx context.Context, params *CreateSessionInput, optFns ...func(*Options)) (*CreateSessionOutput, error) {
if params == nil { if params == nil {
params = &CreateSessionInput{} params = &CreateSessionInput{}
@ -107,13 +117,14 @@ type CreateSessionInput struct {
} }
func (in *CreateSessionInput) bindEndpointParams(p *EndpointParameters) { func (in *CreateSessionInput) bindEndpointParams(p *EndpointParameters) {
p.Bucket = in.Bucket p.Bucket = in.Bucket
p.DisableS3ExpressSessionAuth = ptr.Bool(true) p.DisableS3ExpressSessionAuth = ptr.Bool(true)
} }
type CreateSessionOutput struct { type CreateSessionOutput struct {
// The established temporary security credentials for the created session.. // The established temporary security credentials for the created session.
// //
// This member is required. // This member is required.
Credentials *types.SessionCredentials Credentials *types.SessionCredentials
@ -182,6 +193,15 @@ func (c *Client) addOperationCreateSessionMiddlewares(stack *middleware.Stack, o
if err = addPutBucketContextMiddleware(stack); err != nil { if err = addPutBucketContextMiddleware(stack); err != nil {
return err return err
} }
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIsExpressUserAgent(stack); err != nil {
return err
}
if err = addOpCreateSessionValidationMiddleware(stack); err != nil { if err = addOpCreateSessionValidationMiddleware(stack); err != nil {
return err return err
} }

View file

@ -15,33 +15,43 @@ import (
// Deletes the S3 bucket. All objects (including all object versions and delete // Deletes the S3 bucket. All objects (including all object versions and delete
// markers) in the bucket must be deleted before the bucket itself can be deleted. // markers) in the bucket must be deleted before the bucket itself can be deleted.
//
// - Directory buckets - If multipart uploads in a directory bucket are in // - Directory buckets - If multipart uploads in a directory bucket are in
// progress, you can't delete the bucket until all the in-progress multipart // progress, you can't delete the bucket until all the in-progress multipart
// uploads are aborted or completed. // uploads are aborted or completed.
//
// - Directory buckets - For directory buckets, you must make requests for this // - Directory buckets - For directory buckets, you must make requests for this
// API operation to the Regional endpoint. These endpoints support path-style // API operation to the Regional endpoint. These endpoints support path-style
// requests in the format // requests in the format
// https://s3express-control.region_code.amazonaws.com/bucket-name . // https://s3express-control.region_code.amazonaws.com/bucket-name .
// Virtual-hosted-style requests aren't supported. For more information, see // Virtual-hosted-style requests aren't supported. For more information, see [Regional and Zonal endpoints]in
// Regional and Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html) // the Amazon S3 User Guide.
// in the Amazon S3 User Guide.
// //
// Permissions // Permissions
//
// - General purpose bucket permissions - You must have the s3:DeleteBucket // - General purpose bucket permissions - You must have the s3:DeleteBucket
// permission on the specified bucket in a policy. // permission on the specified bucket in a policy.
//
// - Directory bucket permissions - You must have the s3express:DeleteBucket // - Directory bucket permissions - You must have the s3express:DeleteBucket
// permission in an IAM identity-based policy instead of a bucket policy. // permission in an IAM identity-based policy instead of a bucket policy.
// Cross-account access to this API operation isn't supported. This operation can // Cross-account access to this API operation isn't supported. This operation can
// only be performed by the Amazon Web Services account that owns the resource. For // only be performed by the Amazon Web Services account that owns the resource. For
// more information about directory bucket policies and permissions, see Amazon // more information about directory bucket policies and permissions, see [Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone]in the
// Web Services Identity and Access Management (IAM) for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html) // Amazon S3 User Guide.
// in the Amazon S3 User Guide.
// //
// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is // HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
// s3express-control.region.amazonaws.com . The following operations are related to // s3express-control.region.amazonaws.com .
// DeleteBucket : //
// - CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // The following operations are related to DeleteBucket :
// - DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) //
// [CreateBucket]
//
// [DeleteObject]
//
// [DeleteObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
// [Regional and Zonal endpoints]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
// [CreateBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
// [Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
func (c *Client) DeleteBucket(ctx context.Context, params *DeleteBucketInput, optFns ...func(*Options)) (*DeleteBucketOutput, error) { func (c *Client) DeleteBucket(ctx context.Context, params *DeleteBucketInput, optFns ...func(*Options)) (*DeleteBucketOutput, error) {
if params == nil { if params == nil {
params = &DeleteBucketInput{} params = &DeleteBucketInput{}
@ -59,30 +69,36 @@ func (c *Client) DeleteBucket(ctx context.Context, params *DeleteBucketInput, op
type DeleteBucketInput struct { type DeleteBucketInput struct {
// Specifies the bucket being deleted. Directory buckets - When you use this // Specifies the bucket being deleted.
// operation with a directory bucket, you must use path-style requests in the //
// format https://s3express-control.region_code.amazonaws.com/bucket-name . // Directory buckets - When you use this operation with a directory bucket, you
// must use path-style requests in the format
// https://s3express-control.region_code.amazonaws.com/bucket-name .
// Virtual-hosted-style requests aren't supported. Directory bucket names must be // Virtual-hosted-style requests aren't supported. Directory bucket names must be
// unique in the chosen Availability Zone. Bucket names must also follow the format // unique in the chosen Availability Zone. Bucket names must also follow the format
// bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 // bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3
// ). For information about bucket naming restrictions, see Directory bucket // ). For information about bucket naming restrictions, see [Directory bucket naming rules]in the Amazon S3 User
// naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) // Guide
// in the Amazon S3 User Guide //
// [Directory bucket naming rules]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
// //
// This member is required. // This member is required.
Bucket *string Bucket *string
// The account ID of the expected bucket owner. If the account ID that you provide // The account ID of the expected bucket owner. If the account ID that you provide
// does not match the actual owner of the bucket, the request fails with the HTTP // does not match the actual owner of the bucket, the request fails with the HTTP
// status code 403 Forbidden (access denied). For directory buckets, this header // status code 403 Forbidden (access denied).
// is not supported in this API operation. If you specify this header, the request //
// fails with the HTTP status code 501 Not Implemented . // For directory buckets, this header is not supported in this API operation. If
// you specify this header, the request fails with the HTTP status code 501 Not
// Implemented .
ExpectedBucketOwner *string ExpectedBucketOwner *string
noSmithyDocumentSerde noSmithyDocumentSerde
} }
func (in *DeleteBucketInput) bindEndpointParams(p *EndpointParameters) { func (in *DeleteBucketInput) bindEndpointParams(p *EndpointParameters) {
p.Bucket = in.Bucket p.Bucket = in.Bucket
p.UseS3ExpressControlEndpoint = ptr.Bool(true) p.UseS3ExpressControlEndpoint = ptr.Bool(true)
} }
@ -152,6 +168,15 @@ func (c *Client) addOperationDeleteBucketMiddlewares(stack *middleware.Stack, op
if err = addPutBucketContextMiddleware(stack); err != nil { if err = addPutBucketContextMiddleware(stack); err != nil {
return err return err
} }
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIsExpressUserAgent(stack); err != nil {
return err
}
if err = addOpDeleteBucketValidationMiddleware(stack); err != nil { if err = addOpDeleteBucketValidationMiddleware(stack); err != nil {
return err return err
} }

View file

@ -13,20 +13,32 @@ import (
smithyhttp "github.com/aws/smithy-go/transport/http" smithyhttp "github.com/aws/smithy-go/transport/http"
) )
// This operation is not supported by directory buckets. Deletes an analytics // This operation is not supported by directory buckets.
// configuration for the bucket (specified by the analytics configuration ID). To //
// use this operation, you must have permissions to perform the // Deletes an analytics configuration for the bucket (specified by the analytics
// configuration ID).
//
// To use this operation, you must have permissions to perform the
// s3:PutAnalyticsConfiguration action. The bucket owner has this permission by // s3:PutAnalyticsConfiguration action. The bucket owner has this permission by
// default. The bucket owner can grant this permission to others. For more // default. The bucket owner can grant this permission to others. For more
// information about permissions, see Permissions Related to Bucket Subresource // information about permissions, see [Permissions Related to Bucket Subresource Operations]and [Managing Access Permissions to Your Amazon S3 Resources].
// Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) //
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) // For information about the Amazon S3 analytics feature, see [Amazon S3 Analytics Storage Class Analysis].
// . For information about the Amazon S3 analytics feature, see Amazon S3 //
// Analytics Storage Class Analysis (https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html) // The following operations are related to DeleteBucketAnalyticsConfiguration :
// . The following operations are related to DeleteBucketAnalyticsConfiguration : //
// - GetBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html) // [GetBucketAnalyticsConfiguration]
// - ListBucketAnalyticsConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html) //
// - PutBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html) // [ListBucketAnalyticsConfigurations]
//
// [PutBucketAnalyticsConfiguration]
//
// [Amazon S3 Analytics Storage Class Analysis]: https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html
// [Permissions Related to Bucket Subresource Operations]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
// [GetBucketAnalyticsConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html
// [ListBucketAnalyticsConfigurations]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html
// [PutBucketAnalyticsConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html
// [Managing Access Permissions to Your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
func (c *Client) DeleteBucketAnalyticsConfiguration(ctx context.Context, params *DeleteBucketAnalyticsConfigurationInput, optFns ...func(*Options)) (*DeleteBucketAnalyticsConfigurationOutput, error) { func (c *Client) DeleteBucketAnalyticsConfiguration(ctx context.Context, params *DeleteBucketAnalyticsConfigurationInput, optFns ...func(*Options)) (*DeleteBucketAnalyticsConfigurationOutput, error) {
if params == nil { if params == nil {
params = &DeleteBucketAnalyticsConfigurationInput{} params = &DeleteBucketAnalyticsConfigurationInput{}
@ -63,6 +75,7 @@ type DeleteBucketAnalyticsConfigurationInput struct {
} }
func (in *DeleteBucketAnalyticsConfigurationInput) bindEndpointParams(p *EndpointParameters) { func (in *DeleteBucketAnalyticsConfigurationInput) bindEndpointParams(p *EndpointParameters) {
p.Bucket = in.Bucket p.Bucket = in.Bucket
p.UseS3ExpressControlEndpoint = ptr.Bool(true) p.UseS3ExpressControlEndpoint = ptr.Bool(true)
} }
@ -132,6 +145,15 @@ func (c *Client) addOperationDeleteBucketAnalyticsConfigurationMiddlewares(stack
if err = addPutBucketContextMiddleware(stack); err != nil { if err = addPutBucketContextMiddleware(stack); err != nil {
return err return err
} }
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIsExpressUserAgent(stack); err != nil {
return err
}
if err = addOpDeleteBucketAnalyticsConfigurationValidationMiddleware(stack); err != nil { if err = addOpDeleteBucketAnalyticsConfigurationValidationMiddleware(stack); err != nil {
return err return err
} }

View file

@ -13,14 +13,25 @@ import (
smithyhttp "github.com/aws/smithy-go/transport/http" smithyhttp "github.com/aws/smithy-go/transport/http"
) )
// This operation is not supported by directory buckets. Deletes the cors // This operation is not supported by directory buckets.
// configuration information set for the bucket. To use this operation, you must //
// have permission to perform the s3:PutBucketCORS action. The bucket owner has // Deletes the cors configuration information set for the bucket.
// this permission by default and can grant this permission to others. For //
// information about cors , see Enabling Cross-Origin Resource Sharing (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) // To use this operation, you must have permission to perform the s3:PutBucketCORS
// in the Amazon S3 User Guide. Related Resources // action. The bucket owner has this permission by default and can grant this
// - PutBucketCors (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html) // permission to others.
// - RESTOPTIONSobject (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html) //
// For information about cors , see [Enabling Cross-Origin Resource Sharing] in the Amazon S3 User Guide.
//
// # Related Resources
//
// [PutBucketCors]
//
// [RESTOPTIONSobject]
//
// [PutBucketCors]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html
// [Enabling Cross-Origin Resource Sharing]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
// [RESTOPTIONSobject]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html
func (c *Client) DeleteBucketCors(ctx context.Context, params *DeleteBucketCorsInput, optFns ...func(*Options)) (*DeleteBucketCorsOutput, error) { func (c *Client) DeleteBucketCors(ctx context.Context, params *DeleteBucketCorsInput, optFns ...func(*Options)) (*DeleteBucketCorsOutput, error) {
if params == nil { if params == nil {
params = &DeleteBucketCorsInput{} params = &DeleteBucketCorsInput{}
@ -52,6 +63,7 @@ type DeleteBucketCorsInput struct {
} }
func (in *DeleteBucketCorsInput) bindEndpointParams(p *EndpointParameters) { func (in *DeleteBucketCorsInput) bindEndpointParams(p *EndpointParameters) {
p.Bucket = in.Bucket p.Bucket = in.Bucket
p.UseS3ExpressControlEndpoint = ptr.Bool(true) p.UseS3ExpressControlEndpoint = ptr.Bool(true)
} }
@ -121,6 +133,15 @@ func (c *Client) addOperationDeleteBucketCorsMiddlewares(stack *middleware.Stack
if err = addPutBucketContextMiddleware(stack); err != nil { if err = addPutBucketContextMiddleware(stack); err != nil {
return err return err
} }
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIsExpressUserAgent(stack); err != nil {
return err
}
if err = addOpDeleteBucketCorsValidationMiddleware(stack); err != nil { if err = addOpDeleteBucketCorsValidationMiddleware(stack); err != nil {
return err return err
} }

View file

@ -13,20 +13,29 @@ import (
smithyhttp "github.com/aws/smithy-go/transport/http" smithyhttp "github.com/aws/smithy-go/transport/http"
) )
// This operation is not supported by directory buckets. This implementation of // This operation is not supported by directory buckets.
// the DELETE action resets the default encryption for the bucket as server-side //
// encryption with Amazon S3 managed keys (SSE-S3). For information about the // This implementation of the DELETE action resets the default encryption for the
// bucket default encryption feature, see Amazon S3 Bucket Default Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) // bucket as server-side encryption with Amazon S3 managed keys (SSE-S3). For
// in the Amazon S3 User Guide. To use this operation, you must have permissions to // information about the bucket default encryption feature, see [Amazon S3 Bucket Default Encryption]in the Amazon S3
// perform the s3:PutEncryptionConfiguration action. The bucket owner has this // User Guide.
// permission by default. The bucket owner can grant this permission to others. For //
// more information about permissions, see Permissions Related to Bucket // To use this operation, you must have permissions to perform the
// Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // s3:PutEncryptionConfiguration action. The bucket owner has this permission by
// and Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) // default. The bucket owner can grant this permission to others. For more
// in the Amazon S3 User Guide. The following operations are related to // information about permissions, see [Permissions Related to Bucket Subresource Operations]and [Managing Access Permissions to your Amazon S3 Resources] in the Amazon S3 User Guide.
// DeleteBucketEncryption : //
// - PutBucketEncryption (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html) // The following operations are related to DeleteBucketEncryption :
// - GetBucketEncryption (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html) //
// [PutBucketEncryption]
//
// [GetBucketEncryption]
//
// [GetBucketEncryption]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
// [PutBucketEncryption]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html
// [Permissions Related to Bucket Subresource Operations]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
// [Managing Access Permissions to your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
// [Amazon S3 Bucket Default Encryption]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
func (c *Client) DeleteBucketEncryption(ctx context.Context, params *DeleteBucketEncryptionInput, optFns ...func(*Options)) (*DeleteBucketEncryptionOutput, error) { func (c *Client) DeleteBucketEncryption(ctx context.Context, params *DeleteBucketEncryptionInput, optFns ...func(*Options)) (*DeleteBucketEncryptionOutput, error) {
if params == nil { if params == nil {
params = &DeleteBucketEncryptionInput{} params = &DeleteBucketEncryptionInput{}
@ -59,6 +68,7 @@ type DeleteBucketEncryptionInput struct {
} }
func (in *DeleteBucketEncryptionInput) bindEndpointParams(p *EndpointParameters) { func (in *DeleteBucketEncryptionInput) bindEndpointParams(p *EndpointParameters) {
p.Bucket = in.Bucket p.Bucket = in.Bucket
p.UseS3ExpressControlEndpoint = ptr.Bool(true) p.UseS3ExpressControlEndpoint = ptr.Bool(true)
} }
@ -128,6 +138,15 @@ func (c *Client) addOperationDeleteBucketEncryptionMiddlewares(stack *middleware
if err = addPutBucketContextMiddleware(stack); err != nil { if err = addPutBucketContextMiddleware(stack); err != nil {
return err return err
} }
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIsExpressUserAgent(stack); err != nil {
return err
}
if err = addOpDeleteBucketEncryptionValidationMiddleware(stack); err != nil { if err = addOpDeleteBucketEncryptionValidationMiddleware(stack); err != nil {
return err return err
} }

View file

@ -13,25 +13,38 @@ import (
smithyhttp "github.com/aws/smithy-go/transport/http" smithyhttp "github.com/aws/smithy-go/transport/http"
) )
// This operation is not supported by directory buckets. Deletes the S3 // This operation is not supported by directory buckets.
// Intelligent-Tiering configuration from the specified bucket. The S3 //
// Intelligent-Tiering storage class is designed to optimize storage costs by // Deletes the S3 Intelligent-Tiering configuration from the specified bucket.
// automatically moving data to the most cost-effective storage access tier, //
// The S3 Intelligent-Tiering storage class is designed to optimize storage costs
// by automatically moving data to the most cost-effective storage access tier,
// without performance impact or operational overhead. S3 Intelligent-Tiering // without performance impact or operational overhead. S3 Intelligent-Tiering
// delivers automatic cost savings in three low latency and high throughput access // delivers automatic cost savings in three low latency and high throughput access
// tiers. To get the lowest storage cost on data that can be accessed in minutes to // tiers. To get the lowest storage cost on data that can be accessed in minutes to
// hours, you can choose to activate additional archiving capabilities. The S3 // hours, you can choose to activate additional archiving capabilities.
// Intelligent-Tiering storage class is the ideal storage class for data with //
// unknown, changing, or unpredictable access patterns, independent of object size // The S3 Intelligent-Tiering storage class is the ideal storage class for data
// or retention period. If the size of an object is less than 128 KB, it is not // with unknown, changing, or unpredictable access patterns, independent of object
// monitored and not eligible for auto-tiering. Smaller objects can be stored, but // size or retention period. If the size of an object is less than 128 KB, it is
// they are always charged at the Frequent Access tier rates in the S3 // not monitored and not eligible for auto-tiering. Smaller objects can be stored,
// Intelligent-Tiering storage class. For more information, see Storage class for // but they are always charged at the Frequent Access tier rates in the S3
// automatically optimizing frequently and infrequently accessed objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access) // Intelligent-Tiering storage class.
// . Operations related to DeleteBucketIntelligentTieringConfiguration include: //
// - GetBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html) // For more information, see [Storage class for automatically optimizing frequently and infrequently accessed objects].
// - PutBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html) //
// - ListBucketIntelligentTieringConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html) // Operations related to DeleteBucketIntelligentTieringConfiguration include:
//
// [GetBucketIntelligentTieringConfiguration]
//
// [PutBucketIntelligentTieringConfiguration]
//
// [ListBucketIntelligentTieringConfigurations]
//
// [ListBucketIntelligentTieringConfigurations]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html
// [GetBucketIntelligentTieringConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html
// [PutBucketIntelligentTieringConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketIntelligentTieringConfiguration.html
// [Storage class for automatically optimizing frequently and infrequently accessed objects]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access
func (c *Client) DeleteBucketIntelligentTieringConfiguration(ctx context.Context, params *DeleteBucketIntelligentTieringConfigurationInput, optFns ...func(*Options)) (*DeleteBucketIntelligentTieringConfigurationOutput, error) { func (c *Client) DeleteBucketIntelligentTieringConfiguration(ctx context.Context, params *DeleteBucketIntelligentTieringConfigurationInput, optFns ...func(*Options)) (*DeleteBucketIntelligentTieringConfigurationOutput, error) {
if params == nil { if params == nil {
params = &DeleteBucketIntelligentTieringConfigurationInput{} params = &DeleteBucketIntelligentTieringConfigurationInput{}
@ -64,6 +77,7 @@ type DeleteBucketIntelligentTieringConfigurationInput struct {
} }
func (in *DeleteBucketIntelligentTieringConfigurationInput) bindEndpointParams(p *EndpointParameters) { func (in *DeleteBucketIntelligentTieringConfigurationInput) bindEndpointParams(p *EndpointParameters) {
p.Bucket = in.Bucket p.Bucket = in.Bucket
p.UseS3ExpressControlEndpoint = ptr.Bool(true) p.UseS3ExpressControlEndpoint = ptr.Bool(true)
} }
@ -133,6 +147,15 @@ func (c *Client) addOperationDeleteBucketIntelligentTieringConfigurationMiddlewa
if err = addPutBucketContextMiddleware(stack); err != nil { if err = addPutBucketContextMiddleware(stack); err != nil {
return err return err
} }
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIsExpressUserAgent(stack); err != nil {
return err
}
if err = addOpDeleteBucketIntelligentTieringConfigurationValidationMiddleware(stack); err != nil { if err = addOpDeleteBucketIntelligentTieringConfigurationValidationMiddleware(stack); err != nil {
return err return err
} }

View file

@ -13,18 +13,32 @@ import (
smithyhttp "github.com/aws/smithy-go/transport/http" smithyhttp "github.com/aws/smithy-go/transport/http"
) )
// This operation is not supported by directory buckets. Deletes an inventory // This operation is not supported by directory buckets.
// configuration (identified by the inventory ID) from the bucket. To use this //
// operation, you must have permissions to perform the s3:PutInventoryConfiguration // Deletes an inventory configuration (identified by the inventory ID) from the
// action. The bucket owner has this permission by default. The bucket owner can // bucket.
// grant this permission to others. For more information about permissions, see //
// Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // To use this operation, you must have permissions to perform the
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) // s3:PutInventoryConfiguration action. The bucket owner has this permission by
// . For information about the Amazon S3 inventory feature, see Amazon S3 Inventory (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html) // default. The bucket owner can grant this permission to others. For more
// . Operations related to DeleteBucketInventoryConfiguration include: // information about permissions, see [Permissions Related to Bucket Subresource Operations]and [Managing Access Permissions to Your Amazon S3 Resources].
// - GetBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html) //
// - PutBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html) // For information about the Amazon S3 inventory feature, see [Amazon S3 Inventory].
// - ListBucketInventoryConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html) //
// Operations related to DeleteBucketInventoryConfiguration include:
//
// [GetBucketInventoryConfiguration]
//
// [PutBucketInventoryConfiguration]
//
// [ListBucketInventoryConfigurations]
//
// [Amazon S3 Inventory]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html
// [ListBucketInventoryConfigurations]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html
// [Permissions Related to Bucket Subresource Operations]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
// [Managing Access Permissions to Your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
// [PutBucketInventoryConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html
// [GetBucketInventoryConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html
func (c *Client) DeleteBucketInventoryConfiguration(ctx context.Context, params *DeleteBucketInventoryConfigurationInput, optFns ...func(*Options)) (*DeleteBucketInventoryConfigurationOutput, error) { func (c *Client) DeleteBucketInventoryConfiguration(ctx context.Context, params *DeleteBucketInventoryConfigurationInput, optFns ...func(*Options)) (*DeleteBucketInventoryConfigurationOutput, error) {
if params == nil { if params == nil {
params = &DeleteBucketInventoryConfigurationInput{} params = &DeleteBucketInventoryConfigurationInput{}
@ -61,6 +75,7 @@ type DeleteBucketInventoryConfigurationInput struct {
} }
func (in *DeleteBucketInventoryConfigurationInput) bindEndpointParams(p *EndpointParameters) { func (in *DeleteBucketInventoryConfigurationInput) bindEndpointParams(p *EndpointParameters) {
p.Bucket = in.Bucket p.Bucket = in.Bucket
p.UseS3ExpressControlEndpoint = ptr.Bool(true) p.UseS3ExpressControlEndpoint = ptr.Bool(true)
} }
@ -130,6 +145,15 @@ func (c *Client) addOperationDeleteBucketInventoryConfigurationMiddlewares(stack
if err = addPutBucketContextMiddleware(stack); err != nil { if err = addPutBucketContextMiddleware(stack); err != nil {
return err return err
} }
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIsExpressUserAgent(stack); err != nil {
return err
}
if err = addOpDeleteBucketInventoryConfigurationValidationMiddleware(stack); err != nil { if err = addOpDeleteBucketInventoryConfigurationValidationMiddleware(stack); err != nil {
return err return err
} }

View file

@ -13,20 +13,32 @@ import (
smithyhttp "github.com/aws/smithy-go/transport/http" smithyhttp "github.com/aws/smithy-go/transport/http"
) )
// This operation is not supported by directory buckets. Deletes the lifecycle // This operation is not supported by directory buckets.
// configuration from the specified bucket. Amazon S3 removes all the lifecycle //
// configuration rules in the lifecycle subresource associated with the bucket. // Deletes the lifecycle configuration from the specified bucket. Amazon S3
// Your objects never expire, and Amazon S3 no longer automatically deletes any // removes all the lifecycle configuration rules in the lifecycle subresource
// objects on the basis of rules contained in the deleted lifecycle configuration. // associated with the bucket. Your objects never expire, and Amazon S3 no longer
// automatically deletes any objects on the basis of rules contained in the deleted
// lifecycle configuration.
//
// To use this operation, you must have permission to perform the // To use this operation, you must have permission to perform the
// s3:PutLifecycleConfiguration action. By default, the bucket owner has this // s3:PutLifecycleConfiguration action. By default, the bucket owner has this
// permission and the bucket owner can grant this permission to others. There is // permission and the bucket owner can grant this permission to others.
// usually some time lag before lifecycle configuration deletion is fully //
// propagated to all the Amazon S3 systems. For more information about the object // There is usually some time lag before lifecycle configuration deletion is fully
// expiration, see Elements to Describe Lifecycle Actions (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions) // propagated to all the Amazon S3 systems.
// . Related actions include: //
// - PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html) // For more information about the object expiration, see [Elements to Describe Lifecycle Actions].
// - GetBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html) //
// Related actions include:
//
// [PutBucketLifecycleConfiguration]
//
// [GetBucketLifecycleConfiguration]
//
// [PutBucketLifecycleConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
// [Elements to Describe Lifecycle Actions]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions
// [GetBucketLifecycleConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
func (c *Client) DeleteBucketLifecycle(ctx context.Context, params *DeleteBucketLifecycleInput, optFns ...func(*Options)) (*DeleteBucketLifecycleOutput, error) { func (c *Client) DeleteBucketLifecycle(ctx context.Context, params *DeleteBucketLifecycleInput, optFns ...func(*Options)) (*DeleteBucketLifecycleOutput, error) {
if params == nil { if params == nil {
params = &DeleteBucketLifecycleInput{} params = &DeleteBucketLifecycleInput{}
@ -58,6 +70,7 @@ type DeleteBucketLifecycleInput struct {
} }
func (in *DeleteBucketLifecycleInput) bindEndpointParams(p *EndpointParameters) { func (in *DeleteBucketLifecycleInput) bindEndpointParams(p *EndpointParameters) {
p.Bucket = in.Bucket p.Bucket = in.Bucket
p.UseS3ExpressControlEndpoint = ptr.Bool(true) p.UseS3ExpressControlEndpoint = ptr.Bool(true)
} }
@ -127,6 +140,15 @@ func (c *Client) addOperationDeleteBucketLifecycleMiddlewares(stack *middleware.
if err = addPutBucketContextMiddleware(stack); err != nil { if err = addPutBucketContextMiddleware(stack); err != nil {
return err return err
} }
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIsExpressUserAgent(stack); err != nil {
return err
}
if err = addOpDeleteBucketLifecycleValidationMiddleware(stack); err != nil { if err = addOpDeleteBucketLifecycleValidationMiddleware(stack); err != nil {
return err return err
} }

View file

@ -13,22 +13,35 @@ import (
smithyhttp "github.com/aws/smithy-go/transport/http" smithyhttp "github.com/aws/smithy-go/transport/http"
) )
// This operation is not supported by directory buckets. Deletes a metrics // This operation is not supported by directory buckets.
// configuration for the Amazon CloudWatch request metrics (specified by the //
// metrics configuration ID) from the bucket. Note that this doesn't include the // Deletes a metrics configuration for the Amazon CloudWatch request metrics
// daily storage metrics. To use this operation, you must have permissions to // (specified by the metrics configuration ID) from the bucket. Note that this
// perform the s3:PutMetricsConfiguration action. The bucket owner has this // doesn't include the daily storage metrics.
// permission by default. The bucket owner can grant this permission to others. For //
// more information about permissions, see Permissions Related to Bucket // To use this operation, you must have permissions to perform the
// Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // s3:PutMetricsConfiguration action. The bucket owner has this permission by
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) // default. The bucket owner can grant this permission to others. For more
// . For information about CloudWatch request metrics for Amazon S3, see // information about permissions, see [Permissions Related to Bucket Subresource Operations]and [Managing Access Permissions to Your Amazon S3 Resources].
// Monitoring Metrics with Amazon CloudWatch (https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html) //
// . The following operations are related to DeleteBucketMetricsConfiguration : // For information about CloudWatch request metrics for Amazon S3, see [Monitoring Metrics with Amazon CloudWatch].
// - GetBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html) //
// - PutBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html) // The following operations are related to DeleteBucketMetricsConfiguration :
// - ListBucketMetricsConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html) //
// - Monitoring Metrics with Amazon CloudWatch (https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html) // [GetBucketMetricsConfiguration]
//
// [PutBucketMetricsConfiguration]
//
// [ListBucketMetricsConfigurations]
//
// [Monitoring Metrics with Amazon CloudWatch]
//
// [Permissions Related to Bucket Subresource Operations]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources
// [Monitoring Metrics with Amazon CloudWatch]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html
// [GetBucketMetricsConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html
// [ListBucketMetricsConfigurations]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html
// [PutBucketMetricsConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html
// [Managing Access Permissions to Your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
func (c *Client) DeleteBucketMetricsConfiguration(ctx context.Context, params *DeleteBucketMetricsConfigurationInput, optFns ...func(*Options)) (*DeleteBucketMetricsConfigurationOutput, error) { func (c *Client) DeleteBucketMetricsConfiguration(ctx context.Context, params *DeleteBucketMetricsConfigurationInput, optFns ...func(*Options)) (*DeleteBucketMetricsConfigurationOutput, error) {
if params == nil { if params == nil {
params = &DeleteBucketMetricsConfigurationInput{} params = &DeleteBucketMetricsConfigurationInput{}
@ -66,6 +79,7 @@ type DeleteBucketMetricsConfigurationInput struct {
} }
func (in *DeleteBucketMetricsConfigurationInput) bindEndpointParams(p *EndpointParameters) { func (in *DeleteBucketMetricsConfigurationInput) bindEndpointParams(p *EndpointParameters) {
p.Bucket = in.Bucket p.Bucket = in.Bucket
p.UseS3ExpressControlEndpoint = ptr.Bool(true) p.UseS3ExpressControlEndpoint = ptr.Bool(true)
} }
@ -135,6 +149,15 @@ func (c *Client) addOperationDeleteBucketMetricsConfigurationMiddlewares(stack *
if err = addPutBucketContextMiddleware(stack); err != nil { if err = addPutBucketContextMiddleware(stack); err != nil {
return err return err
} }
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIsExpressUserAgent(stack); err != nil {
return err
}
if err = addOpDeleteBucketMetricsConfigurationValidationMiddleware(stack); err != nil { if err = addOpDeleteBucketMetricsConfigurationValidationMiddleware(stack); err != nil {
return err return err
} }

View file

@ -13,14 +13,22 @@ import (
smithyhttp "github.com/aws/smithy-go/transport/http" smithyhttp "github.com/aws/smithy-go/transport/http"
) )
// This operation is not supported by directory buckets. Removes OwnershipControls // This operation is not supported by directory buckets.
// for an Amazon S3 bucket. To use this operation, you must have the //
// s3:PutBucketOwnershipControls permission. For more information about Amazon S3 // Removes OwnershipControls for an Amazon S3 bucket. To use this operation, you
// permissions, see Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html) // must have the s3:PutBucketOwnershipControls permission. For more information
// . For information about Amazon S3 Object Ownership, see Using Object Ownership (https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html) // about Amazon S3 permissions, see [Specifying Permissions in a Policy].
// . The following operations are related to DeleteBucketOwnershipControls : //
// - GetBucketOwnershipControls // For information about Amazon S3 Object Ownership, see [Using Object Ownership].
// - PutBucketOwnershipControls //
// The following operations are related to DeleteBucketOwnershipControls :
//
// # GetBucketOwnershipControls
//
// # PutBucketOwnershipControls
//
// [Using Object Ownership]: https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html
// [Specifying Permissions in a Policy]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
func (c *Client) DeleteBucketOwnershipControls(ctx context.Context, params *DeleteBucketOwnershipControlsInput, optFns ...func(*Options)) (*DeleteBucketOwnershipControlsOutput, error) { func (c *Client) DeleteBucketOwnershipControls(ctx context.Context, params *DeleteBucketOwnershipControlsInput, optFns ...func(*Options)) (*DeleteBucketOwnershipControlsOutput, error) {
if params == nil { if params == nil {
params = &DeleteBucketOwnershipControlsInput{} params = &DeleteBucketOwnershipControlsInput{}
@ -52,6 +60,7 @@ type DeleteBucketOwnershipControlsInput struct {
} }
func (in *DeleteBucketOwnershipControlsInput) bindEndpointParams(p *EndpointParameters) { func (in *DeleteBucketOwnershipControlsInput) bindEndpointParams(p *EndpointParameters) {
p.Bucket = in.Bucket p.Bucket = in.Bucket
p.UseS3ExpressControlEndpoint = ptr.Bool(true) p.UseS3ExpressControlEndpoint = ptr.Bool(true)
} }
@ -121,6 +130,15 @@ func (c *Client) addOperationDeleteBucketOwnershipControlsMiddlewares(stack *mid
if err = addPutBucketContextMiddleware(stack); err != nil { if err = addPutBucketContextMiddleware(stack); err != nil {
return err return err
} }
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIsExpressUserAgent(stack); err != nil {
return err
}
if err = addOpDeleteBucketOwnershipControlsValidationMiddleware(stack); err != nil { if err = addOpDeleteBucketOwnershipControlsValidationMiddleware(stack); err != nil {
return err return err
} }

View file

@ -13,44 +13,57 @@ import (
smithyhttp "github.com/aws/smithy-go/transport/http" smithyhttp "github.com/aws/smithy-go/transport/http"
) )
// Deletes the policy of a specified bucket. Directory buckets - For directory // Deletes the policy of a specified bucket.
// buckets, you must make requests for this API operation to the Regional endpoint. //
// These endpoints support path-style requests in the format // Directory buckets - For directory buckets, you must make requests for this API
// https://s3express-control.region_code.amazonaws.com/bucket-name . // operation to the Regional endpoint. These endpoints support path-style requests
// Virtual-hosted-style requests aren't supported. For more information, see // in the format https://s3express-control.region_code.amazonaws.com/bucket-name .
// Regional and Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html) // Virtual-hosted-style requests aren't supported. For more information, see [Regional and Zonal endpoints]in
// in the Amazon S3 User Guide. Permissions If you are using an identity other than // the Amazon S3 User Guide.
// the root user of the Amazon Web Services account that owns the bucket, the //
// calling identity must both have the DeleteBucketPolicy permissions on the // Permissions If you are using an identity other than the root user of the Amazon
// specified bucket and belong to the bucket owner's account in order to use this // Web Services account that owns the bucket, the calling identity must both have
// operation. If you don't have DeleteBucketPolicy permissions, Amazon S3 returns // the DeleteBucketPolicy permissions on the specified bucket and belong to the
// a 403 Access Denied error. If you have the correct permissions, but you're not // bucket owner's account in order to use this operation.
// using an identity that belongs to the bucket owner's account, Amazon S3 returns //
// a 405 Method Not Allowed error. To ensure that bucket owners don't // If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403
// inadvertently lock themselves out of their own buckets, the root principal in a // Access Denied error. If you have the correct permissions, but you're not using
// bucket owner's Amazon Web Services account can perform the GetBucketPolicy , // an identity that belongs to the bucket owner's account, Amazon S3 returns a 405
// PutBucketPolicy , and DeleteBucketPolicy API actions, even if their bucket // Method Not Allowed error.
// policy explicitly denies the root principal's access. Bucket owner root //
// principals can only be blocked from performing these API actions by VPC endpoint // To ensure that bucket owners don't inadvertently lock themselves out of their
// policies and Amazon Web Services Organizations policies. // own buckets, the root principal in a bucket owner's Amazon Web Services account
// can perform the GetBucketPolicy , PutBucketPolicy , and DeleteBucketPolicy API
// actions, even if their bucket policy explicitly denies the root principal's
// access. Bucket owner root principals can only be blocked from performing these
// API actions by VPC endpoint policies and Amazon Web Services Organizations
// policies.
//
// - General purpose bucket permissions - The s3:DeleteBucketPolicy permission is // - General purpose bucket permissions - The s3:DeleteBucketPolicy permission is
// required in a policy. For more information about general purpose buckets bucket // required in a policy. For more information about general purpose buckets bucket
// policies, see Using Bucket Policies and User Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html) // policies, see [Using Bucket Policies and User Policies]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// - Directory bucket permissions - To grant access to this API operation, you // - Directory bucket permissions - To grant access to this API operation, you
// must have the s3express:DeleteBucketPolicy permission in an IAM identity-based // must have the s3express:DeleteBucketPolicy permission in an IAM identity-based
// policy instead of a bucket policy. Cross-account access to this API operation // policy instead of a bucket policy. Cross-account access to this API operation
// isn't supported. This operation can only be performed by the Amazon Web Services // isn't supported. This operation can only be performed by the Amazon Web Services
// account that owns the resource. For more information about directory bucket // account that owns the resource. For more information about directory bucket
// policies and permissions, see Amazon Web Services Identity and Access // policies and permissions, see [Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone]in the Amazon S3 User Guide.
// Management (IAM) for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html)
// in the Amazon S3 User Guide.
// //
// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is // HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
// s3express-control.region.amazonaws.com . The following operations are related to // s3express-control.region.amazonaws.com .
// DeleteBucketPolicy //
// - CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // # The following operations are related to DeleteBucketPolicy
// - DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) //
// [CreateBucket]
//
// [DeleteObject]
//
// [DeleteObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
// [Regional and Zonal endpoints]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
// [Using Bucket Policies and User Policies]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
// [CreateBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
// [Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html
func (c *Client) DeleteBucketPolicy(ctx context.Context, params *DeleteBucketPolicyInput, optFns ...func(*Options)) (*DeleteBucketPolicyOutput, error) { func (c *Client) DeleteBucketPolicy(ctx context.Context, params *DeleteBucketPolicyInput, optFns ...func(*Options)) (*DeleteBucketPolicyOutput, error) {
if params == nil { if params == nil {
params = &DeleteBucketPolicyInput{} params = &DeleteBucketPolicyInput{}
@ -68,30 +81,36 @@ func (c *Client) DeleteBucketPolicy(ctx context.Context, params *DeleteBucketPol
type DeleteBucketPolicyInput struct { type DeleteBucketPolicyInput struct {
// The bucket name. Directory buckets - When you use this operation with a // The bucket name.
// directory bucket, you must use path-style requests in the format //
// Directory buckets - When you use this operation with a directory bucket, you
// must use path-style requests in the format
// https://s3express-control.region_code.amazonaws.com/bucket-name . // https://s3express-control.region_code.amazonaws.com/bucket-name .
// Virtual-hosted-style requests aren't supported. Directory bucket names must be // Virtual-hosted-style requests aren't supported. Directory bucket names must be
// unique in the chosen Availability Zone. Bucket names must also follow the format // unique in the chosen Availability Zone. Bucket names must also follow the format
// bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 // bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3
// ). For information about bucket naming restrictions, see Directory bucket // ). For information about bucket naming restrictions, see [Directory bucket naming rules]in the Amazon S3 User
// naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) // Guide
// in the Amazon S3 User Guide //
// [Directory bucket naming rules]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
// //
// This member is required. // This member is required.
Bucket *string Bucket *string
// The account ID of the expected bucket owner. If the account ID that you provide // The account ID of the expected bucket owner. If the account ID that you provide
// does not match the actual owner of the bucket, the request fails with the HTTP // does not match the actual owner of the bucket, the request fails with the HTTP
// status code 403 Forbidden (access denied). For directory buckets, this header // status code 403 Forbidden (access denied).
// is not supported in this API operation. If you specify this header, the request //
// fails with the HTTP status code 501 Not Implemented . // For directory buckets, this header is not supported in this API operation. If
// you specify this header, the request fails with the HTTP status code 501 Not
// Implemented .
ExpectedBucketOwner *string ExpectedBucketOwner *string
noSmithyDocumentSerde noSmithyDocumentSerde
} }
func (in *DeleteBucketPolicyInput) bindEndpointParams(p *EndpointParameters) { func (in *DeleteBucketPolicyInput) bindEndpointParams(p *EndpointParameters) {
p.Bucket = in.Bucket p.Bucket = in.Bucket
p.UseS3ExpressControlEndpoint = ptr.Bool(true) p.UseS3ExpressControlEndpoint = ptr.Bool(true)
} }
@ -161,6 +180,15 @@ func (c *Client) addOperationDeleteBucketPolicyMiddlewares(stack *middleware.Sta
if err = addPutBucketContextMiddleware(stack); err != nil { if err = addPutBucketContextMiddleware(stack); err != nil {
return err return err
} }
if err = addTimeOffsetBuild(stack, c); err != nil {
return err
}
if err = addUserAgentRetryMode(stack, options); err != nil {
return err
}
if err = addIsExpressUserAgent(stack); err != nil {
return err
}
if err = addOpDeleteBucketPolicyValidationMiddleware(stack); err != nil { if err = addOpDeleteBucketPolicyValidationMiddleware(stack); err != nil {
return err return err
} }

Some files were not shown because too many files have changed in this diff Show more