Merge branch 'public-single-node' into victorialogs-wip

This commit is contained in:
Aliaksandr Valialkin 2024-05-12 16:28:34 +02:00
commit fe6fac7ed3
No known key found for this signature in database
GPG key ID: 52C003EE2BCDB9EB
393 changed files with 25792 additions and 21694 deletions

View file

@ -466,7 +466,7 @@ benchmark-pure:
vendor-update: vendor-update:
go get -u -d ./lib/... go get -u -d ./lib/...
go get -u -d ./app/... go get -u -d ./app/...
go mod tidy -compat=1.21 go mod tidy -compat=1.22
go mod vendor go mod vendor
app-local: app-local:

84
go.mod
View file

@ -1,6 +1,6 @@
module github.com/VictoriaMetrics/VictoriaMetrics module github.com/VictoriaMetrics/VictoriaMetrics
go 1.22 go 1.22.3
require ( require (
cloud.google.com/go/storage v1.40.0 cloud.google.com/go/storage v1.40.0
@ -11,45 +11,45 @@ require (
github.com/VictoriaMetrics/metrics v1.33.1 github.com/VictoriaMetrics/metrics v1.33.1
github.com/VictoriaMetrics/metricsql v0.75.1 github.com/VictoriaMetrics/metricsql v0.75.1
github.com/aws/aws-sdk-go-v2 v1.26.1 github.com/aws/aws-sdk-go-v2 v1.26.1
github.com/aws/aws-sdk-go-v2/config v1.27.11 github.com/aws/aws-sdk-go-v2/config v1.27.13
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.17
github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1 github.com/aws/aws-sdk-go-v2/service/s3 v1.53.2
github.com/bmatcuk/doublestar/v4 v4.6.1 github.com/bmatcuk/doublestar/v4 v4.6.1
github.com/cespare/xxhash/v2 v2.3.0 github.com/cespare/xxhash/v2 v2.3.0
github.com/cheggaaa/pb/v3 v3.1.5 github.com/cheggaaa/pb/v3 v3.1.5
github.com/gogo/protobuf v1.3.2 github.com/gogo/protobuf v1.3.2
github.com/golang/snappy v0.0.4 github.com/golang/snappy v0.0.4
github.com/googleapis/gax-go/v2 v2.12.3 github.com/googleapis/gax-go/v2 v2.12.4
github.com/influxdata/influxdb v1.11.5 github.com/influxdata/influxdb v1.11.5
github.com/klauspost/compress v1.17.8 github.com/klauspost/compress v1.17.8
github.com/prometheus/prometheus v0.51.2 github.com/prometheus/prometheus v0.52.0
github.com/urfave/cli/v2 v2.27.1 github.com/urfave/cli/v2 v2.27.2
github.com/valyala/fastjson v1.6.4 github.com/valyala/fastjson v1.6.4
github.com/valyala/fastrand v1.1.0 github.com/valyala/fastrand v1.1.0
github.com/valyala/fasttemplate v1.2.2 github.com/valyala/fasttemplate v1.2.2
github.com/valyala/gozstd v1.20.1 github.com/valyala/gozstd v1.20.1
github.com/valyala/histogram v1.2.0 github.com/valyala/histogram v1.2.0
github.com/valyala/quicktemplate v1.7.0 github.com/valyala/quicktemplate v1.7.0
golang.org/x/oauth2 v0.19.0 golang.org/x/oauth2 v0.20.0
golang.org/x/sys v0.19.0 golang.org/x/sys v0.20.0
google.golang.org/api v0.174.0 google.golang.org/api v0.180.0
gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v2 v2.4.0
) )
require ( require (
cloud.google.com/go v0.112.2 // indirect cloud.google.com/go v0.113.0 // indirect
cloud.google.com/go/auth v0.2.0 // indirect cloud.google.com/go/auth v0.4.1 // indirect
cloud.google.com/go/auth/oauth2adapt v0.2.0 // indirect cloud.google.com/go/auth/oauth2adapt v0.2.2 // indirect
cloud.google.com/go/compute/metadata v0.3.0 // indirect cloud.google.com/go/compute/metadata v0.3.0 // indirect
cloud.google.com/go/iam v1.1.7 // indirect cloud.google.com/go/iam v1.1.8 // indirect
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.2 // indirect github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.2 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v1.6.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 // indirect
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect
github.com/VividCortex/ewma v1.2.0 // indirect github.com/VividCortex/ewma v1.2.0 // indirect
github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 // indirect github.com/alecthomas/units v0.0.0-20231202071711-9a357b53e9c9 // indirect
github.com/aws/aws-sdk-go v1.51.23 // indirect github.com/aws/aws-sdk-go v1.53.0 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.17.11 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.17.13 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 // indirect
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 // indirect github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 // indirect
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 // indirect github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 // indirect
@ -59,9 +59,9 @@ require (
github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.7 // indirect github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.3.7 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 // indirect github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 // indirect
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 // indirect github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 // indirect
github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 // indirect github.com/aws/aws-sdk-go-v2/service/sso v1.20.6 // indirect
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4 // indirect github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.0 // indirect
github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 // indirect github.com/aws/aws-sdk-go-v2/service/sts v1.28.7 // indirect
github.com/aws/smithy-go v1.20.2 // indirect github.com/aws/smithy-go v1.20.2 // indirect
github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 // indirect github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 // indirect
github.com/beorn7/perks v1.0.1 // indirect github.com/beorn7/perks v1.0.1 // indirect
@ -96,42 +96,42 @@ require (
github.com/oklog/ulid v1.3.1 // indirect github.com/oklog/ulid v1.3.1 // indirect
github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // indirect github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c // 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/prometheus/client_golang v1.19.0 // indirect github.com/prometheus/client_golang v1.19.1 // indirect
github.com/prometheus/client_model v0.6.1 // indirect github.com/prometheus/client_model v0.6.1 // indirect
github.com/prometheus/common v0.52.3 // indirect github.com/prometheus/common v0.53.0 // indirect
github.com/prometheus/common/sigv4 v0.1.0 // indirect github.com/prometheus/common/sigv4 v0.1.0 // indirect
github.com/prometheus/procfs v0.13.0 // indirect github.com/prometheus/procfs v0.14.0 // indirect
github.com/rivo/uniseg v0.4.7 // indirect github.com/rivo/uniseg v0.4.7 // indirect
github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect
github.com/stretchr/testify v1.9.0 // indirect github.com/stretchr/testify v1.9.0 // indirect
github.com/valyala/bytebufferpool v1.0.0 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect
github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 // indirect github.com/xrash/smetrics v0.0.0-20240312152122-5f08fbb34913 // indirect
go.opencensus.io v0.24.0 // indirect go.opencensus.io v0.24.0 // indirect
go.opentelemetry.io/collector/featuregate v1.5.0 // indirect go.opentelemetry.io/collector/featuregate v1.7.0 // indirect
go.opentelemetry.io/collector/pdata v1.5.0 // indirect go.opentelemetry.io/collector/pdata v1.7.0 // indirect
go.opentelemetry.io/collector/semconv v0.98.0 // indirect go.opentelemetry.io/collector/semconv v0.100.0 // indirect
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.50.0 // indirect go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.51.0 // indirect
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.50.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.51.0 // indirect
go.opentelemetry.io/otel v1.25.0 // indirect go.opentelemetry.io/otel v1.26.0 // indirect
go.opentelemetry.io/otel/metric v1.25.0 // indirect go.opentelemetry.io/otel/metric v1.26.0 // indirect
go.opentelemetry.io/otel/trace v1.25.0 // indirect go.opentelemetry.io/otel/trace v1.26.0 // indirect
go.uber.org/atomic v1.11.0 // indirect go.uber.org/atomic v1.11.0 // indirect
go.uber.org/goleak v1.3.0 // indirect go.uber.org/goleak v1.3.0 // indirect
go.uber.org/multierr v1.11.0 // indirect go.uber.org/multierr v1.11.0 // indirect
golang.org/x/crypto v0.22.0 // indirect golang.org/x/crypto v0.23.0 // indirect
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f // indirect golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 // indirect
golang.org/x/net v0.24.0 // indirect golang.org/x/net v0.25.0 // indirect
golang.org/x/sync v0.7.0 // indirect golang.org/x/sync v0.7.0 // indirect
golang.org/x/text v0.14.0 // indirect golang.org/x/text v0.15.0 // indirect
golang.org/x/time v0.5.0 // indirect golang.org/x/time v0.5.0 // indirect
google.golang.org/genproto v0.0.0-20240415180920-8c6c420018be // indirect google.golang.org/genproto v0.0.0-20240509183442-62759503f434 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240415180920-8c6c420018be // indirect google.golang.org/genproto/googleapis/api v0.0.0-20240509183442-62759503f434 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20240509183442-62759503f434 // indirect
google.golang.org/grpc v1.63.2 // indirect google.golang.org/grpc v1.63.2 // indirect
google.golang.org/protobuf v1.33.0 // indirect google.golang.org/protobuf v1.34.1 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect
k8s.io/apimachinery v0.29.4 // indirect k8s.io/apimachinery v0.30.0 // indirect
k8s.io/client-go v0.29.4 // indirect k8s.io/client-go v0.30.0 // indirect
k8s.io/klog/v2 v2.120.1 // indirect k8s.io/klog/v2 v2.120.1 // indirect
k8s.io/utils v0.0.0-20240310230437-4693a0247e57 // indirect k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0 // indirect
) )

240
go.sum
View file

@ -13,12 +13,12 @@ cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKV
cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
cloud.google.com/go v0.112.2 h1:ZaGT6LiG7dBzi6zNOvVZwacaXlmf3lRqnC4DQzqyRQw= cloud.google.com/go v0.113.0 h1:g3C70mn3lWfckKBiCVsAshabrDg01pQ0pnX1MNtnMkA=
cloud.google.com/go v0.112.2/go.mod h1:iEqjp//KquGIJV/m+Pk3xecgKNhV+ry+vVTsy4TbDms= cloud.google.com/go v0.113.0/go.mod h1:glEqlogERKYeePz6ZdkcLJ28Q2I6aERgDDErBg9GzO8=
cloud.google.com/go/auth v0.2.0 h1:y6oTcpMSbOcXbwYgUUrvI+mrQ2xbrcdpPgtVbCGTLTk= cloud.google.com/go/auth v0.4.1 h1:Z7YNIhlWRtrnKlZke7z3GMqzvuYzdc2z98F9D1NV5Hg=
cloud.google.com/go/auth v0.2.0/go.mod h1:+yb+oy3/P0geX6DLKlqiGHARGR6EX2GRtYCzWOCQSbU= cloud.google.com/go/auth v0.4.1/go.mod h1:QVBuVEKpCn4Zp58hzRGvL0tjRGU0YqdRTdCHM1IHnro=
cloud.google.com/go/auth/oauth2adapt v0.2.0 h1:FR8zevgQwu+8CqiOT5r6xCmJa3pJC/wdXEEPF1OkNhA= cloud.google.com/go/auth/oauth2adapt v0.2.2 h1:+TTV8aXpjeChS9M+aTtN/TjdQnzJvmzKFt//oWu7HX4=
cloud.google.com/go/auth/oauth2adapt v0.2.0/go.mod h1:AfqujpDAlTfLfeCIl/HJZZlIxD8+nJoZ5e0x1IxGq5k= cloud.google.com/go/auth/oauth2adapt v0.2.2/go.mod h1:wcYjgpZI9+Yu7LyYBg4pqSiaRkfEK3GQcpb7C/uyF1Q=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
@ -29,8 +29,8 @@ cloud.google.com/go/compute/metadata v0.3.0 h1:Tz+eQXMEqDIKRsmY3cHTL6FVaynIjX2Qx
cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
cloud.google.com/go/iam v1.1.7 h1:z4VHOhwKLF/+UYXAJDFwGtNF0b6gjsW1Pk9Ml0U/IoM= cloud.google.com/go/iam v1.1.8 h1:r7umDwhj+BQyz0ScZMp4QrGXjSTI3ZINnpgU2nlB/K0=
cloud.google.com/go/iam v1.1.7/go.mod h1:J4PMPg8TtyurAUvSmPj8FF3EDgY1SPRZxcUGrn7WXGA= cloud.google.com/go/iam v1.1.8/go.mod h1:GvE6lyMmfxXauzNq8NbgJbeVQNspG+tcdL/W8QO1+zE=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
@ -47,10 +47,10 @@ github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1 h1:E+OJmp2tPvt1W+amx48v1eqb
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1/go.mod h1:a6xsAQUZg+VsS3TJ05SRp524Hs4pZ/AeFSr5ENf0Yjo= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.11.1/go.mod h1:a6xsAQUZg+VsS3TJ05SRp524Hs4pZ/AeFSr5ENf0Yjo=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.2 h1:FDif4R1+UUR+00q6wquyX90K7A8dN+R5E8GEadoP7sU= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.2 h1:FDif4R1+UUR+00q6wquyX90K7A8dN+R5E8GEadoP7sU=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.2/go.mod h1:aiYBYui4BJ/BJCAIKs92XiPyQfTaBWqvHujDwKb6CBU= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.5.2/go.mod h1:aiYBYui4BJ/BJCAIKs92XiPyQfTaBWqvHujDwKb6CBU=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.6.0 h1:sUFnFjzDUie80h24I7mrKtwCKgLY9L8h5Tp2x9+TWqk= github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0 h1:jBQA3cKT4L2rWMpgE7Yt3Hwh2aUj8KXjIGLxjHeYNNo=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.6.0/go.mod h1:52JbnQTp15qg5mRkMBHwp0j0ZFwHJ42Sx3zVV5RE9p0= github.com/Azure/azure-sdk-for-go/sdk/internal v1.8.0/go.mod h1:4OG6tQ9EOP/MT0NMjDlRzWoVFxfu9rN9B2X+tlSVktg=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.5.0 h1:MxA59PGoCFb+vCwRQi3PhQEwHj4+r2dhuv9HG+vM7iM= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.6.0 h1:ui3YNbxfW7J3tTFIZMH6LIGRjCngp+J+nIFlnizfNTE=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.5.0/go.mod h1:uYt4CfhkJA9o0FN7jfE5minm/i4nUE4MjGUJkzB6Zs8= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 v5.6.0/go.mod h1:gZmgV+qBqygoznvqo2J9oKZAFziqhLZ2xE/WVUmzkHA=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0 h1:bXwSugBiSbgtz7rOtbfGf+woewp4f06orW9OP5BjHLA= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0 h1:bXwSugBiSbgtz7rOtbfGf+woewp4f06orW9OP5BjHLA=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0/go.mod h1:Y/HgrePTmGy9HjdSGTqZNa+apUpTVIEVKXJyARP2lrk= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 v4.3.0/go.mod h1:Y/HgrePTmGy9HjdSGTqZNa+apUpTVIEVKXJyARP2lrk=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.5.0 h1:AifHbc4mg0x9zW52WOpKbsHaDKuRhlI7TVl47thgQ70= github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storage/armstorage v1.5.0 h1:AifHbc4mg0x9zW52WOpKbsHaDKuRhlI7TVl47thgQ70=
@ -61,8 +61,8 @@ github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 h1:XHOnouVk1mx
github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/Code-Hex/go-generics-cache v1.3.1 h1:i8rLwyhoyhaerr7JpjtYjJZUcCbWOdiYO3fZXLiEC4g= github.com/Code-Hex/go-generics-cache v1.5.1 h1:6vhZGc5M7Y/YD8cIUcY8kcuQLB4cHR7U+0KMqAA0KcU=
github.com/Code-Hex/go-generics-cache v1.3.1/go.mod h1:qxcC9kRVrct9rHeiYpFWSoW1vxyillCVzX13KZG8dl4= github.com/Code-Hex/go-generics-cache v1.5.1/go.mod h1:qxcC9kRVrct9rHeiYpFWSoW1vxyillCVzX13KZG8dl4=
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM= github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
github.com/VictoriaMetrics/easyproto v0.1.4 h1:r8cNvo8o6sR4QShBXQd1bKw/VVLSQma/V2KhTBPf+Sc= github.com/VictoriaMetrics/easyproto v0.1.4 h1:r8cNvo8o6sR4QShBXQd1bKw/VVLSQma/V2KhTBPf+Sc=
@ -89,20 +89,20 @@ github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHG
github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA= github.com/armon/go-metrics v0.4.1 h1:hR91U9KYmb6bLBYLQjyM+3j+rcd/UhE+G78SFnF8gJA=
github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4= github.com/armon/go-metrics v0.4.1/go.mod h1:E6amYzXo6aW1tqzoZGT755KkbgrJsSdpwZ+3JqfkOG4=
github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
github.com/aws/aws-sdk-go v1.51.23 h1:/3TEdsEE/aHmdKGw2NrOp7Sdea76zfffGkTTSXTsDxY= github.com/aws/aws-sdk-go v1.53.0 h1:MMo1x1ggPPxDfHMXJnQudTbGXYlD4UigUAud1DJxPVo=
github.com/aws/aws-sdk-go v1.51.23/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk= github.com/aws/aws-sdk-go v1.53.0/go.mod h1:LF8svs817+Nz+DmiMQKTO3ubZ/6IaTpq3TjupRn3Eqk=
github.com/aws/aws-sdk-go-v2 v1.26.1 h1:5554eUqIYVWpU0YmeeYZ0wU64H2VLBs8TlhRB2L+EkA= github.com/aws/aws-sdk-go-v2 v1.26.1 h1:5554eUqIYVWpU0YmeeYZ0wU64H2VLBs8TlhRB2L+EkA=
github.com/aws/aws-sdk-go-v2 v1.26.1/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM= github.com/aws/aws-sdk-go-v2 v1.26.1/go.mod h1:ffIFB97e2yNsv4aTSGkqtHnppsIJzw7G7BReUZ3jCXM=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 h1:x6xsQXGSmW6frevwDA+vi/wqhp1ct18mVXYN08/93to= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2 h1:x6xsQXGSmW6frevwDA+vi/wqhp1ct18mVXYN08/93to=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2/go.mod h1:lPprDr1e6cJdyYeGXnRaJoP4Md+cDBvi2eOj00BlGmg= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.2/go.mod h1:lPprDr1e6cJdyYeGXnRaJoP4Md+cDBvi2eOj00BlGmg=
github.com/aws/aws-sdk-go-v2/config v1.27.11 h1:f47rANd2LQEYHda2ddSCKYId18/8BhSRM4BULGmfgNA= github.com/aws/aws-sdk-go-v2/config v1.27.13 h1:WbKW8hOzrWoOA/+35S5okqO/2Ap8hkkFUzoW8Hzq24A=
github.com/aws/aws-sdk-go-v2/config v1.27.11/go.mod h1:SMsV78RIOYdve1vf36z8LmnszlRWkwMQtomCAI0/mIE= github.com/aws/aws-sdk-go-v2/config v1.27.13/go.mod h1:XLiyiTMnguytjRER7u5RIkhIqS8Nyz41SwAWb4xEjxs=
github.com/aws/aws-sdk-go-v2/credentials v1.17.11 h1:YuIB1dJNf1Re822rriUOTxopaHHvIq0l/pX3fwO+Tzs= github.com/aws/aws-sdk-go-v2/credentials v1.17.13 h1:XDCJDzk/u5cN7Aple7D/MiAhx1Rjo/0nueJ0La8mRuE=
github.com/aws/aws-sdk-go-v2/credentials v1.17.11/go.mod h1:AQtFPsDH9bI2O+71anW6EKL+NcD7LG3dpKGMV4SShgo= github.com/aws/aws-sdk-go-v2/credentials v1.17.13/go.mod h1:FMNcjQrmuBYvOTZDtOLCIu0esmxjF7RuA/89iSXWzQI=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 h1:FVJ0r5XTHSmIHJV6KuDmdYhEpvlHpiSd38RQWhut5J4= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1 h1:FVJ0r5XTHSmIHJV6KuDmdYhEpvlHpiSd38RQWhut5J4=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1/go.mod h1:zusuAeqezXzAB24LGuzuekqMAEgWkVYukBec3kr3jUg= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.1/go.mod h1:zusuAeqezXzAB24LGuzuekqMAEgWkVYukBec3kr3jUg=
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15 h1:7Zwtt/lP3KNRkeZre7soMELMGNoBrutx8nobg1jKWmo= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.17 h1:9b1Os1s11mF5qTIKLgSsyPG810di2+ySSLIIt9bwe9I=
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.15/go.mod h1:436h2adoHb57yd+8W+gYPrrA9U/R/SuAuOO42Ushzhw= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.16.17/go.mod h1:9Wp7tDOMhv0+sb/FTRAkbHNQ7abYDnoJRzm5AAtCnTc=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 h1:aw39xVGeRWlWx9EzGVnhOR4yOjQDHPQ6o6NmBlscyQg= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5 h1:aw39xVGeRWlWx9EzGVnhOR4yOjQDHPQ6o6NmBlscyQg=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5/go.mod h1:FSaRudD0dXiMPK2UjknVwwTYyZMRsHv3TtkabsZih5I= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.5/go.mod h1:FSaRudD0dXiMPK2UjknVwwTYyZMRsHv3TtkabsZih5I=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 h1:PG1F3OD1szkuQPzDw3CIQsRIrtTlUC3lP84taWzHlq0= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.5 h1:PG1F3OD1szkuQPzDw3CIQsRIrtTlUC3lP84taWzHlq0=
@ -119,14 +119,14 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7 h1:ogRAwT1/g
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7/go.mod h1:YCsIZhXfRPLFFCl5xxY+1T9RKzOKjCut+28JSX2DnAk= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.11.7/go.mod h1:YCsIZhXfRPLFFCl5xxY+1T9RKzOKjCut+28JSX2DnAk=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 h1:f9RyWNtS8oH7cZlbn+/JNPpjUk5+5fLd5lM9M0i49Ys= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5 h1:f9RyWNtS8oH7cZlbn+/JNPpjUk5+5fLd5lM9M0i49Ys=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5/go.mod h1:h5CoMZV2VF297/VLhRhO1WF+XYWOzXo+4HsObA4HjBQ= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.17.5/go.mod h1:h5CoMZV2VF297/VLhRhO1WF+XYWOzXo+4HsObA4HjBQ=
github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1 h1:6cnno47Me9bRykw9AEv9zkXE+5or7jz8TsskTTccbgc= github.com/aws/aws-sdk-go-v2/service/s3 v1.53.2 h1:rq2hglTQM3yHZvOPVMtNvLS5x6hijx7JvRDgKiTNDGQ=
github.com/aws/aws-sdk-go-v2/service/s3 v1.53.1/go.mod h1:qmdkIIAC+GCLASF7R2whgNrJADz0QZPX+Seiw/i4S3o= github.com/aws/aws-sdk-go-v2/service/s3 v1.53.2/go.mod h1:qmdkIIAC+GCLASF7R2whgNrJADz0QZPX+Seiw/i4S3o=
github.com/aws/aws-sdk-go-v2/service/sso v1.20.5 h1:vN8hEbpRnL7+Hopy9dzmRle1xmDc7o8tmY0klsr175w= github.com/aws/aws-sdk-go-v2/service/sso v1.20.6 h1:o5cTaeunSpfXiLTIBx5xo2enQmiChtu1IBbzXnfU9Hs=
github.com/aws/aws-sdk-go-v2/service/sso v1.20.5/go.mod h1:qGzynb/msuZIE8I75DVRCUXw3o3ZyBmUvMwQ2t/BrGM= github.com/aws/aws-sdk-go-v2/service/sso v1.20.6/go.mod h1:qGzynb/msuZIE8I75DVRCUXw3o3ZyBmUvMwQ2t/BrGM=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4 h1:Jux+gDDyi1Lruk+KHF91tK2KCuY61kzoCpvtvJJBtOE= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.0 h1:Qe0r0lVURDDeBQJ4yP+BOrJkvkiCo/3FH/t+wY11dmw=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.23.4/go.mod h1:mUYPBhaF2lGiukDEjJX2BLRRKTmoUSitGDUgM4tRxak= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.24.0/go.mod h1:mUYPBhaF2lGiukDEjJX2BLRRKTmoUSitGDUgM4tRxak=
github.com/aws/aws-sdk-go-v2/service/sts v1.28.6 h1:cwIxeBttqPN3qkaAjcEcsh8NYr8n2HZPkcKgPAi1phU= github.com/aws/aws-sdk-go-v2/service/sts v1.28.7 h1:et3Ta53gotFR4ERLXXHIHl/Uuk1qYpP5uU7cvNql8ns=
github.com/aws/aws-sdk-go-v2/service/sts v1.28.6/go.mod h1:FZf1/nKNEkHdGGJP/cI2MoIMquumuRK6ol3QQJNDxmw= github.com/aws/aws-sdk-go-v2/service/sts v1.28.7/go.mod h1:FZf1/nKNEkHdGGJP/cI2MoIMquumuRK6ol3QQJNDxmw=
github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q= github.com/aws/smithy-go v1.20.2 h1:tbp628ireGtzcHDDmLT/6ADHidqnwgF57XOXZe6tp4Q=
github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E= github.com/aws/smithy-go v1.20.2/go.mod h1:krry+ya/rV9RDcV/Q16kpu6ypI4K2czasz0NC3qS14E=
github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 h1:6df1vn4bBlDDo4tARvBm7l6KA9iVMnE3NWizDeWSrps= github.com/bboreham/go-loser v0.0.0-20230920113527-fcc2c21820a3 h1:6df1vn4bBlDDo4tARvBm7l6KA9iVMnE3NWizDeWSrps=
@ -159,14 +159,12 @@ github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dennwc/varint v1.0.0 h1:kGNFFSSw8ToIy3obO/kKr8U9GZYUAxQEVuix4zfDWzE= github.com/dennwc/varint v1.0.0 h1:kGNFFSSw8ToIy3obO/kKr8U9GZYUAxQEVuix4zfDWzE=
github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA= github.com/dennwc/varint v1.0.0/go.mod h1:hnItb35rvZvJrbTALZtY/iQfDs48JKRG1RPpgziApxA=
github.com/digitalocean/godo v1.109.0 h1:4W97RJLJSUQ3veRZDNbp1Ol3Rbn6Lmt9bKGvfqYI5SU= github.com/digitalocean/godo v1.113.0 h1:CLtCxlP4wDAjKIQ+Hshht/UNbgAp8/J/XBH1ZtDCF9Y=
github.com/digitalocean/godo v1.109.0/go.mod h1:R6EmmWI8CT1+fCtjWY9UCB+L5uufuZH13wk3YhxycCs= github.com/digitalocean/godo v1.113.0/go.mod h1:Z2mTP848Vi3IXXl5YbPekUgr4j4tOePomA+OE1Ag98w=
github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0= github.com/distribution/reference v0.5.0 h1:/FUIFXtfc/x2gpa5/VGfiGLuOIdYa1t65IKK2OFGvA0=
github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
github.com/dnaeon/go-vcr v1.2.0 h1:zHCHvJYTMh1N7xnV7zf1m1GPBF9Ad0Jk/whtQ1663qI= github.com/docker/docker v26.0.1+incompatible h1:t39Hm6lpXuXtgkF0dm1t9a5HkbUfdGy6XbWexmGr+hA=
github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= github.com/docker/docker v26.0.1+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/docker v25.0.3+incompatible h1:D5fy/lYmY7bvZa0XTZ5/UJPljor41F+vdyJG5luQLfQ=
github.com/docker/docker v25.0.3+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
@ -215,8 +213,8 @@ github.com/go-openapi/jsonreference v0.20.4 h1:bKlDxQxQJgwpUSgOENiMPzCTBVuc7vTdX
github.com/go-openapi/jsonreference v0.20.4/go.mod h1:5pZJyJP2MnYCpoeoMAql78cCHauHj0V9Lhc506VOpw4= github.com/go-openapi/jsonreference v0.20.4/go.mod h1:5pZJyJP2MnYCpoeoMAql78cCHauHj0V9Lhc506VOpw4=
github.com/go-openapi/swag v0.22.9 h1:XX2DssF+mQKM2DHsbgZK74y/zj4mo9I99+89xUmuZCE= github.com/go-openapi/swag v0.22.9 h1:XX2DssF+mQKM2DHsbgZK74y/zj4mo9I99+89xUmuZCE=
github.com/go-openapi/swag v0.22.9/go.mod h1:3/OXnFfnMAwBD099SwYRk7GD3xOrr1iL7d/XNLXVVwE= github.com/go-openapi/swag v0.22.9/go.mod h1:3/OXnFfnMAwBD099SwYRk7GD3xOrr1iL7d/XNLXVVwE=
github.com/go-resty/resty/v2 v2.11.0 h1:i7jMfNOJYMp69lq7qozJP+bjgzfAzeOhuGlyDrqxT/8= github.com/go-resty/resty/v2 v2.12.0 h1:rsVL8P90LFvkUYq/V5BTVe203WfRIU4gvcf+yfzJzGA=
github.com/go-resty/resty/v2 v2.11.0/go.mod h1:iiP/OpA0CkcL3IGt1O0+/SIItFUbkkyw5BGXiVdTu+A= github.com/go-resty/resty/v2 v2.12.0/go.mod h1:o0yGPrkS3lOe1+eFajk6kBW8ScXzwU3hD69/gt2yB/0=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-zookeeper/zk v1.0.3 h1:7M2kwOsc//9VeeFiPtf+uSJlVpU66x9Ba5+8XK7/TDg= github.com/go-zookeeper/zk v1.0.3 h1:7M2kwOsc//9VeeFiPtf+uSJlVpU66x9Ba5+8XK7/TDg=
github.com/go-zookeeper/zk v1.0.3/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/go-zookeeper/zk v1.0.3/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw=
@ -281,8 +279,8 @@ github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/
github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no= github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/martian/v3 v3.3.2 h1:IqNFLAmvJOgVlpdEBiQbDc2EwKW77amAycfTuWKdfvw= github.com/google/martian/v3 v3.3.3 h1:DIhPTQrbPkgs2yJYdXU/eNACCG5DVQjySNRNlflZ9Fc=
github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= github.com/google/martian/v3 v3.3.3/go.mod h1:iEPrYcgCF7jA9OtScMFQyAlZZ4YXTKEtJ1E6RWzmBA0=
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
@ -300,10 +298,10 @@ github.com/googleapis/enterprise-certificate-proxy v0.3.2 h1:Vie5ybvEvT75RniqhfF
github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
github.com/googleapis/gax-go/v2 v2.12.3 h1:5/zPPDvw8Q1SuXjrqrZslrqT7dL/uJT2CQii/cLCKqA= github.com/googleapis/gax-go/v2 v2.12.4 h1:9gWcmF85Wvq4ryPFvGFaOgPIs1AQX0d0bcbGw4Z96qg=
github.com/googleapis/gax-go/v2 v2.12.3/go.mod h1:AKloxT6GtNbaLm8QTNSidHUVsHYcBHwWRvkNFJUQcS4= github.com/googleapis/gax-go/v2 v2.12.4/go.mod h1:KYEYLorsnIGDi/rPC8b5TdlB9kbKoFubselGIoBMCwI=
github.com/gophercloud/gophercloud v1.8.0 h1:TM3Jawprb2NrdOnvcHhWJalmKmAmOGgfZElM/3oBYCk= github.com/gophercloud/gophercloud v1.11.0 h1:ls0O747DIq1D8SUHc7r2vI8BFbMLeLFuENaAIfEx7OM=
github.com/gophercloud/gophercloud v1.8.0/go.mod h1:aAVqcocTSXh2vYFZ1JTvx4EQmfgzxRcNupUfxZbBNDM= github.com/gophercloud/gophercloud v1.11.0/go.mod h1:aAVqcocTSXh2vYFZ1JTvx4EQmfgzxRcNupUfxZbBNDM=
github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc= github.com/gorilla/websocket v1.5.0 h1:PPwGk2jz7EePpoHN/+ClbZu8SPxiqlu12wZP/3sWmnc=
github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/grafana/regexp v0.0.0-20221122212121-6b5c0a4cb7fd h1:PpuIBO5P3e9hpqBD0O/HjhShYuM6XE0i/lbE6J94kww= github.com/grafana/regexp v0.0.0-20221122212121-6b5c0a4cb7fd h1:PpuIBO5P3e9hpqBD0O/HjhShYuM6XE0i/lbE6J94kww=
@ -332,12 +330,12 @@ github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.6.0 h1:uL2shRDx7RTrOrTCUZEGP/wJUFiUI8QT6E7z5o8jga4= github.com/hashicorp/golang-lru v0.6.0 h1:uL2shRDx7RTrOrTCUZEGP/wJUFiUI8QT6E7z5o8jga4=
github.com/hashicorp/golang-lru v0.6.0/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= github.com/hashicorp/golang-lru v0.6.0/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4=
github.com/hashicorp/nomad/api v0.0.0-20240306004928-3e7191ccb702 h1:fI1LXuBaS1d9z1kmb++Og6YD8uMRwadXorCwE+xgOFA= github.com/hashicorp/nomad/api v0.0.0-20240418183417-ea5f2f6748c7 h1:pjE59CS2C9Bg+Xby0ROrnZSSBWtKwx3Sf9gqsrvIFSA=
github.com/hashicorp/nomad/api v0.0.0-20240306004928-3e7191ccb702/go.mod h1:z71gkJdrkAt/Rl6C7Q79VE7AwJ5lUF+M+fzFTyIHYB0= github.com/hashicorp/nomad/api v0.0.0-20240418183417-ea5f2f6748c7/go.mod h1:svtxn6QnrQ69P23VvIWMR34tg3vmwLz4UdUzm1dSCgE=
github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY= github.com/hashicorp/serf v0.10.1 h1:Z1H2J60yRKvfDYAOZLd2MU0ND4AH/WDz7xYHDWQsIPY=
github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4= github.com/hashicorp/serf v0.10.1/go.mod h1:yL2t6BqATOLGc5HF7qbFkTfXoPIY0WZdWHfEvMqbG+4=
github.com/hetznercloud/hcloud-go/v2 v2.6.0 h1:RJOA2hHZ7rD1pScA4O1NF6qhkHyUdbbxjHgFNot8928= github.com/hetznercloud/hcloud-go/v2 v2.7.2 h1:UlE7n1GQZacCfyjv9tDVUN7HZfOXErPIfM/M039u9A0=
github.com/hetznercloud/hcloud-go/v2 v2.6.0/go.mod h1:4J1cSE57+g0WS93IiHLV7ubTHItcp+awzeBp5bM9mfA= github.com/hetznercloud/hcloud-go/v2 v2.7.2/go.mod h1:49tIV+pXRJTUC7fbFZ03s45LKqSQdOPP5y91eOnJo/k=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4=
github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY=
@ -381,8 +379,8 @@ github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
github.com/linode/linodego v1.29.0 h1:gDSQWAbKMAQX8db9FDCXHhodQPrJmLcmthjx6m+PyV4= github.com/linode/linodego v1.32.0 h1:OmZzB3iON6uu84VtLFf64uKmAQqJJarvmsVguroioPI=
github.com/linode/linodego v1.29.0/go.mod h1:3k6WvCM10gillgYcnoLqIL23ST27BD9HhMsCJWb3Bpk= github.com/linode/linodego v1.32.0/go.mod h1:y8GDP9uLVH4jTB9qyrgw79qfKdYJmNCGUOJmfuiOcmI=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA= github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
@ -393,12 +391,14 @@ github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D
github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U= github.com/mattn/go-runewidth v0.0.15 h1:UNAjwbU9l54TA3KzvqLGxwWjHmMgBUVhBiTjelZgg3U=
github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-runewidth v0.0.15/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/miekg/dns v1.1.58 h1:ca2Hdkz+cDg/7eNF6V56jjzuZ4aCAE+DbVkILdQWG/4= github.com/miekg/dns v1.1.59 h1:C9EXc/UToRwKLhK5wKU/I4QVsBUc8kE6MkHBkeypWZs=
github.com/miekg/dns v1.1.58/go.mod h1:Ypv+3b/KadlvW9vJfXOTf300O4UqaHFzFCuHz+rPkBY= github.com/miekg/dns v1.1.59/go.mod h1:nZpewl5p6IvctfgrckopVx2OlSEHPRO/U4SYkRklrEk=
github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y=
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0=
github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo=
github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg=
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
@ -432,8 +432,8 @@ github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXP
github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo=
github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M=
github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0=
github.com/prometheus/client_golang v1.19.0 h1:ygXvpU1AoN1MhdzckN+PyD9QJOSD4x7kmXYlnfbA6JU= github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE=
github.com/prometheus/client_golang v1.19.0/go.mod h1:ZRM9uEAypZakd+q/x7+gmsvXdURP+DABIEIjnmDdp+k= github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
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=
@ -444,28 +444,28 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc=
github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls=
github.com/prometheus/common v0.52.3 h1:5f8uj6ZwHSscOGNdIQg6OiZv/ybiK2CO2q2drVZAQSA= github.com/prometheus/common v0.53.0 h1:U2pL9w9nmJwJDa4qqLQ3ZaePJ6ZTwt7cMD3AG3+aLCE=
github.com/prometheus/common v0.52.3/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U= github.com/prometheus/common v0.53.0/go.mod h1:BrxBKv3FWBIGXw89Mg1AeBq7FSyRzXWI3l3e7W3RN5U=
github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4= github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4=
github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU=
github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
github.com/prometheus/procfs v0.13.0 h1:GqzLlQyfsPbaEHaQkO7tbDlriv/4o5Hudv6OXHGKX7o= github.com/prometheus/procfs v0.14.0 h1:Lw4VdGGoKEZilJsayHf0B+9YgLGREba2C6xr+Fdfq6s=
github.com/prometheus/procfs v0.13.0/go.mod h1:cd4PFCR54QLnGKPaKGA6l+cfuNXtht43ZKY6tow0Y1g= github.com/prometheus/procfs v0.14.0/go.mod h1:XL+Iwz8k8ZabyZfMFHPiilCniixqQarAy5Mu67pHlNQ=
github.com/prometheus/prometheus v0.51.2 h1:U0faf1nT4CB9DkBW87XLJCBi2s8nwWXdTbyzRUAkX0w= github.com/prometheus/prometheus v0.52.0 h1:f7kHJgr7+zShpWdTCeKqbCWR7nKTScgLYQwRux9h1V0=
github.com/prometheus/prometheus v0.51.2/go.mod h1:yv4MwOn3yHMQ6MZGHPg/U7Fcyqf+rxqiZfSur6myVtc= github.com/prometheus/prometheus v0.52.0/go.mod h1:3z74cVsmVH0iXOR5QBjB7Pa6A0KJeEAK5A6UsmAFb1g=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= github.com/rogpeppe/go-internal v1.12.0 h1:exVL4IDcn6na9z1rAb56Vxr+CgyK3nn3O+epU5NdKM8=
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4=
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.25 h1:/8rfZAdFfafRXOgz+ZpMZZWZ5pYggCY9t7e/BvjaBHM= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.26 h1:F+GIVtGqCFxPxO46ujf8cEOP574MBoRm3gNbPXECbxs=
github.com/scaleway/scaleway-sdk-go v1.0.0-beta.25/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg= github.com/scaleway/scaleway-sdk-go v1.0.0-beta.26/go.mod h1:fCa7OJZ/9DRTnOKmxvT6pn+LPWUptQAmHF/SBJUGEcg=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88=
@ -486,8 +486,8 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
github.com/urfave/cli/v2 v2.27.1 h1:8xSQ6szndafKVRmfyeUMxkNUJQMjL1F2zmsZ+qHpfho= github.com/urfave/cli/v2 v2.27.2 h1:6e0H+AkS+zDckwPCUrZkKX38mRaau4nL2uipkJpbkcI=
github.com/urfave/cli/v2 v2.27.1/go.mod h1:8qnjx1vcq5s2/wpsqoZFndg2CE5tNFyrTvS6SinrnYQ= github.com/urfave/cli/v2 v2.27.2/go.mod h1:g0+79LmHHATl7DAcHO99smiR/T7uGLw84w8Y42x+4eM=
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
github.com/valyala/fasthttp v1.30.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus= github.com/valyala/fasthttp v1.30.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus=
@ -519,24 +519,24 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0=
go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo=
go.opentelemetry.io/collector/featuregate v1.5.0 h1:uK8qnYQKz1TMkK+FDTFsywg/EybW/gbnOUaPNUkRznM= go.opentelemetry.io/collector/featuregate v1.7.0 h1:8tNgX2VaiR9jrpZevRSvStuJrvvL6WwScT264HNLk7U=
go.opentelemetry.io/collector/featuregate v1.5.0/go.mod h1:w7nUODKxEi3FLf1HslCiE6YWtMtOOrMnSwsDam8Mg9w= go.opentelemetry.io/collector/featuregate v1.7.0/go.mod h1:w7nUODKxEi3FLf1HslCiE6YWtMtOOrMnSwsDam8Mg9w=
go.opentelemetry.io/collector/pdata v1.5.0 h1:1fKTmUpr0xCOhP/B0VEvtz7bYPQ45luQ8XFyA07j8LE= go.opentelemetry.io/collector/pdata v1.7.0 h1:/WNsBbE6KM3TTPUb9v/5B7IDqnDkgf8GyFhVJJqu7II=
go.opentelemetry.io/collector/pdata v1.5.0/go.mod h1:TYj8aKRWZyT/KuKQXKyqSEvK/GV+slFaDMEI+Ke64Yw= go.opentelemetry.io/collector/pdata v1.7.0/go.mod h1:ehCBBA5GoFrMZkwyZAKGY/lAVSgZf6rzUt3p9mddmPU=
go.opentelemetry.io/collector/semconv v0.98.0 h1:zO4L4TmlxXoYu8UgPeYElGY19BW7wPjM+quL5CzoOoY= go.opentelemetry.io/collector/semconv v0.100.0 h1:QArUvWcbmsMjM4PV0zngUHRizZeUXibsPBWjDuNJXAs=
go.opentelemetry.io/collector/semconv v0.98.0/go.mod h1:8ElcRZ8Cdw5JnvhTOQOdYizkJaQ10Z2fS+R6djOnj6A= go.opentelemetry.io/collector/semconv v0.100.0/go.mod h1:8ElcRZ8Cdw5JnvhTOQOdYizkJaQ10Z2fS+R6djOnj6A=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.50.0 h1:zvpPXY7RfYAGSdYQLjp6zxdJNSYD/+FFoCTQN9IPxBs= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.51.0 h1:A3SayB3rNyt+1S6qpI9mHPkeHTZbD7XILEqWnYZb2l0=
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.50.0/go.mod h1:BMn8NB1vsxTljvuorms2hyOs8IBuuBEq0pl7ltOfy30= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.51.0/go.mod h1:27iA5uvhuRNmalO+iEUdVn5ZMj2qy10Mm+XRIpRmyuU=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.50.0 h1:cEPbyTSEHlQR89XVlyo78gqluF8Y3oMeBkXGWzQsfXY= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.51.0 h1:Xs2Ncz0gNihqu9iosIZ5SkBbWo5T8JhhLJFMQL1qmLI=
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.50.0/go.mod h1:DKdbWcT4GH1D0Y3Sqt/PFXt2naRKDWtU+eE6oLdFNA8= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.51.0/go.mod h1:vy+2G/6NvVMpwGX/NyLqcC41fxepnuKHk16E6IZUcJc=
go.opentelemetry.io/otel v1.25.0 h1:gldB5FfhRl7OJQbUHt/8s0a7cE8fbsPAtdpRaApKy4k= go.opentelemetry.io/otel v1.26.0 h1:LQwgL5s/1W7YiiRwxf03QGnWLb2HW4pLiAhaA5cZXBs=
go.opentelemetry.io/otel v1.25.0/go.mod h1:Wa2ds5NOXEMkCmUou1WA7ZBfLTHWIsp034OVD7AO+Vg= go.opentelemetry.io/otel v1.26.0/go.mod h1:UmLkJHUAidDval2EICqBMbnAd0/m2vmpf/dAM+fvFs4=
go.opentelemetry.io/otel/metric v1.25.0 h1:LUKbS7ArpFL/I2jJHdJcqMGxkRdxpPHE0VU/D4NuEwA= go.opentelemetry.io/otel/metric v1.26.0 h1:7S39CLuY5Jgg9CrnA9HHiEjGMF/X2VHvoXGgSllRz30=
go.opentelemetry.io/otel/metric v1.25.0/go.mod h1:rkDLUSd2lC5lq2dFNrX9LGAbINP5B7WBkC78RXCpH5s= go.opentelemetry.io/otel/metric v1.26.0/go.mod h1:SY+rHOI4cEawI9a7N1A4nIg/nTQXe1ccCNWYOJUrpX4=
go.opentelemetry.io/otel/sdk v1.24.0 h1:YMPPDNymmQN3ZgczicBY3B6sf9n62Dlj9pWD3ucgoDw= go.opentelemetry.io/otel/sdk v1.25.0 h1:PDryEJPC8YJZQSyLY5eqLeafHtG+X7FWnf3aXMtxbqo=
go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= go.opentelemetry.io/otel/sdk v1.25.0/go.mod h1:oFgzCM2zdsxKzz6zwpTZYLLQsFwc+K0daArPdIhuxkw=
go.opentelemetry.io/otel/trace v1.25.0 h1:tqukZGLwQYRIFtSQM2u2+yfMVTgGVeqRLPUYx1Dq6RM= go.opentelemetry.io/otel/trace v1.26.0 h1:1ieeAUb4y0TE26jUFrCIXKpTuVK7uJGN9/Z/2LP5sQA=
go.opentelemetry.io/otel/trace v1.25.0/go.mod h1:hCCs70XM/ljO+BeQkyFnbK28SBIJ/Emuha+ccrCRT7I= go.opentelemetry.io/otel/trace v1.26.0/go.mod h1:4iDxvGDQuUkHve82hJJ8UqrwswHYsZuWCBllGV2U2y0=
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE= go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto=
@ -550,8 +550,8 @@ golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8U
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8=
golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI=
golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@ -562,8 +562,8 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0
golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f h1:99ci1mjWVBWwJiEKYY6jWa4d2nTQVIEhZIptnrVb1XY= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842 h1:vr/HnozRka3pE4EsMEg1lgkXJkTFJCVUX+S/ZT6wYzM=
golang.org/x/exp v0.0.0-20240416160154-fe59bbe5cc7f/go.mod h1:/lliqkxwWAhPjf5oSOIJup2XcqJaw8RGS6k3TGEc7GI= golang.org/x/exp v0.0.0-20240506185415-9bf2ced13842/go.mod h1:XtvwrStGgqGPLc4cjQfWqZHG1YFdYs6swckp8vpsjnc=
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
@ -619,16 +619,16 @@ golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwY
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.24.0 h1:1PcaxkF854Fu3+lvBIx5SYn9wRlBzzcnHZSiaFFAb0w= golang.org/x/net v0.25.0 h1:d/OCCoBEUq33pjydKrGQhw7IlUPI2Oylr+8qLx49kac=
golang.org/x/net v0.24.0/go.mod h1:2Q7sJY5mzlzWjKtYUEXSlBWCdyaioyXzRB2RtU8KVE8= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.19.0 h1:9+E/EZBCbTLNrbN35fHv/a/d/mOBatymz1zbtQrXpIg= golang.org/x/oauth2 v0.20.0 h1:4mQdhULixXKP1rwYBW0vAijoXnkTG0BLCDRzfe1idMo=
golang.org/x/oauth2 v0.19.0/go.mod h1:vYi7skDa1x015PmRRYZ7+s1cWyPgrPiSYRe4rnsexc8= golang.org/x/oauth2 v0.20.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@ -684,19 +684,19 @@ golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y=
golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.19.0 h1:+ThwsDv+tYfnJFhF4L8jITxu1tdTWRTZpdsWgEgjL6Q= golang.org/x/term v0.20.0 h1:VnkxpohqXaOBYJtBmEppKUG6mXpi+4O6purfc2+sMhw=
golang.org/x/term v0.19.0/go.mod h1:2CuTdWZ7KHSQwUzKva0cbMg6q2DMI3Mmxp+gKJbskEk= golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk=
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@ -744,8 +744,8 @@ golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc
golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.20.0 h1:hz/CVckiOxybQvFw6h7b/q80NTr9IUQb4s1IIzW7KNY= golang.org/x/tools v0.21.0 h1:qc0xYgIbsSDt9EyWz05J5wfa7LOVW0YTLOXrqdLAWIw=
golang.org/x/tools v0.20.0/go.mod h1:WvitBU7JJf6A4jOdg4S1tviW9bhUxkgeCui/0JHctQg= golang.org/x/tools v0.21.0/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/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-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=
@ -768,8 +768,8 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
google.golang.org/api v0.174.0 h1:zB1BWl7ocxfTea2aQ9mgdzXjnfPySllpPOskdnO+q34= google.golang.org/api v0.180.0 h1:M2D87Yo0rGBPWpo1orwfCLehUUL6E7/TYe5gvMQWDh4=
google.golang.org/api v0.174.0/go.mod h1:aC7tB6j0HR1Nl0ni5ghpx6iLasmAX78Zkh/wgxAAjLg= google.golang.org/api v0.180.0/go.mod h1:51AiyoEg1MJPSZ9zvklA8VnRILPXxn1iVen9v25XHAE=
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/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@ -805,12 +805,12 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc
google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20240415180920-8c6c420018be h1:g4aX8SUFA8V5F4LrSY5EclyGYw1OZN4HS1jTyjB9ZDc= google.golang.org/genproto v0.0.0-20240509183442-62759503f434 h1:+PQKEGakpJad0y8bF9UJlgg4dO2U5H+cydccJNjzkww=
google.golang.org/genproto v0.0.0-20240415180920-8c6c420018be/go.mod h1:FeSdT5fk+lkxatqJP38MsUicGqHax5cLtmy/6TAuxO4= google.golang.org/genproto v0.0.0-20240509183442-62759503f434/go.mod h1:i4np6Wrjp8EujFAUn0CM0SH+iZhY1EbrfzEIJbFkHFM=
google.golang.org/genproto/googleapis/api v0.0.0-20240415180920-8c6c420018be h1:Zz7rLWqp0ApfsR/l7+zSHhY3PMiH2xqgxlfYfAfNpoU= google.golang.org/genproto/googleapis/api v0.0.0-20240509183442-62759503f434 h1:OpXbo8JnN8+jZGPrL4SSfaDjSCjupr8lXyBAbexEm/U=
google.golang.org/genproto/googleapis/api v0.0.0-20240415180920-8c6c420018be/go.mod h1:dvdCTIoAGbkWbcIKBniID56/7XHTt6WfxXNMxuziJ+w= google.golang.org/genproto/googleapis/api v0.0.0-20240509183442-62759503f434/go.mod h1:FfiGhwUm6CJviekPrc0oJ+7h29e+DmWU6UtjX0ZvI7Y=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be h1:LG9vZxsWGOmUKieR8wPAUR3u3MpnYFQZROPIMaXh7/A= google.golang.org/genproto/googleapis/rpc v0.0.0-20240509183442-62759503f434 h1:umK/Ey0QEzurTNlsV3R+MfxHAb78HCEX/IkuR+zH4WQ=
google.golang.org/genproto/googleapis/rpc v0.0.0-20240415180920-8c6c420018be/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240509183442-62759503f434/go.mod h1:I7Y+G38R2bu5j1aLzfFmQfTcU/WnFuqDwLZAbvKTKpM=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
@ -837,8 +837,8 @@ google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpAD
google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= google.golang.org/protobuf v1.34.1 h1:9ddQBjfCyZPOHPUiPxpYESBLc+T8P3E+Vo4IbKZgFWg=
google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
@ -868,18 +868,18 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh
honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
k8s.io/api v0.29.4 h1:WEnF/XdxuCxdG3ayHNRR8yH3cI1B/llkWBma6bq4R3w= k8s.io/api v0.30.0 h1:siWhRq7cNjy2iHssOB9SCGNCl2spiF1dO3dABqZ8niA=
k8s.io/api v0.29.4/go.mod h1:DetSv0t4FBTcEpfA84NJV3g9a7+rSzlUHk5ADAYHUv0= k8s.io/api v0.30.0/go.mod h1:OPlaYhoHs8EQ1ql0R/TsUgaRPhpKNxIMrKQfWUp8QSE=
k8s.io/apimachinery v0.29.4 h1:RaFdJiDmuKs/8cm1M6Dh1Kvyh59YQFDcFuFTSmXes6Q= k8s.io/apimachinery v0.30.0 h1:qxVPsyDM5XS96NIh9Oj6LavoVFYff/Pon9cZeDIkHHA=
k8s.io/apimachinery v0.29.4/go.mod h1:i3FJVwhvSp/6n8Fl4K97PJEP8C+MM+aoDq4+ZJBf70Y= k8s.io/apimachinery v0.30.0/go.mod h1:iexa2somDaxdnj7bha06bhb43Zpa6eWH8N8dbqVjTUc=
k8s.io/client-go v0.29.4 h1:79ytIedxVfyXV8rpH3jCBW0u+un0fxHDwX5F9K8dPR8= k8s.io/client-go v0.30.0 h1:sB1AGGlhY/o7KCyCEQ0bPWzYDL0pwOZO4vAtTSh/gJQ=
k8s.io/client-go v0.29.4/go.mod h1:kC1thZQ4zQWYwldsfI088BbK6RkxK+aF5ebV8y9Q4tk= k8s.io/client-go v0.30.0/go.mod h1:g7li5O5256qe6TYdAMyX/otJqMhIiGgTapdLchhmOaY=
k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw= k8s.io/klog/v2 v2.120.1 h1:QXU6cPEOIslTGvZaXvFWiP9VKyeet3sawzTOvdXb4Vw=
k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/klog/v2 v2.120.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE=
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00 h1:aVUu9fTY98ivBPKR9Y5w/AuzbMm96cd3YHRTU83I780= k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340 h1:BZqlfIlq5YbRMFko6/PM7FjZpUb45WallggurYhKGag=
k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= k8s.io/kube-openapi v0.0.0-20240228011516-70dd3763d340/go.mod h1:yD4MZYeKMBwQKVht279WycxKyM84kkAx2DPrTXaeb98=
k8s.io/utils v0.0.0-20240310230437-4693a0247e57 h1:gbqbevonBh57eILzModw6mrkbwM0gQBEuevE/AaBsHY= k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0 h1:jgGTlFYnhF1PM1Ax/lAlxUPE+KfCIXHaathvJg1C3ak=
k8s.io/utils v0.0.0-20240310230437-4693a0247e57/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= k8s.io/utils v0.0.0-20240502163921-fe8a2dddb1d0/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0=
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=

View file

@ -1,5 +1,51 @@
# Changelog # Changelog
## [0.4.1](https://github.com/googleapis/google-cloud-go/compare/auth/v0.4.0...auth/v0.4.1) (2024-05-09)
### Bug Fixes
* **auth:** Don't try to detect default creds it opt configured ([#10143](https://github.com/googleapis/google-cloud-go/issues/10143)) ([804632e](https://github.com/googleapis/google-cloud-go/commit/804632e7c5b0b85ff522f7951114485e256eb5bc))
## [0.4.0](https://github.com/googleapis/google-cloud-go/compare/auth/v0.3.0...auth/v0.4.0) (2024-05-07)
### Features
* **auth:** Enable client certificates by default ([#10102](https://github.com/googleapis/google-cloud-go/issues/10102)) ([9013e52](https://github.com/googleapis/google-cloud-go/commit/9013e5200a6ec0f178ed91acb255481ffb073a2c))
### Bug Fixes
* **auth:** Get s2a logic up to date ([#10093](https://github.com/googleapis/google-cloud-go/issues/10093)) ([4fe9ae4](https://github.com/googleapis/google-cloud-go/commit/4fe9ae4b7101af2a5221d6d6b2e77b479305bb06))
## [0.3.0](https://github.com/googleapis/google-cloud-go/compare/auth/v0.2.2...auth/v0.3.0) (2024-04-23)
### Features
* **auth/httptransport:** Add ability to customize transport ([#10023](https://github.com/googleapis/google-cloud-go/issues/10023)) ([72c7f6b](https://github.com/googleapis/google-cloud-go/commit/72c7f6bbec3136cc7a62788fc7186bc33ef6c3b3)), refs [#9812](https://github.com/googleapis/google-cloud-go/issues/9812) [#9814](https://github.com/googleapis/google-cloud-go/issues/9814)
### Bug Fixes
* **auth/credentials:** Error on bad file name if explicitly set ([#10018](https://github.com/googleapis/google-cloud-go/issues/10018)) ([55beaa9](https://github.com/googleapis/google-cloud-go/commit/55beaa993aaf052d8be39766afc6777c3c2a0bdd)), refs [#9809](https://github.com/googleapis/google-cloud-go/issues/9809)
## [0.2.2](https://github.com/googleapis/google-cloud-go/compare/auth/v0.2.1...auth/v0.2.2) (2024-04-19)
### Bug Fixes
* **auth:** Add internal opt to skip validation on transports ([#9999](https://github.com/googleapis/google-cloud-go/issues/9999)) ([9e20ef8](https://github.com/googleapis/google-cloud-go/commit/9e20ef89f6287d6bd03b8697d5898dc43b4a77cf)), refs [#9823](https://github.com/googleapis/google-cloud-go/issues/9823)
* **auth:** Set secure flag for gRPC conn pools ([#10002](https://github.com/googleapis/google-cloud-go/issues/10002)) ([14e3956](https://github.com/googleapis/google-cloud-go/commit/14e3956dfd736399731b5ee8d9b178ae085cf7ba)), refs [#9833](https://github.com/googleapis/google-cloud-go/issues/9833)
## [0.2.1](https://github.com/googleapis/google-cloud-go/compare/auth/v0.2.0...auth/v0.2.1) (2024-04-18)
### Bug Fixes
* **auth:** Default gRPC token type to Bearer if not set ([#9800](https://github.com/googleapis/google-cloud-go/issues/9800)) ([5284066](https://github.com/googleapis/google-cloud-go/commit/5284066670b6fe65d79089cfe0199c9660f87fc7))
## [0.2.0](https://github.com/googleapis/google-cloud-go/compare/auth/v0.1.1...auth/v0.2.0) (2024-04-15) ## [0.2.0](https://github.com/googleapis/google-cloud-go/compare/auth/v0.1.1...auth/v0.2.0) (2024-04-15)
### Breaking Changes ### Breaking Changes

View file

@ -76,7 +76,10 @@ func DetectDefault(opts *DetectOptions) (*auth.Credentials, error) {
if opts.CredentialsJSON != nil { if opts.CredentialsJSON != nil {
return readCredentialsFileJSON(opts.CredentialsJSON, opts) return readCredentialsFileJSON(opts.CredentialsJSON, opts)
} }
if filename := credsfile.GetFileNameFromEnv(opts.CredentialsFile); filename != "" { if opts.CredentialsFile != "" {
return readCredentialsFile(opts.CredentialsFile, opts)
}
if filename := os.Getenv(credsfile.GoogleAppCredsEnvVar); filename != "" {
if creds, err := readCredentialsFile(filename, opts); err == nil { if creds, err := readCredentialsFile(filename, opts); err == nil {
return creds, err return creds, err
} }

View file

@ -96,6 +96,9 @@ func (o *Options) validate() error {
if o == nil { if o == nil {
return errors.New("grpctransport: opts required to be non-nil") return errors.New("grpctransport: opts required to be non-nil")
} }
if o.InternalOptions != nil && o.InternalOptions.SkipValidation {
return nil
}
hasCreds := o.Credentials != nil || hasCreds := o.Credentials != nil ||
(o.DetectOpts != nil && len(o.DetectOpts.CredentialsJSON) > 0) || (o.DetectOpts != nil && len(o.DetectOpts.CredentialsJSON) > 0) ||
(o.DetectOpts != nil && o.DetectOpts.CredentialsFile != "") (o.DetectOpts != nil && o.DetectOpts.CredentialsFile != "")
@ -151,6 +154,9 @@ type InternalOptions struct {
// DefaultScopes specifies the default OAuth2 scopes to be used for a // DefaultScopes specifies the default OAuth2 scopes to be used for a
// service. // service.
DefaultScopes []string DefaultScopes []string
// SkipValidation bypasses validation on Options. It should only be used
// internally for clients that needs more control over their transport.
SkipValidation bool
} }
// Dial returns a GRPCClientConnPool that can be used to communicate with a // Dial returns a GRPCClientConnPool that can be used to communicate with a
@ -169,7 +175,7 @@ func Dial(ctx context.Context, secure bool, opts *Options) (GRPCClientConnPool,
} }
pool := &roundRobinConnPool{} pool := &roundRobinConnPool{}
for i := 0; i < opts.PoolSize; i++ { for i := 0; i < opts.PoolSize; i++ {
conn, err := dial(ctx, false, opts) conn, err := dial(ctx, secure, opts)
if err != nil { if err != nil {
// ignore close error, if any // ignore close error, if any
defer pool.Close() defer pool.Close()
@ -190,6 +196,8 @@ func dial(ctx context.Context, secure bool, opts *Options) (*grpc.ClientConn, er
if io := opts.InternalOptions; io != nil { if io := opts.InternalOptions; io != nil {
tOpts.DefaultEndpointTemplate = io.DefaultEndpointTemplate tOpts.DefaultEndpointTemplate = io.DefaultEndpointTemplate
tOpts.DefaultMTLSEndpoint = io.DefaultMTLSEndpoint tOpts.DefaultMTLSEndpoint = io.DefaultMTLSEndpoint
tOpts.EnableDirectPath = io.EnableDirectPath
tOpts.EnableDirectPathXds = io.EnableDirectPathXds
} }
transportCreds, endpoint, err := transport.GetGRPCTransportCredsAndEndpoint(tOpts) transportCreds, endpoint, err := transport.GetGRPCTransportCredsAndEndpoint(tOpts)
if err != nil { if err != nil {
@ -208,12 +216,16 @@ func dial(ctx context.Context, secure bool, opts *Options) (*grpc.ClientConn, er
// Authentication can only be sent when communicating over a secure connection. // Authentication can only be sent when communicating over a secure connection.
if !opts.DisableAuthentication { if !opts.DisableAuthentication {
metadata := opts.Metadata metadata := opts.Metadata
creds, err := credentials.DetectDefault(opts.resolveDetectOptions())
if err != nil { var creds *auth.Credentials
return nil, err
}
if opts.Credentials != nil { if opts.Credentials != nil {
creds = opts.Credentials creds = opts.Credentials
} else {
var err error
creds, err = credentials.DetectDefault(opts.resolveDetectOptions())
if err != nil {
return nil, err
}
} }
qp, err := creds.QuotaProjectID(ctx) qp, err := creds.QuotaProjectID(ctx)
@ -287,15 +299,24 @@ func (c *grpcCredentialsProvider) GetRequestMetadata(ctx context.Context, uri ..
return nil, fmt.Errorf("unable to transfer credentials PerRPCCredentials: %v", err) return nil, fmt.Errorf("unable to transfer credentials PerRPCCredentials: %v", err)
} }
} }
metadata := map[string]string{ metadata := make(map[string]string, len(c.metadata)+1)
"authorization": token.Type + " " + token.Value, setAuthMetadata(token, metadata)
}
for k, v := range c.metadata { for k, v := range c.metadata {
metadata[k] = v metadata[k] = v
} }
return metadata, nil return metadata, nil
} }
// setAuthMetadata uses the provided token to set the Authorization metadata.
// If the token.Type is empty, the type is assumed to be Bearer.
func setAuthMetadata(token *auth.Token, m map[string]string) {
typ := token.Type
if typ == "" {
typ = internal.TokenTypeBearer
}
m["authorization"] = typ + " " + token.Value
}
func (c *grpcCredentialsProvider) RequireTransportSecurity() bool { func (c *grpcCredentialsProvider) RequireTransportSecurity() bool {
return c.secure return c.secure
} }

View file

@ -44,6 +44,9 @@ type Options struct {
// Headers are extra HTTP headers that will be appended to every outgoing // Headers are extra HTTP headers that will be appended to every outgoing
// request. // request.
Headers http.Header Headers http.Header
// BaseRoundTripper overrides the base transport used for serving requests.
// If specified ClientCertProvider is ignored.
BaseRoundTripper http.RoundTripper
// Endpoint overrides the default endpoint to be used for a service. // Endpoint overrides the default endpoint to be used for a service.
Endpoint string Endpoint string
// APIKey specifies an API key to be used as the basis for authentication. // APIKey specifies an API key to be used as the basis for authentication.
@ -74,6 +77,9 @@ func (o *Options) validate() error {
if o == nil { if o == nil {
return errors.New("httptransport: opts required to be non-nil") return errors.New("httptransport: opts required to be non-nil")
} }
if o.InternalOptions != nil && o.InternalOptions.SkipValidation {
return nil
}
hasCreds := o.APIKey != "" || hasCreds := o.APIKey != "" ||
o.Credentials != nil || o.Credentials != nil ||
(o.DetectOpts != nil && len(o.DetectOpts.CredentialsJSON) > 0) || (o.DetectOpts != nil && len(o.DetectOpts.CredentialsJSON) > 0) ||
@ -131,6 +137,9 @@ type InternalOptions struct {
// DefaultScopes specifies the default OAuth2 scopes to be used for a // DefaultScopes specifies the default OAuth2 scopes to be used for a
// service. // service.
DefaultScopes []string DefaultScopes []string
// SkipValidation bypasses validation on Options. It should only be used
// internally for clients that needs more control over their transport.
SkipValidation bool
} }
// AddAuthorizationMiddleware adds a middleware to the provided client's // AddAuthorizationMiddleware adds a middleware to the provided client's
@ -175,7 +184,11 @@ func NewClient(opts *Options) (*http.Client, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
trans, err := newTransport(defaultBaseTransport(clientCertProvider, dialTLSContext), opts) baseRoundTripper := opts.BaseRoundTripper
if baseRoundTripper == nil {
baseRoundTripper = defaultBaseTransport(clientCertProvider, dialTLSContext)
}
trans, err := newTransport(baseRoundTripper, opts)
if err != nil { if err != nil {
return nil, err return nil, err
} }

View file

@ -58,9 +58,15 @@ func newTransport(base http.RoundTripper, opts *Options) (http.RoundTripper, err
Key: opts.APIKey, Key: opts.APIKey,
} }
default: default:
creds, err := credentials.DetectDefault(opts.resolveDetectOptions()) var creds *auth.Credentials
if err != nil { if opts.Credentials != nil {
return nil, err creds = opts.Credentials
} else {
var err error
creds, err = credentials.DetectDefault(opts.resolveDetectOptions())
if err != nil {
return nil, err
}
} }
qp, err := creds.QuotaProjectID(context.Background()) qp, err := creds.QuotaProjectID(context.Background())
if err != nil { if err != nil {
@ -72,10 +78,6 @@ func newTransport(base http.RoundTripper, opts *Options) (http.RoundTripper, err
} }
headers.Set(quotaProjectHeaderKey, qp) headers.Set(quotaProjectHeaderKey, qp)
} }
if opts.Credentials != nil {
creds = opts.Credentials
}
creds.TokenProvider = auth.NewCachedTokenProvider(creds.TokenProvider, nil) creds.TokenProvider = auth.NewCachedTokenProvider(creds.TokenProvider, nil)
trans = &authTransport{ trans = &authTransport{
base: trans, base: trans,

View file

@ -61,6 +61,8 @@ type Options struct {
ClientCertProvider cert.Provider ClientCertProvider cert.Provider
Client *http.Client Client *http.Client
UniverseDomain string UniverseDomain string
EnableDirectPath bool
EnableDirectPathXds bool
} }
// getUniverseDomain returns the default service domain for a given Cloud // getUniverseDomain returns the default service domain for a given Cloud
@ -195,10 +197,7 @@ func getTransportConfig(opts *Options) (*transportConfig, error) {
} }
s2aMTLSEndpoint := opts.DefaultMTLSEndpoint s2aMTLSEndpoint := opts.DefaultMTLSEndpoint
// If there is endpoint override, honor it.
if opts.Endpoint != "" {
s2aMTLSEndpoint = endpoint
}
s2aAddress := GetS2AAddress() s2aAddress := GetS2AAddress()
if s2aAddress == "" { if s2aAddress == "" {
return &defaultTransportConfig, nil return &defaultTransportConfig, nil
@ -217,10 +216,6 @@ func getTransportConfig(opts *Options) (*transportConfig, error) {
// A nil default source can be returned if the source does not exist. Any exceptions // A nil default source can be returned if the source does not exist. Any exceptions
// encountered while initializing the default source will be reported as client // encountered while initializing the default source will be reported as client
// error (ex. corrupt metadata file). // error (ex. corrupt metadata file).
//
// Important Note: For now, the environment variable GOOGLE_API_USE_CLIENT_CERTIFICATE
// must be set to "true" to allow certificate to be used (including user provided
// certificates). For details, see AIP-4114.
func getClientCertificateSource(opts *Options) (cert.Provider, error) { func getClientCertificateSource(opts *Options) (cert.Provider, error) {
if !isClientCertificateEnabled() { if !isClientCertificateEnabled() {
return nil, nil return nil, nil
@ -231,11 +226,14 @@ func getClientCertificateSource(opts *Options) (cert.Provider, error) {
} }
// isClientCertificateEnabled returns true by default, unless explicitly set to false via env var.
func isClientCertificateEnabled() bool { func isClientCertificateEnabled() bool {
// TODO(andyrzhao): Update default to return "true" after DCA feature is fully released. if value, ok := os.LookupEnv(googleAPIUseCertSource); ok {
// error as false is a good default // error as false is OK
b, _ := strconv.ParseBool(os.Getenv(googleAPIUseCertSource)) b, _ := strconv.ParseBool(value)
return b return b
}
return true
} }
type transportConfig struct { type transportConfig struct {

View file

@ -34,12 +34,6 @@ var (
// The period an MTLS config can be reused before needing refresh. // The period an MTLS config can be reused before needing refresh.
configExpiry = time.Hour configExpiry = time.Hour
// mtlsEndpointEnabledForS2A checks if the endpoint is indeed MTLS-enabled, so that we can use S2A for MTLS connection.
mtlsEndpointEnabledForS2A = func() bool {
// TODO(xmenxk): determine this via discovery config.
return true
}
// mdsMTLSAutoConfigSource is an instance of reuseMTLSConfigSource, with metadataMTLSAutoConfig as its config source. // mdsMTLSAutoConfigSource is an instance of reuseMTLSConfigSource, with metadataMTLSAutoConfig as its config source.
mtlsOnce sync.Once mtlsOnce sync.Once
) )
@ -165,19 +159,16 @@ func shouldUseS2A(clientCertSource cert.Provider, opts *Options) bool {
if !isGoogleS2AEnabled() { if !isGoogleS2AEnabled() {
return false return false
} }
// If DefaultMTLSEndpoint is not set and no endpoint override, skip S2A. // If DefaultMTLSEndpoint is not set or has endpoint override, skip S2A.
if opts.DefaultMTLSEndpoint == "" && opts.Endpoint == "" { if opts.DefaultMTLSEndpoint == "" || opts.Endpoint != "" {
return false
}
// If MTLS is not enabled for this endpoint, skip S2A.
if !mtlsEndpointEnabledForS2A() {
return false return false
} }
// If custom HTTP client is provided, skip S2A. // If custom HTTP client is provided, skip S2A.
if opts.Client != nil { if opts.Client != nil {
return false return false
} }
return true // If directPath is enabled, skip S2A.
return !opts.EnableDirectPath && !opts.EnableDirectPathXds
} }
func isGoogleS2AEnabled() bool { func isGoogleS2AEnabled() bool {

View file

@ -1,5 +1,19 @@
# Changelog # Changelog
## [0.2.2](https://github.com/googleapis/google-cloud-go/compare/auth/oauth2adapt/v0.2.1...auth/oauth2adapt/v0.2.2) (2024-04-23)
### Bug Fixes
* **auth/oauth2adapt:** Bump x/net to v0.24.0 ([ba31ed5](https://github.com/googleapis/google-cloud-go/commit/ba31ed5fda2c9664f2e1cf972469295e63deb5b4))
## [0.2.1](https://github.com/googleapis/google-cloud-go/compare/auth/oauth2adapt/v0.2.0...auth/oauth2adapt/v0.2.1) (2024-04-18)
### Bug Fixes
* **auth/oauth2adapt:** Adapt Token Types to be translated ([#9801](https://github.com/googleapis/google-cloud-go/issues/9801)) ([70f4115](https://github.com/googleapis/google-cloud-go/commit/70f411555ebbf2b71e6d425cc8d2030644c6b438)), refs [#9800](https://github.com/googleapis/google-cloud-go/issues/9800)
## [0.2.0](https://github.com/googleapis/google-cloud-go/compare/auth/oauth2adapt/v0.1.0...auth/oauth2adapt/v0.2.0) (2024-04-16) ## [0.2.0](https://github.com/googleapis/google-cloud-go/compare/auth/oauth2adapt/v0.1.0...auth/oauth2adapt/v0.2.0) (2024-04-16)

View file

@ -49,6 +49,7 @@ func (tp *tokenProviderAdapter) Token(context.Context) (*auth.Token, error) {
} }
return &auth.Token{ return &auth.Token{
Value: tok.AccessToken, Value: tok.AccessToken,
Type: tok.Type(),
Expiry: tok.Expiry, Expiry: tok.Expiry,
}, nil }, nil
} }
@ -77,6 +78,7 @@ func (ts *tokenSourceAdapter) Token() (*oauth2.Token, error) {
} }
return &oauth2.Token{ return &oauth2.Token{
AccessToken: tok.Value, AccessToken: tok.Value,
TokenType: tok.Type,
Expiry: tok.Expiry, Expiry: tok.Expiry,
}, nil }, nil
} }

View file

@ -1,6 +1,13 @@
# Changes # Changes
## [1.1.8](https://github.com/googleapis/google-cloud-go/compare/iam/v1.1.7...iam/v1.1.8) (2024-05-01)
### Bug Fixes
* **iam:** Bump x/net to v0.24.0 ([ba31ed5](https://github.com/googleapis/google-cloud-go/commit/ba31ed5fda2c9664f2e1cf972469295e63deb5b4))
## [1.1.7](https://github.com/googleapis/google-cloud-go/compare/iam/v1.1.6...iam/v1.1.7) (2024-03-14) ## [1.1.7](https://github.com/googleapis/google-cloud-go/compare/iam/v1.1.6...iam/v1.1.7) (2024-03-14)

View file

@ -14,8 +14,8 @@
// Code generated by protoc-gen-go. DO NOT EDIT. // Code generated by protoc-gen-go. DO NOT EDIT.
// versions: // versions:
// protoc-gen-go v1.32.0 // protoc-gen-go v1.33.0
// protoc v4.25.2 // protoc v4.25.3
// source: google/iam/v1/iam_policy.proto // source: google/iam/v1/iam_policy.proto
package iampb package iampb

View file

@ -14,8 +14,8 @@
// Code generated by protoc-gen-go. DO NOT EDIT. // Code generated by protoc-gen-go. DO NOT EDIT.
// versions: // versions:
// protoc-gen-go v1.32.0 // protoc-gen-go v1.33.0
// protoc v4.25.2 // protoc v4.25.3
// source: google/iam/v1/options.proto // source: google/iam/v1/options.proto
package iampb package iampb

View file

@ -14,8 +14,8 @@
// Code generated by protoc-gen-go. DO NOT EDIT. // Code generated by protoc-gen-go. DO NOT EDIT.
// versions: // versions:
// protoc-gen-go v1.32.0 // protoc-gen-go v1.33.0
// protoc v4.25.2 // protoc v4.25.3
// source: google/iam/v1/policy.proto // source: google/iam/v1/policy.proto
package iampb package iampb

View file

@ -339,6 +339,16 @@
"release_level": "preview", "release_level": "preview",
"library_type": "GAPIC_AUTO" "library_type": "GAPIC_AUTO"
}, },
"cloud.google.com/go/backupdr/apiv1": {
"api_shortname": "backupdr",
"distribution_name": "cloud.google.com/go/backupdr/apiv1",
"description": "Backup and DR Service API",
"language": "go",
"client_library_type": "generated",
"client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/backupdr/latest/apiv1",
"release_level": "preview",
"library_type": "GAPIC_AUTO"
},
"cloud.google.com/go/baremetalsolution/apiv2": { "cloud.google.com/go/baremetalsolution/apiv2": {
"api_shortname": "baremetalsolution", "api_shortname": "baremetalsolution",
"distribution_name": "cloud.google.com/go/baremetalsolution/apiv2", "distribution_name": "cloud.google.com/go/baremetalsolution/apiv2",
@ -649,6 +659,16 @@
"release_level": "stable", "release_level": "stable",
"library_type": "GAPIC_AUTO" "library_type": "GAPIC_AUTO"
}, },
"cloud.google.com/go/chat/apiv1": {
"api_shortname": "chat",
"distribution_name": "cloud.google.com/go/chat/apiv1",
"description": "Google Chat API",
"language": "go",
"client_library_type": "generated",
"client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/chat/latest/apiv1",
"release_level": "preview",
"library_type": "GAPIC_AUTO"
},
"cloud.google.com/go/cloudbuild/apiv1/v2": { "cloud.google.com/go/cloudbuild/apiv1/v2": {
"api_shortname": "cloudbuild", "api_shortname": "cloudbuild",
"distribution_name": "cloud.google.com/go/cloudbuild/apiv1/v2", "distribution_name": "cloud.google.com/go/cloudbuild/apiv1/v2",
@ -1369,6 +1389,16 @@
"release_level": "stable", "release_level": "stable",
"library_type": "GAPIC_AUTO" "library_type": "GAPIC_AUTO"
}, },
"cloud.google.com/go/identitytoolkit/apiv2": {
"api_shortname": "identitytoolkit",
"distribution_name": "cloud.google.com/go/identitytoolkit/apiv2",
"description": "Identity Toolkit API",
"language": "go",
"client_library_type": "generated",
"client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/identitytoolkit/latest/apiv2",
"release_level": "stable",
"library_type": "GAPIC_AUTO"
},
"cloud.google.com/go/ids/apiv1": { "cloud.google.com/go/ids/apiv1": {
"api_shortname": "ids", "api_shortname": "ids",
"distribution_name": "cloud.google.com/go/ids/apiv1", "distribution_name": "cloud.google.com/go/ids/apiv1",
@ -1539,6 +1569,16 @@
"release_level": "stable", "release_level": "stable",
"library_type": "GAPIC_AUTO" "library_type": "GAPIC_AUTO"
}, },
"cloud.google.com/go/maps/routeoptimization/apiv1": {
"api_shortname": "routeoptimization",
"distribution_name": "cloud.google.com/go/maps/routeoptimization/apiv1",
"description": "Route Optimization API",
"language": "go",
"client_library_type": "generated",
"client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/maps/latest/routeoptimization/apiv1",
"release_level": "preview",
"library_type": "GAPIC_AUTO"
},
"cloud.google.com/go/maps/routing/apiv2": { "cloud.google.com/go/maps/routing/apiv2": {
"api_shortname": "routes", "api_shortname": "routes",
"distribution_name": "cloud.google.com/go/maps/routing/apiv2", "distribution_name": "cloud.google.com/go/maps/routing/apiv2",
@ -1549,6 +1589,16 @@
"release_level": "stable", "release_level": "stable",
"library_type": "GAPIC_AUTO" "library_type": "GAPIC_AUTO"
}, },
"cloud.google.com/go/maps/solar/apiv1": {
"api_shortname": "solar",
"distribution_name": "cloud.google.com/go/maps/solar/apiv1",
"description": "Solar API",
"language": "go",
"client_library_type": "generated",
"client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/maps/latest/solar/apiv1",
"release_level": "preview",
"library_type": "GAPIC_AUTO"
},
"cloud.google.com/go/mediatranslation/apiv1beta1": { "cloud.google.com/go/mediatranslation/apiv1beta1": {
"api_shortname": "mediatranslation", "api_shortname": "mediatranslation",
"distribution_name": "cloud.google.com/go/mediatranslation/apiv1beta1", "distribution_name": "cloud.google.com/go/mediatranslation/apiv1beta1",
@ -2329,6 +2379,16 @@
"release_level": "preview", "release_level": "preview",
"library_type": "GAPIC_AUTO" "library_type": "GAPIC_AUTO"
}, },
"cloud.google.com/go/shopping/merchant/conversions/apiv1beta": {
"api_shortname": "merchantapi",
"distribution_name": "cloud.google.com/go/shopping/merchant/conversions/apiv1beta",
"description": "Merchant API",
"language": "go",
"client_library_type": "generated",
"client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/shopping/latest/merchant/conversions/apiv1beta",
"release_level": "preview",
"library_type": "GAPIC_AUTO"
},
"cloud.google.com/go/shopping/merchant/inventories/apiv1beta": { "cloud.google.com/go/shopping/merchant/inventories/apiv1beta": {
"api_shortname": "merchantapi", "api_shortname": "merchantapi",
"distribution_name": "cloud.google.com/go/shopping/merchant/inventories/apiv1beta", "distribution_name": "cloud.google.com/go/shopping/merchant/inventories/apiv1beta",
@ -2339,6 +2399,46 @@
"release_level": "preview", "release_level": "preview",
"library_type": "GAPIC_AUTO" "library_type": "GAPIC_AUTO"
}, },
"cloud.google.com/go/shopping/merchant/lfp/apiv1beta": {
"api_shortname": "merchantapi",
"distribution_name": "cloud.google.com/go/shopping/merchant/lfp/apiv1beta",
"description": "Merchant API",
"language": "go",
"client_library_type": "generated",
"client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/shopping/latest/merchant/lfp/apiv1beta",
"release_level": "preview",
"library_type": "GAPIC_AUTO"
},
"cloud.google.com/go/shopping/merchant/notifications/apiv1beta": {
"api_shortname": "merchantapi",
"distribution_name": "cloud.google.com/go/shopping/merchant/notifications/apiv1beta",
"description": "Merchant API",
"language": "go",
"client_library_type": "generated",
"client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/shopping/latest/merchant/notifications/apiv1beta",
"release_level": "preview",
"library_type": "GAPIC_AUTO"
},
"cloud.google.com/go/shopping/merchant/quota/apiv1beta": {
"api_shortname": "merchantapi",
"distribution_name": "cloud.google.com/go/shopping/merchant/quota/apiv1beta",
"description": "Merchant API",
"language": "go",
"client_library_type": "generated",
"client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/shopping/latest/merchant/quota/apiv1beta",
"release_level": "preview",
"library_type": "GAPIC_AUTO"
},
"cloud.google.com/go/shopping/merchant/reports/apiv1beta": {
"api_shortname": "merchantapi",
"distribution_name": "cloud.google.com/go/shopping/merchant/reports/apiv1beta",
"description": "Merchant API",
"language": "go",
"client_library_type": "generated",
"client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/shopping/latest/merchant/reports/apiv1beta",
"release_level": "preview",
"library_type": "GAPIC_AUTO"
},
"cloud.google.com/go/spanner": { "cloud.google.com/go/spanner": {
"api_shortname": "spanner", "api_shortname": "spanner",
"distribution_name": "cloud.google.com/go/spanner", "distribution_name": "cloud.google.com/go/spanner",
@ -2432,7 +2532,7 @@
"cloud.google.com/go/storage/control/apiv2": { "cloud.google.com/go/storage/control/apiv2": {
"api_shortname": "storage", "api_shortname": "storage",
"distribution_name": "cloud.google.com/go/storage/control/apiv2", "distribution_name": "cloud.google.com/go/storage/control/apiv2",
"description": "Cloud Storage API", "description": "Storage Control API",
"language": "go", "language": "go",
"client_library_type": "generated", "client_library_type": "generated",
"client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/storage/latest/control/apiv2", "client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/storage/latest/control/apiv2",
@ -2469,6 +2569,16 @@
"release_level": "stable", "release_level": "stable",
"library_type": "GAPIC_AUTO" "library_type": "GAPIC_AUTO"
}, },
"cloud.google.com/go/streetview/publish/apiv1": {
"api_shortname": "streetviewpublish",
"distribution_name": "cloud.google.com/go/streetview/publish/apiv1",
"description": "Street View Publish API",
"language": "go",
"client_library_type": "generated",
"client_documentation": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/streetview/latest/publish/apiv1",
"release_level": "preview",
"library_type": "GAPIC_AUTO"
},
"cloud.google.com/go/support/apiv2": { "cloud.google.com/go/support/apiv2": {
"api_shortname": "cloudsupport", "api_shortname": "cloudsupport",
"distribution_name": "cloud.google.com/go/support/apiv2", "distribution_name": "cloud.google.com/go/support/apiv2",

View file

@ -1,3 +1,11 @@
# 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) # v1.27.11 (2024-04-05)
* **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 config package config
// goModuleVersion is the tagged release for this module // goModuleVersion is the tagged release for this module
const goModuleVersion = "1.27.11" const goModuleVersion = "1.27.13"

View file

@ -1,3 +1,11 @@
# 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) # v1.17.11 (2024-04-05)
* **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 credentials package credentials
// goModuleVersion is the tagged release for this module // goModuleVersion is the tagged release for this module
const goModuleVersion = "1.17.11" const goModuleVersion = "1.17.13"

View file

@ -1,3 +1,11 @@
# 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) # v1.16.15 (2024-04-05)
* **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 manager package manager
// goModuleVersion is the tagged release for this module // goModuleVersion is the tagged release for this module
const goModuleVersion = "1.16.15" const goModuleVersion = "1.16.17"

View file

@ -1,3 +1,7 @@
# v1.53.2 (2024-05-08)
* **Bug Fix**: GoDoc improvement
# v1.53.1 (2024-03-29) # v1.53.1 (2024-03-29)
* **Dependency Update**: Updated to the latest SDK module versions * **Dependency Update**: Updated to the latest SDK module versions

View file

@ -18,22 +18,27 @@ 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 //
// 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 // 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, 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 +46,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 +88,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-az1--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,10 +144,12 @@ 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
@ -135,7 +164,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.

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 any failed requests (including 500 error responses). For more information, // retry any failed requests (including 500 error responses). For more information,
// see Amazon S3 Error Best 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,65 @@ 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 .
// .
// //
// 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
// [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 +149,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-az1--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 +198,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
@ -191,32 +240,40 @@ 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
@ -231,13 +288,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 +304,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 +315,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 +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
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 +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
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 +349,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 +367,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.

View file

@ -15,102 +15,134 @@ import (
"time" "time"
) )
// Creates a copy of an object that is already stored in Amazon S3. You can store // Creates a copy of an object that is already stored in Amazon S3.
// individual objects of up to 5 TB in Amazon S3. You create a copy of your object //
// up to 5 GB in size in a single atomic action using this API. However, to copy an // You can store individual objects of up to 5 TB in Amazon S3. You create a copy
// object greater than 5 GB, you must use the multipart upload Upload Part - Copy // of your object up to 5 GB in size in a single atomic action using this API.
// (UploadPartCopy) API. For more information, see Copy Object Using the REST // However, to copy an object greater than 5 GB, you must use the multipart upload
// Multipart Upload API (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html) // Upload Part - Copy (UploadPartCopy) API. For more information, see [Copy Object Using the REST Multipart Upload API].
// . You can copy individual objects between general purpose buckets, between //
// You can copy individual objects between general purpose buckets, between
// directory buckets, and between general purpose buckets and directory buckets. // directory buckets, and between general purpose buckets and directory buckets.
//
// Directory buckets - For directory buckets, you must make requests for this API // Directory buckets - For directory buckets, you must make requests for this API
// operation to the Zonal endpoint. These endpoints support virtual-hosted-style // operation to the Zonal endpoint. These endpoints support virtual-hosted-style
// requests in the format // 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. Both the Region that you want to copy the object //
// from and the Region that you want to copy the object to must be enabled for your // Both the Region that you want to copy the object from and the Region that you
// account. For more information about how to enable a Region for your account, see // want to copy the object to must be enabled for your account. For more
// Enable or disable a Region for standalone accounts (https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-standalone) // information about how to enable a Region for your account, see [Enable or disable a Region for standalone accounts]in the Amazon
// in the Amazon Web Services Account Management Guide. Amazon S3 transfer // Web Services Account Management Guide.
// acceleration does not support cross-Region copies. If you request a cross-Region //
// copy using a transfer acceleration endpoint, you get a 400 Bad Request error. // Amazon S3 transfer acceleration does not support cross-Region copies. If you
// For more information, see Transfer Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) // request a cross-Region copy using a transfer acceleration endpoint, you get a
// . Authentication and authorization All CopyObject requests must be // 400 Bad Request error. For more information, see [Transfer Acceleration].
// authenticated and signed by using IAM credentials (access key ID and secret //
// access key for the IAM identities). All headers with the x-amz- prefix, // Authentication and authorization All CopyObject requests must be authenticated
// including x-amz-copy-source , must be signed. For more information, see REST // and signed by using IAM credentials (access key ID and secret access key for the
// Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html) // IAM identities). All headers with the x-amz- prefix, including x-amz-copy-source
// . Directory buckets - You must use the IAM credentials to authenticate and // , must be signed. For more information, see [REST Authentication].
//
// Directory buckets - You must use the IAM credentials to authenticate and
// authorize your access to the CopyObject API operation, instead of using the // authorize your access to the CopyObject API operation, instead of using the
// temporary security credentials through the CreateSession API operation. Amazon // temporary security credentials through the CreateSession API operation.
// Web Services CLI or SDKs handles authentication and authorization on your //
// behalf. Permissions You must have read access to the source object and write // Amazon Web Services CLI or SDKs handles authentication and authorization on
// access to the destination bucket. // your behalf.
//
// Permissions You must have read access to the source object and write access to
// the destination bucket.
//
// - General purpose bucket permissions - You must have permissions in an IAM // - General purpose bucket permissions - You must have permissions in an IAM
// policy based on the source and destination bucket types in a CopyObject // policy based on the source and destination bucket types in a CopyObject
// operation. // operation.
//
// - If the source object is in a general purpose bucket, you must have // - If the source object is in a general purpose bucket, you must have
// s3:GetObject permission to read the source object that is being copied. // s3:GetObject permission to read the source object that is being copied.
//
// - If the destination bucket is a general purpose bucket, you must have // - If the destination bucket is a general purpose bucket, you must have
// s3:PutObject permission to write the object copy to the destination bucket. // s3:PutObject permission to write the object copy to the destination bucket.
//
// - Directory bucket permissions - You must have permissions in a bucket policy // - Directory bucket permissions - You must have permissions in a bucket policy
// or an IAM identity-based policy based on the source and destination bucket types // or an IAM identity-based policy based on the source and destination bucket types
// in a CopyObject operation. // in a CopyObject operation.
//
// - If the source object that you want to copy is in a directory bucket, you // - If the source object that you want to copy is in a directory bucket, you
// must have the s3express:CreateSession permission in the Action element of a // must have the s3express:CreateSession permission in the Action element of a
// policy to read the object. By default, the session is in the ReadWrite mode. // policy to read the object. By default, the session is in the ReadWrite mode.
// If you want to restrict the access, you can explicitly set the // If you want to restrict the access, you can explicitly set the
// s3express:SessionMode condition key to ReadOnly on the copy source bucket. // s3express:SessionMode condition key to ReadOnly on the copy source bucket.
//
// - If the copy destination is a directory bucket, you must have the // - If the copy destination is a directory bucket, you must have the
// s3express:CreateSession permission in the Action element of a policy to write // s3express:CreateSession permission in the Action element of a policy to write
// the object to the destination. The s3express:SessionMode condition key can't // the object to the destination. The s3express:SessionMode condition key can't
// be set to ReadOnly on the copy destination bucket. For example policies, see // be set to ReadOnly on the copy destination bucket.
// Example bucket policies for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html) //
// and Amazon Web Services Identity and Access Management (IAM) identity-based // 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 User Guide.
// policies for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html)
// in the Amazon S3 User Guide.
// //
// Response and special errors When the request is an HTTP 1.1 request, the // Response and special errors When the request is an HTTP 1.1 request, the
// response is chunk encoded. When the request is not an HTTP 1.1 request, the // response is chunk encoded. When the request is not an HTTP 1.1 request, the
// response would not contain the Content-Length . You always need to read the // response would not contain the Content-Length . You always need to read the
// entire response body to check if the copy succeeds. to keep the connection alive // entire response body to check if the copy succeeds. to keep the connection alive
// while we copy the data. // while we copy the data.
//
// - If the copy is successful, you receive a response with information about // - If the copy is successful, you receive a response with information about
// the copied object. // the copied object.
//
// - A copy request might return an error when Amazon S3 receives the copy // - A copy request might return an error when Amazon S3 receives the copy
// request or while Amazon S3 is copying the files. A 200 OK response can contain // request or while Amazon S3 is copying the files. A 200 OK response can contain
// either a success or an error. // either a success or an error.
//
// - If the error occurs before the copy action starts, you receive a standard // - If the error occurs before the copy action starts, you receive a standard
// Amazon S3 error. // Amazon S3 error.
//
// - If the error occurs during the copy operation, the error response is // - If the error occurs during the copy operation, the error response is
// embedded in the 200 OK response. For example, in a cross-region copy, you may // embedded in the 200 OK response. For example, in a cross-region copy, you may
// encounter throttling and receive a 200 OK response. For more information, see // encounter throttling and receive a 200 OK response. For more information, see [Resolve the Error 200 response when copying objects to Amazon S3]
// Resolve the Error 200 response when copying objects to Amazon S3 (https://repost.aws/knowledge-center/s3-resolve-200-internalerror)
// . The 200 OK status code means the copy was accepted, but it doesn't mean the // . The 200 OK status code means the copy was accepted, but it doesn't mean the
// copy is complete. Another example is when you disconnect from Amazon S3 before // copy is complete. Another example is when you disconnect from Amazon S3 before
// the copy is complete, Amazon S3 might cancel the copy and you may receive a // the copy is complete, Amazon S3 might cancel the copy and you may receive a
// 200 OK response. You must stay connected to Amazon S3 until the entire // 200 OK response. You must stay connected to Amazon S3 until the entire
// response is successfully received and processed. If you call this API operation // response is successfully received and processed.
// directly, make sure to design your application to parse the content of the //
// response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs // If you call this API operation directly, make sure to design your application
// handle this condition. The SDKs detect the embedded error and apply error //
// handling per your configuration settings (including automatically retrying the // to parse the content of the response and handle it appropriately. If you use
// request as appropriate). If the condition persists, the SDKs throw an exception // Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the
// (or, for the SDKs that don't use exceptions, they return an error). // 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).
// //
// Charge The copy request charge is based on the storage class and Region that // Charge The copy request charge is based on the storage class and Region that
// you specify for the destination object. The request can also result in a data // you specify for the destination object. The request can also result in a data
// retrieval charge for the source if the source storage class bills for data // retrieval charge for the source if the source storage class bills for data
// retrieval. If the copy source is in a different region, the data transfer is // retrieval. If the copy source is in a different region, the data transfer is
// billed to the copy source account. For pricing information, see Amazon S3 // billed to the copy source account. For pricing information, see [Amazon S3 pricing].
// pricing (http://aws.amazon.com/s3/pricing/) . 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 CopyObject : //
// - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) // The following operations are related to CopyObject :
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) //
// [PutObject]
//
// [GetObject]
//
// [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
// [Resolve the Error 200 response when copying objects to Amazon S3]: https://repost.aws/knowledge-center/s3-resolve-200-internalerror
// [Copy Object Using the REST Multipart Upload API]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html
// [REST Authentication]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
// [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
// [Enable or disable a Region for standalone accounts]: https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html#manage-acct-regions-enable-standalone
// [Transfer Acceleration]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
// [PutObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
// [GetObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
// [Amazon S3 pricing]: http://aws.amazon.com/s3/pricing/
func (c *Client) CopyObject(ctx context.Context, params *CopyObjectInput, optFns ...func(*Options)) (*CopyObjectOutput, error) { func (c *Client) CopyObject(ctx context.Context, params *CopyObjectInput, optFns ...func(*Options)) (*CopyObjectOutput, error) {
if params == nil { if params == nil {
params = &CopyObjectInput{} params = &CopyObjectInput{}
@ -128,31 +160,39 @@ func (c *Client) CopyObject(ctx context.Context, params *CopyObjectInput, optFns
type CopyObjectInput struct { type CopyObjectInput struct {
// The name of the destination bucket. Directory buckets - When you use this // The name of the destination bucket.
// 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 // Directory buckets - When you use this operation with a directory bucket, you
// requests are not supported. Directory bucket names must be unique in the chosen // must use virtual-hosted-style requests in the format
// Availability Zone. Bucket names must follow the format // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
// bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3 // supported. Directory bucket names must be unique in the chosen Availability
// ). For information about bucket naming restrictions, see Directory bucket // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
// naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) // example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3 ). For information about bucket
// in the Amazon S3 User Guide. Access points - When you use this action with an // naming restrictions, see [Directory bucket naming rules]in the Amazon S3 User Guide.
// access point, you must provide the alias of the access point in place of the //
// bucket name or specify the access point ARN. When using the access point ARN, // Access points - When you use this action with an access point, you must provide
// you must direct requests to the access point hostname. The access point hostname // the alias of the access point in place of the bucket name or specify the access
// takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. // point ARN. When using the access point ARN, you must direct requests to the
// When using this action with an access point through the Amazon Web Services // access point hostname. The access point hostname takes the form
// SDKs, you provide the access point ARN in place of the bucket name. For more // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // action with an access point through the Amazon Web Services SDKs, you provide
// in the Amazon S3 User Guide. Access points and Object Lambda access points are // the access point ARN in place of the bucket name. For more information about
// not supported by directory buckets. S3 on Outposts - When you use this action // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts //
// hostname. The S3 on Outposts hostname takes the form // Access points and Object Lambda access points are 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 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
@ -160,10 +200,11 @@ type CopyObjectInput struct {
// Specifies the source object for the copy operation. The source object can be up // Specifies the source object for the copy operation. The source object can be up
// to 5 GB. If the source object is an object that was uploaded by using a // to 5 GB. If the source object is an object that was uploaded by using a
// multipart upload, the object copy will be a single part object after the source // multipart upload, the object copy will be a single part object after the source
// object is copied to the destination bucket. You specify the value of the copy // object is copied to the destination bucket.
// source in one of two formats, depending on whether you want to access the source //
// object through an access point (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html) // You specify the value of the copy source in one of two formats, depending on
// : // whether you want to access the source object through an [access point]:
//
// - For objects not accessed through an access point, specify the name of the // - For objects not accessed through an access point, specify the name of the
// source bucket and the key of the source object, separated by a slash (/). For // source bucket and the key of the source object, separated by a slash (/). For
// example, to copy the object reports/january.pdf from the general purpose // example, to copy the object reports/january.pdf from the general purpose
@ -172,6 +213,7 @@ type CopyObjectInput struct {
// bucket awsexamplebucket--use1-az5--x-s3 , use // bucket awsexamplebucket--use1-az5--x-s3 , use
// awsexamplebucket--use1-az5--x-s3/reports/january.pdf . The value must be // awsexamplebucket--use1-az5--x-s3/reports/january.pdf . The value must be
// URL-encoded. // URL-encoded.
//
// - For objects accessed through access points, specify the Amazon Resource // - For objects accessed through access points, specify the Amazon Resource
// Name (ARN) of the object as accessed through the access point, in the format // Name (ARN) of the object as accessed through the access point, in the format
// arn:aws:s3:::accesspoint//object/ . For example, to copy the object // arn:aws:s3:::accesspoint//object/ . For example, to copy the object
@ -179,15 +221,20 @@ type CopyObjectInput struct {
// 123456789012 in Region us-west-2 , use the URL encoding of // 123456789012 in Region us-west-2 , use the URL encoding of
// arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf // arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf
// . The value must be URL encoded. // . The value must be URL encoded.
//
// - Amazon S3 supports copy operations using Access points only when the source // - Amazon S3 supports copy operations using Access points only when the source
// and destination buckets are in the same Amazon Web Services Region. // and destination buckets are in the same Amazon Web Services Region.
// - Access points are not supported by directory buckets. Alternatively, for //
// objects accessed through Amazon S3 on Outposts, specify the ARN of the object as // - Access points are not supported by directory buckets.
// accessed in the format arn:aws:s3-outposts:::outpost//object/ . For example, //
// to copy the object reports/january.pdf through outpost my-outpost owned by // Alternatively, for objects accessed through Amazon S3 on Outposts, specify the
// account 123456789012 in Region us-west-2 , use the URL encoding of // ARN of the object as accessed in the format
// arn:aws:s3-outposts:::outpost//object/ . For example, to copy the object
// reports/january.pdf through outpost my-outpost owned by account 123456789012
// in Region us-west-2 , use the URL encoding of
// arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf // arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf
// . The value must be URL-encoded. // . The value must be URL-encoded.
//
// If your source bucket versioning is enabled, the x-amz-copy-source header by // If your source bucket versioning is enabled, the x-amz-copy-source header by
// default identifies the current version of an object to copy. If the current // default identifies the current version of an object to copy. If the current
// version is a delete marker, Amazon S3 behaves as if the object was deleted. To // version is a delete marker, Amazon S3 behaves as if the object was deleted. To
@ -195,14 +242,21 @@ type CopyObjectInput struct {
// append ?versionId= to the value (for example, // append ?versionId= to the value (for example,
// awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893 // awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893
// ). If you don't specify a version ID, Amazon S3 copies the latest version of the // ). If you don't specify a version ID, Amazon S3 copies the latest version of the
// source object. If you enable versioning on the destination bucket, Amazon S3 // source object.
// generates a unique version ID for the copied object. This version ID is //
// different from the version ID of the source object. Amazon S3 returns the // If you enable versioning on the destination bucket, Amazon S3 generates a
// version ID of the copied object in the x-amz-version-id response header in the // unique version ID for the copied object. This version ID is different from the
// response. If you do not enable versioning or suspend it on the destination // version ID of the source object. Amazon S3 returns the version ID of the copied
// bucket, the version ID that Amazon S3 generates in the x-amz-version-id // object in the x-amz-version-id response header in the response.
// response header is always null. Directory buckets - S3 Versioning isn't enabled //
// and supported for directory buckets. // If you do not enable versioning or suspend it on the destination bucket, the
// version ID that Amazon S3 generates in the x-amz-version-id response header is
// always null.
//
// Directory buckets - S3 Versioning isn't enabled and supported for directory
// buckets.
//
// [access point]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html
// //
// This member is required. // This member is required.
CopySource *string CopySource *string
@ -212,51 +266,67 @@ type CopyObjectInput struct {
// This member is required. // This member is required.
Key *string Key *string
// The canned access control list (ACL) to apply to the object. When you copy an // The canned access control list (ACL) to apply to the object.
// object, the ACL metadata is not preserved and is set to private by default. //
// Only the owner has full access control. To override the default ACL setting, // When you copy an object, the ACL metadata is not preserved and is set to private
// specify a new ACL when you generate a copy request. For more information, see // by default. Only the owner has full access control. To override the default ACL
// Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html) // setting, specify a new ACL when you generate a copy request. For more
// . If the destination bucket that you're copying objects to uses the bucket owner // information, see [Using ACLs].
//
// If the destination bucket that you're copying objects to uses the bucket owner
// enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect // enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect
// permissions. Buckets that use this setting only accept PUT requests that don't // permissions. Buckets that use this setting only accept PUT requests that don't
// specify an ACL or PUT requests that specify bucket owner full control ACLs, // specify an ACL or PUT requests that specify bucket owner full control ACLs,
// such as the bucket-owner-full-control canned ACL or an equivalent form of this // such as the bucket-owner-full-control canned ACL or an equivalent form of this
// ACL expressed in the XML format. For more information, see Controlling // ACL expressed in the XML format. For more information, see [Controlling ownership of objects and disabling ACLs]in the Amazon S3
// ownership of objects and disabling ACLs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) // User Guide.
// in the Amazon S3 User Guide. //
// - If your destination bucket uses the bucket owner enforced setting for // - If your destination bucket uses the bucket owner enforced setting for
// Object Ownership, all objects written to the bucket by any account will be owned // Object Ownership, all objects written to the bucket by any account will be owned
// by the bucket owner. // by the bucket owner.
//
// - 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.
//
// [Using ACLs]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
// [Controlling ownership of objects and disabling ACLs]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.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).
// If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. // If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object.
//
// 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 a COPY action doesnt // encryption with SSE-KMS. Specifying this header with a COPY action doesnt
// affect bucket-level settings for S3 Bucket Key. For more information, see // affect bucket-level settings for S3 Bucket Key.
// Amazon S3 Bucket Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) //
// in the Amazon S3 User Guide. This functionality is not supported when the // For more information, see [Amazon S3 Bucket Keys] in the Amazon S3 User Guide.
// destination bucket is a directory bucket. //
// This functionality is not supported when the destination bucket is a directory
// bucket.
//
// [Amazon S3 Bucket Keys]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
BucketKeyEnabled *bool BucketKeyEnabled *bool
// Specifies the caching behavior along the request/reply chain. // Specifies the 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. When you copy an object, if the source object has a //
// checksum, that checksum value will be copied to the new object by default. If // When you copy an object, if the source object has a checksum, that checksum
// the CopyObject request does not include this x-amz-checksum-algorithm header, // value will be copied to the new object by default. If the CopyObject request
// the checksum algorithm will be copied from the source object to the destination // does not include this x-amz-checksum-algorithm header, the checksum algorithm
// object (if it's present on the source object). You can optionally specify a // will be copied from the source object to the destination object (if it's present
// different checksum algorithm to use with the x-amz-checksum-algorithm header. // on the source object). You can optionally specify a different checksum algorithm
// Unrecognized or unsupported values will respond with the HTTP status code 400 // to use with the x-amz-checksum-algorithm header. Unrecognized or unsupported
// Bad Request . For directory buckets, when you use Amazon Web Services SDKs, // values will respond with the HTTP status code 400 Bad Request .
// CRC32 is the default checksum algorithm that's used for performance. //
// For directory buckets, when you use Amazon Web Services SDKs, CRC32 is the
// default checksum algorithm that's used for performance.
//
// [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. Indicates whether an // Specifies presentational information for the object. Indicates whether an
@ -266,8 +336,10 @@ type CopyObjectInput 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 the content is in. // The language the content is in.
@ -276,62 +348,85 @@ type CopyObjectInput struct {
// A standard MIME type that describes the format of the object data. // A standard MIME type that describes the format of the object data.
ContentType *string ContentType *string
// Copies the object if its entity tag (ETag) matches the specified tag. If both // Copies the object if its entity tag (ETag) matches the specified tag.
// the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since //
// If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since
// headers are present in the request and evaluate as follows, Amazon S3 returns // headers are present in the request and evaluate as follows, Amazon S3 returns
// 200 OK and copies the data: // 200 OK and copies the data:
//
// - x-amz-copy-source-if-match condition evaluates to true // - x-amz-copy-source-if-match condition evaluates to true
//
// - x-amz-copy-source-if-unmodified-since condition evaluates to false // - x-amz-copy-source-if-unmodified-since condition evaluates to false
CopySourceIfMatch *string CopySourceIfMatch *string
// Copies the object if it has been modified since the specified time. If both the // Copies the object if it has been modified since the specified time.
// x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since headers //
// are present in the request and evaluate as follows, Amazon S3 returns the 412 // If both the x-amz-copy-source-if-none-match and
// Precondition Failed response code:
// - x-amz-copy-source-if-none-match condition evaluates to false
// - x-amz-copy-source-if-modified-since condition evaluates to true
CopySourceIfModifiedSince *time.Time
// Copies the object if its entity tag (ETag) is different than the specified
// ETag. If both the x-amz-copy-source-if-none-match and
// x-amz-copy-source-if-modified-since headers are present in the request and // x-amz-copy-source-if-modified-since headers are present in the request and
// evaluate as follows, Amazon S3 returns the 412 Precondition Failed response // evaluate as follows, Amazon S3 returns the 412 Precondition Failed response
// code: // code:
//
// - x-amz-copy-source-if-none-match condition evaluates to false // - x-amz-copy-source-if-none-match condition evaluates to false
//
// - x-amz-copy-source-if-modified-since condition evaluates to true
CopySourceIfModifiedSince *time.Time
// Copies the object if its entity tag (ETag) is different than the specified ETag.
//
// If both the x-amz-copy-source-if-none-match and
// x-amz-copy-source-if-modified-since headers are present in the request and
// evaluate as follows, Amazon S3 returns the 412 Precondition Failed response
// code:
//
// - x-amz-copy-source-if-none-match condition evaluates to false
//
// - x-amz-copy-source-if-modified-since condition evaluates to true // - x-amz-copy-source-if-modified-since condition evaluates to true
CopySourceIfNoneMatch *string CopySourceIfNoneMatch *string
// Copies the object if it hasn't been modified since the specified time. If both // Copies the object if it hasn't been modified since the specified time.
// the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since //
// If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since
// headers are present in the request and evaluate as follows, Amazon S3 returns // headers are present in the request and evaluate as follows, Amazon S3 returns
// 200 OK and copies the data: // 200 OK and copies the data:
//
// - x-amz-copy-source-if-match condition evaluates to true // - x-amz-copy-source-if-match condition evaluates to true
//
// - x-amz-copy-source-if-unmodified-since condition evaluates to false // - x-amz-copy-source-if-unmodified-since condition evaluates to false
CopySourceIfUnmodifiedSince *time.Time CopySourceIfUnmodifiedSince *time.Time
// Specifies the algorithm to use when decrypting the source object (for example, // Specifies the algorithm to use when decrypting the source object (for example,
// AES256 ). If the source object for the copy is stored in Amazon S3 using SSE-C, // AES256 ).
// you must provide the necessary encryption information in your request so that //
// Amazon S3 can decrypt the object for copying. This functionality is not // If the source object for the copy is stored in Amazon S3 using SSE-C, you must
// supported when the source object is in a directory bucket. // provide the necessary encryption information in your request so that Amazon S3
// can decrypt the object for copying.
//
// This functionality is not supported when the source object is in a directory
// bucket.
CopySourceSSECustomerAlgorithm *string CopySourceSSECustomerAlgorithm *string
// Specifies the customer-provided encryption key for Amazon S3 to use to decrypt // Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
// the source object. The encryption key provided in this header must be the same // the source object. The encryption key provided in this header must be the same
// one that was used when the source object was created. If the source object for // one that was used when the source object was created.
// the copy is stored in Amazon S3 using SSE-C, you must provide the necessary //
// encryption information in your request so that Amazon S3 can decrypt the object // If the source object for the copy is stored in Amazon S3 using SSE-C, you must
// for copying. This functionality is not supported when the source object is in a // provide the necessary encryption information in your request so that Amazon S3
// directory bucket. // can decrypt the object for copying.
//
// This functionality is not supported when the source object is in a directory
// bucket.
CopySourceSSECustomerKey *string CopySourceSSECustomerKey *string
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
// Amazon S3 uses this header for a message integrity check to ensure that the // Amazon S3 uses this header for a message integrity check to ensure that the
// encryption key was transmitted without error. If the source object for the copy // encryption key was transmitted without error.
// is stored in Amazon S3 using SSE-C, you must provide the necessary encryption //
// information in your request so that Amazon S3 can decrypt the object for // If the source object for the copy is stored in Amazon S3 using SSE-C, you must
// copying. This functionality is not supported when the source object is in a // provide the necessary encryption information in your request so that Amazon S3
// directory bucket. // can decrypt the object for copying.
//
// This functionality is not supported when the source object is in a directory
// bucket.
CopySourceSSECustomerKeyMD5 *string CopySourceSSECustomerKeyMD5 *string
// The account ID of the expected destination bucket owner. If the account ID that // The account ID of the expected destination bucket owner. If the account ID that
@ -348,22 +443,30 @@ type CopyObjectInput struct {
Expires *time.Time Expires *time.Time
// Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
//
// - 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.
GrantFullControl *string GrantFullControl *string
// Allows grantee to read the object data and its metadata. // Allows grantee to read the object data and its metadata.
//
// - 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.
GrantRead *string GrantRead *string
// Allows grantee to read the object ACL. // Allows grantee to read the object ACL.
//
// - 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.
GrantReadACP *string GrantReadACP *string
// Allows grantee to write the ACL for the applicable object. // Allows grantee to write the ACL for the applicable object.
//
// - 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.
GrantWriteACP *string GrantWriteACP *string
@ -373,26 +476,32 @@ type CopyObjectInput struct {
// Specifies whether the metadata is copied from the source object or replaced // Specifies whether the metadata is copied from the source object or replaced
// with metadata that's provided in the request. When copying an object, you can // with metadata that's provided in the request. When copying an object, you can
// preserve all metadata (the default) or specify new metadata. If this header // preserve all metadata (the default) or specify new metadata. If this header
// isnt specified, COPY is the default behavior. General purpose bucket - For // isnt specified, COPY is the default behavior.
// general purpose buckets, when you grant permissions, you can use the //
// s3:x-amz-metadata-directive condition key to enforce certain metadata behavior // General purpose bucket - For general purpose buckets, when you grant
// when objects are uploaded. For more information, see Amazon S3 condition key // permissions, you can use the s3:x-amz-metadata-directive condition key to
// examples (https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html) // enforce certain metadata behavior when objects are uploaded. For more
// in the Amazon S3 User Guide. x-amz-website-redirect-location is unique to each // information, see [Amazon S3 condition key examples]in the Amazon S3 User Guide.
// object and is not copied when using the x-amz-metadata-directive header. To //
// copy the value, you must specify x-amz-website-redirect-location in the request // x-amz-website-redirect-location is unique to each object and is not copied when
// header. // using the x-amz-metadata-directive header. To copy the value, you must specify
// x-amz-website-redirect-location in the request header.
//
// [Amazon S3 condition key examples]: https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html
MetadataDirective types.MetadataDirective MetadataDirective types.MetadataDirective
// Specifies whether you want to apply a legal hold to the object copy. This // Specifies whether you want to apply a legal hold to the object copy.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus
// The Object Lock mode that you want to apply to the object copy. This // The Object Lock mode that you want to apply to the object copy.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
ObjectLockMode types.ObjectLockMode ObjectLockMode types.ObjectLockMode
// The date and time when you want the Object Lock of the object copy to expire. // The date and time when you want the Object Lock of the object copy to expire.
//
// This functionality is not supported for directory buckets. // This functionality is not supported for directory buckets.
ObjectLockRetainUntilDate *time.Time ObjectLockRetainUntilDate *time.Time
@ -400,19 +509,23 @@ type CopyObjectInput 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
// Specifies the algorithm to use when encrypting the object (for example, AES256 // Specifies the algorithm to use when encrypting the object (for example, AES256 ).
// ). When you perform a CopyObject operation, if you want to use a different type //
// of encryption setting for the target object, you can specify appropriate // When you perform a CopyObject operation, if you want to use a different type of
// encryption setting for the target object, you can specify appropriate
// encryption-related headers to encrypt the target object with an Amazon S3 // encryption-related headers to encrypt the target object with an Amazon S3
// managed key, a KMS key, or a customer-provided key. If the encryption setting in // managed key, a KMS key, or a customer-provided key. If the encryption setting in
// your request is different from the default encryption configuration of the // your request is different from the default encryption configuration of the
// destination bucket, the encryption setting in your request takes precedence. // destination bucket, the encryption setting in your request takes precedence.
//
// This functionality is not supported when the destination bucket is a directory // This functionality is not supported when the destination bucket is a directory
// bucket. // bucket.
SSECustomerAlgorithm *string SSECustomerAlgorithm *string
@ -421,38 +534,49 @@ type CopyObjectInput struct {
// 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 when the destination bucket is a directory bucket. //
// This functionality is not supported when the destination bucket is a directory
// bucket.
SSECustomerKey *string SSECustomerKey *string
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321. // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
// Amazon S3 uses this header for a message integrity check to ensure that the // Amazon S3 uses this header for a message integrity check to ensure that the
// encryption key was transmitted without error. This functionality is not // encryption key was transmitted without error.
// supported when the destination bucket is a directory bucket. //
// This functionality is not supported when the destination bucket is a directory
// bucket.
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 value must be explicitly // JSON with the encryption context key-value pairs. This value must be explicitly
// added to specify encryption context for CopyObject requests. This functionality // added to specify encryption context for CopyObject requests.
// is not supported when the destination bucket is a directory bucket. //
// This functionality is not supported when the destination bucket is a directory
// bucket.
SSEKMSEncryptionContext *string SSEKMSEncryptionContext *string
// Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for object // Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for object
// encryption. All GET and PUT requests for an object protected by KMS will fail if // encryption. All GET and PUT requests for an object protected by KMS will fail if
// they're not made via SSL or using SigV4. For information about configuring any // they're not made via SSL or using SigV4. For information about configuring any
// of the officially supported Amazon Web Services SDKs and Amazon Web Services // of the officially supported Amazon Web Services SDKs and Amazon Web Services
// CLI, see Specifying the Signature Version in Request Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version) // CLI, see [Specifying the Signature Version in Request Authentication]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. This functionality is not supported when the //
// destination bucket is a directory bucket. // This functionality is not supported when the destination bucket is a directory
// bucket.
//
// [Specifying the Signature Version in Request Authentication]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version
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 , aws:kms:dsse ). Unrecognized or unsupported // (for example, AES256 , aws:kms , aws:kms:dsse ). Unrecognized or unsupported
// values wont write a destination object and will receive a 400 Bad Request // values wont write a destination object and will receive a 400 Bad Request
// response. Amazon S3 automatically encrypts all new objects that are copied to an // response.
// S3 bucket. When copying an object, if you don't specify encryption information //
// in your copy request, the encryption setting of the target object is set to the // Amazon S3 automatically encrypts all new objects that are copied to an S3
// bucket. When copying an object, if you don't specify encryption information in
// your copy request, the encryption setting of the target object is set to the
// default encryption configuration of the destination bucket. By default, all // default encryption configuration of the destination bucket. By default, all
// buckets have a base level of encryption configuration that uses server-side // buckets have a base level of encryption configuration that uses server-side
// encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a // encryption with Amazon S3 managed keys (SSE-S3). If the destination bucket has a
@ -460,42 +584,55 @@ type CopyObjectInput struct {
// Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with // Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with
// Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with // Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with
// customer-provided encryption keys (SSE-C), Amazon S3 uses the corresponding KMS // customer-provided encryption keys (SSE-C), Amazon S3 uses the corresponding KMS
// key, or a customer-provided key to encrypt the target object copy. When you // key, or a customer-provided key to encrypt the target object copy.
// perform a CopyObject operation, if you want to use a different type of //
// When you perform a CopyObject operation, if you want to use a different type of
// encryption setting for the target object, you can specify appropriate // encryption setting for the target object, you can specify appropriate
// encryption-related headers to encrypt the target object with an Amazon S3 // encryption-related headers to encrypt the target object with an Amazon S3
// managed key, a KMS key, or a customer-provided key. If the encryption setting in // managed key, a KMS key, or a customer-provided key. If the encryption setting in
// your request is different from the default encryption configuration of the // your request is different from the default encryption configuration of the
// destination bucket, the encryption setting in your request takes precedence. // destination bucket, the encryption setting in your request takes precedence.
// With server-side encryption, Amazon S3 encrypts your data as it writes your data //
// to disks in its data centers and decrypts the data when you access it. For more // With server-side encryption, Amazon S3 encrypts your data as it writes your
// information about server-side encryption, see Using Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html) // data to disks in its data centers and decrypts the data when you access it. For
// in the Amazon S3 User Guide. For directory buckets, only server-side encryption // more information about server-side encryption, see [Using Server-Side Encryption]in the Amazon S3 User Guide.
// 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.
//
// [Using Server-Side Encryption]: https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html
ServerSideEncryption types.ServerSideEncryption ServerSideEncryption types.ServerSideEncryption
// If the x-amz-storage-class header is not used, the copied object will be stored // If the x-amz-storage-class header is not used, the copied object will be stored
// in the STANDARD Storage Class by default. The STANDARD storage class provides // in the STANDARD Storage Class by default. The STANDARD storage class provides
// high durability and high availability. Depending on performance needs, you can // high durability and high availability. Depending on performance needs, you can
// specify a different Storage Class. // specify a different Storage Class.
//
// - Directory buckets - For directory buckets, only the S3 Express One Zone // - Directory buckets - For directory buckets, only the S3 Express One Zone
// storage class is supported to store newly created objects. Unsupported storage // storage class is supported to store newly created objects. Unsupported storage
// class values won't write a destination object and will respond with the HTTP // class values won't write a destination object and will respond with the HTTP
// status code 400 Bad Request . // status code 400 Bad Request .
//
// - Amazon S3 on Outposts - S3 on Outposts only uses the OUTPOSTS Storage Class. // - Amazon S3 on Outposts - S3 on Outposts only uses the OUTPOSTS Storage Class.
//
// You can use the CopyObject action to change the storage class of an object that // You can use the CopyObject action to change the storage class of an object that
// is already stored in Amazon S3 by using the x-amz-storage-class header. For // is already stored in Amazon S3 by using the x-amz-storage-class header. For
// more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) // more information, see [Storage Classes]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. Before using an object as a source object for the //
// copy operation, you must restore a copy of it if it meets any of the following // Before using an object as a source object for the copy operation, you must
// conditions: // restore a copy of it if it meets any of the following conditions:
//
// - The storage class of the source object is GLACIER or DEEP_ARCHIVE . // - The storage class of the source object is GLACIER or DEEP_ARCHIVE .
// - The storage class of the source object is INTELLIGENT_TIERING and it's S3 //
// Intelligent-Tiering access tier (https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering-overview.html#intel-tiering-tier-definition) // - The storage class of the source object is INTELLIGENT_TIERING and it's [S3 Intelligent-Tiering access tier]is
// is Archive Access or Deep Archive Access . // Archive Access or Deep Archive Access .
// For more information, see RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html) //
// and Copying Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html) // For more information, see [RestoreObject] and [Copying Objects] in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// [Storage Classes]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
// [RestoreObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
// [Copying Objects]: https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html
// [S3 Intelligent-Tiering access tier]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering-overview.html#intel-tiering-tier-definition
StorageClass types.StorageClass StorageClass types.StorageClass
// The tag-set for the object copy in the destination bucket. This value must be // The tag-set for the object copy in the destination bucket. This value must be
@ -503,60 +640,82 @@ type CopyObjectInput struct {
// the x-amz-tagging-directive . If you choose COPY for the x-amz-tagging-directive // the x-amz-tagging-directive . If you choose COPY for the x-amz-tagging-directive
// , you don't need to set the x-amz-tagging header, because the tag-set will be // , you don't need to set the x-amz-tagging header, because the tag-set will be
// copied from the source object directly. The tag-set must be encoded as URL Query // copied from the source object directly. The tag-set must be encoded as URL Query
// parameters. The default value is the empty value. Directory buckets - For // parameters.
// directory buckets in a CopyObject operation, only the empty tag-set is //
// supported. Any requests that attempt to write non-empty tags into directory // The default value is the empty value.
// buckets will receive a 501 Not Implemented status code. When the destination //
// bucket is a directory bucket, you will receive a 501 Not Implemented response // Directory buckets - For directory buckets in a CopyObject operation, only the
// in any of the following situations: // empty tag-set is supported. Any requests that attempt to write non-empty tags
// into directory buckets will receive a 501 Not Implemented status code. When the
// destination bucket is a directory bucket, you will receive a 501 Not Implemented
// response in any of the following situations:
//
// - When you attempt to COPY the tag-set from an S3 source object that has // - When you attempt to COPY the tag-set from an S3 source object that has
// non-empty tags. // non-empty tags.
//
// - When you attempt to REPLACE the tag-set of a source object and set a // - When you attempt to REPLACE the tag-set of a source object and set a
// non-empty value to x-amz-tagging . // non-empty value to x-amz-tagging .
//
// - When you don't set the x-amz-tagging-directive header and the source object // - When you don't set the x-amz-tagging-directive header and the source object
// has non-empty tags. This is because the default value of // has non-empty tags. This is because the default value of
// x-amz-tagging-directive is COPY . // x-amz-tagging-directive is COPY .
//
// Because only the empty tag-set is supported for directory buckets in a // Because only the empty tag-set is supported for directory buckets in a
// CopyObject operation, the following situations are allowed: // CopyObject operation, the following situations are allowed:
//
// - When you attempt to COPY the tag-set from a directory bucket source object // - When you attempt to COPY the tag-set from a directory bucket source object
// that has no tags to a general purpose bucket. It copies an empty tag-set to the // that has no tags to a general purpose bucket. It copies an empty tag-set to the
// destination object. // destination object.
//
// - When you attempt to REPLACE the tag-set of a directory bucket source object // - When you attempt to REPLACE the tag-set of a directory bucket source object
// and set the x-amz-tagging value of the directory bucket destination object to // and set the x-amz-tagging value of the directory bucket destination object to
// empty. // empty.
//
// - When you attempt to REPLACE the tag-set of a general purpose bucket source // - When you attempt to REPLACE the tag-set of a general purpose bucket source
// object that has non-empty tags and set the x-amz-tagging value of the // object that has non-empty tags and set the x-amz-tagging value of the
// directory bucket destination object to empty. // directory bucket destination object to empty.
//
// - When you attempt to REPLACE the tag-set of a directory bucket source object // - When you attempt to REPLACE the tag-set of a directory bucket source object
// and don't set the x-amz-tagging value of the directory bucket destination // and don't set the x-amz-tagging value of the directory bucket destination
// object. This is because the default value of x-amz-tagging is the empty value. // object. This is because the default value of x-amz-tagging is the empty value.
Tagging *string Tagging *string
// Specifies whether the object tag-set is copied from the source object or // Specifies whether the object tag-set is copied from the source object or
// replaced with the tag-set that's provided in the request. The default value is // replaced with the tag-set that's provided in the request.
// COPY . Directory buckets - For directory buckets in a CopyObject operation, //
// only the empty tag-set is supported. Any requests that attempt to write // The default value is COPY .
// non-empty tags into directory buckets will receive a 501 Not Implemented status //
// code. When the destination bucket is a directory bucket, you will receive a 501 // Directory buckets - For directory buckets in a CopyObject operation, only the
// Not Implemented response in any of the following situations: // empty tag-set is supported. Any requests that attempt to write non-empty tags
// into directory buckets will receive a 501 Not Implemented status code. When the
// destination bucket is a directory bucket, you will receive a 501 Not Implemented
// response in any of the following situations:
//
// - When you attempt to COPY the tag-set from an S3 source object that has // - When you attempt to COPY the tag-set from an S3 source object that has
// non-empty tags. // non-empty tags.
//
// - When you attempt to REPLACE the tag-set of a source object and set a // - When you attempt to REPLACE the tag-set of a source object and set a
// non-empty value to x-amz-tagging . // non-empty value to x-amz-tagging .
//
// - When you don't set the x-amz-tagging-directive header and the source object // - When you don't set the x-amz-tagging-directive header and the source object
// has non-empty tags. This is because the default value of // has non-empty tags. This is because the default value of
// x-amz-tagging-directive is COPY . // x-amz-tagging-directive is COPY .
//
// Because only the empty tag-set is supported for directory buckets in a // Because only the empty tag-set is supported for directory buckets in a
// CopyObject operation, the following situations are allowed: // CopyObject operation, the following situations are allowed:
//
// - When you attempt to COPY the tag-set from a directory bucket source object // - When you attempt to COPY the tag-set from a directory bucket source object
// that has no tags to a general purpose bucket. It copies an empty tag-set to the // that has no tags to a general purpose bucket. It copies an empty tag-set to the
// destination object. // destination object.
//
// - When you attempt to REPLACE the tag-set of a directory bucket source object // - When you attempt to REPLACE the tag-set of a directory bucket source object
// and set the x-amz-tagging value of the directory bucket destination object to // and set the x-amz-tagging value of the directory bucket destination object to
// empty. // empty.
//
// - When you attempt to REPLACE the tag-set of a general purpose bucket source // - When you attempt to REPLACE the tag-set of a general purpose bucket source
// object that has non-empty tags and set the x-amz-tagging value of the // object that has non-empty tags and set the x-amz-tagging value of the
// directory bucket destination object to empty. // directory bucket destination object to empty.
//
// - When you attempt to REPLACE the tag-set of a directory bucket source object // - When you attempt to REPLACE the tag-set of a directory bucket source object
// and don't set the x-amz-tagging value of the directory bucket destination // and don't set the x-amz-tagging value of the directory bucket destination
// object. This is because the default value of x-amz-tagging is the empty value. // object. This is because the default value of x-amz-tagging is the empty value.
@ -567,8 +726,9 @@ type CopyObjectInput struct {
// Amazon S3 stores the value of this header in the object metadata. This value is // Amazon S3 stores the value of this header in the object metadata. This value is
// unique to each object and is not copied when using the x-amz-metadata-directive // unique to each object and is not copied when using the x-amz-metadata-directive
// header. Instead, you may opt to provide this header in combination with the // header. Instead, you may opt to provide this header in combination with the
// x-amz-metadata-directive header. This functionality is not supported for // x-amz-metadata-directive header.
// directory buckets. //
// This functionality is not supported for directory buckets.
WebsiteRedirectLocation *string WebsiteRedirectLocation *string
noSmithyDocumentSerde noSmithyDocumentSerde
@ -582,56 +742,68 @@ func (in *CopyObjectInput) bindEndpointParams(p *EndpointParameters) {
type CopyObjectOutput struct { type CopyObjectOutput struct {
// Indicates whether the copied object uses an S3 Bucket Key for server-side // Indicates whether the copied object 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
// Container for all response elements. // Container for all response elements.
CopyObjectResult *types.CopyObjectResult CopyObjectResult *types.CopyObjectResult
// Version ID of the source object that was copied. This functionality is not // Version ID of the source object that was copied.
// supported when the source object is in a directory bucket. //
// This functionality is not supported when the source object is in a directory
// bucket.
CopySourceVersionId *string CopySourceVersionId *string
// If the object expiration is configured, the response includes this header. This // If the object expiration is configured, the response includes this header.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
Expiration *string Expiration *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 , aws:kms:dsse ). For directory buckets, only // S3 (for example, AES256 , aws:kms , aws:kms:dsse ).
// server-side 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 copy. This functionality is not supported for // Version ID of the newly created copy.
// directory buckets. //
// 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.

View file

@ -15,89 +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. To set an ACL on a bucket as part of a CreateBucket // permission is required.
// request, you must explicitly set S3 Object Ownership for the bucket to a
// different value than the default, BucketOwnerEnforced . Additionally, if your
// desired bucket ACL grants public 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 (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
// and 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.
// - 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{}
@ -115,71 +142,93 @@ 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-az1--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

View file

@ -16,62 +16,64 @@ 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 // - 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) // required to use the multipart upload API, see [Multipart upload and permissions]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. To perform a multipart upload with encryption by //
// using an Amazon Web Services KMS key, the requester must have permission to the // To perform a multipart upload with encryption by using an Amazon Web Services
// kms:Decrypt and kms:GenerateDataKey* actions on the key. These permissions are //
// required because Amazon S3 must decrypt and read data from the encrypted file // KMS key, the requester must have permission to the kms:Decrypt and
// parts before it completes the multipart upload. For more information, see // kms:GenerateDataKey* actions on the key. These permissions are required
// Multipart upload API and permissions (https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions) // because Amazon S3 must decrypt and read data from the encrypted file parts
// and Protecting data using server-side encryption with Amazon Web Services KMS (https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html) // 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
// in the Amazon S3 User Guide. // the Amazon S3 User Guide.
// - 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 permissions - To grant access to this API operation on a
// API operation for session-based authorization. Specifically, you grant the // directory bucket, we recommend that you use the [CreateSession]CreateSession API operation
// s3express:CreateSession permission to the directory bucket in a bucket policy // for session-based authorization. Specifically, you grant the
// or an IAM identity-based policy. Then, you make the CreateSession API call on // s3express:CreateSession permission to the directory bucket in a bucket policy
// the bucket to obtain a session token. With the session token in your request // or an IAM identity-based policy. Then, you make the CreateSession API call on
// header, you can make API requests to this operation. After the session token // the bucket to obtain a session token. With the session token in your request
// expires, you make another CreateSession API call to generate a new session // header, you can make API requests to this operation. After the session token
// token for use. Amazon Web Services CLI or SDKs create session and refresh the // expires, you make another CreateSession API call to generate a new session
// session token automatically to avoid service interruptions when a session // token for use. Amazon Web Services CLI or SDKs create session and refresh the
// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html) // session token automatically to avoid service interruptions when a session
// . // 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,96 @@ 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
// [Multipart upload and permissions]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.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
//
// [CreateSession]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.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 +201,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-az1--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 +245,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 +287,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,207 +308,322 @@ 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
@ -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.

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{}

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,24 +69,29 @@ 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-az1--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

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{}

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{}

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{}

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{}

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{}

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{}

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{}

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{}

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,24 +81,29 @@ 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-az1--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

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 the replication // This operation is not supported by directory buckets.
// configuration from the bucket. To use this operation, you must have permissions //
// to perform the s3:PutReplicationConfiguration action. The bucket owner has // Deletes the replication configuration from the bucket.
// these permissions by default and can grant it 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:PutReplicationConfiguration action. The bucket owner has these permissions by
// . It can take a while for the deletion of a replication configuration to fully // default and can grant it to others. For more information about permissions, see [Permissions Related to Bucket Subresource Operations]
// propagate. For information about replication configuration, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) // and [Managing Access Permissions to Your Amazon S3 Resources].
// in the Amazon S3 User Guide. The following operations are related to //
// DeleteBucketReplication : // It can take a while for the deletion of a replication configuration to fully
// - PutBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html) // propagate.
// - GetBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html) //
// For information about replication configuration, see [Replication] in the Amazon S3 User
// Guide.
//
// The following operations are related to DeleteBucketReplication :
//
// [PutBucketReplication]
//
// [GetBucketReplication]
//
// [GetBucketReplication]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.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
// [PutBucketReplication]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html
// [Replication]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html
// [Managing Access Permissions to Your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
func (c *Client) DeleteBucketReplication(ctx context.Context, params *DeleteBucketReplicationInput, optFns ...func(*Options)) (*DeleteBucketReplicationOutput, error) { func (c *Client) DeleteBucketReplication(ctx context.Context, params *DeleteBucketReplicationInput, optFns ...func(*Options)) (*DeleteBucketReplicationOutput, error) {
if params == nil { if params == nil {
params = &DeleteBucketReplicationInput{} params = &DeleteBucketReplicationInput{}
@ -42,7 +56,7 @@ func (c *Client) DeleteBucketReplication(ctx context.Context, params *DeleteBuck
type DeleteBucketReplicationInput struct { type DeleteBucketReplicationInput struct {
// The bucket name. // The bucket name.
// //
// This member is required. // This member is required.
Bucket *string Bucket *string

View file

@ -13,13 +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. Deletes the tags from the // This operation is not supported by directory buckets.
// bucket. To use this operation, you must have permission to perform the //
// Deletes the tags from the bucket.
//
// To use this operation, you must have permission to perform the
// s3:PutBucketTagging action. By default, the bucket owner has this permission and // s3:PutBucketTagging action. By default, the bucket owner has this permission and
// can grant this permission to others. The following operations are related to // can grant this permission to others.
// DeleteBucketTagging : //
// - GetBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html) // The following operations are related to DeleteBucketTagging :
// - PutBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html) //
// [GetBucketTagging]
//
// [PutBucketTagging]
//
// [GetBucketTagging]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html
// [PutBucketTagging]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
func (c *Client) DeleteBucketTagging(ctx context.Context, params *DeleteBucketTaggingInput, optFns ...func(*Options)) (*DeleteBucketTaggingOutput, error) { func (c *Client) DeleteBucketTagging(ctx context.Context, params *DeleteBucketTaggingInput, optFns ...func(*Options)) (*DeleteBucketTaggingOutput, error) {
if params == nil { if params == nil {
params = &DeleteBucketTaggingInput{} params = &DeleteBucketTaggingInput{}

View file

@ -13,20 +13,31 @@ 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 action removes the // This operation is not supported by directory buckets.
// website configuration for a bucket. Amazon S3 returns a 200 OK response upon //
// successfully deleting a website configuration on the specified bucket. You will // This action removes the website configuration for a bucket. Amazon S3 returns a
// get a 200 OK response if the website configuration you are trying to delete // 200 OK response upon successfully deleting a website configuration on the
// does not exist on the bucket. Amazon S3 returns a 404 response if the bucket // specified bucket. You will get a 200 OK response if the website configuration
// specified in the request does not exist. This DELETE action requires the // you are trying to delete does not exist on the bucket. Amazon S3 returns a 404
// S3:DeleteBucketWebsite permission. By default, only the bucket owner can delete // response if the bucket specified in the request does not exist.
// the website configuration attached to a bucket. However, bucket owners can grant //
// other users permission to delete the website configuration by writing a bucket // This DELETE action requires the S3:DeleteBucketWebsite permission. By default,
// policy granting them the S3:DeleteBucketWebsite permission. For more // only the bucket owner can delete the website configuration attached to a bucket.
// information about hosting websites, see Hosting Websites on Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) // However, bucket owners can grant other users permission to delete the website
// . The following operations are related to DeleteBucketWebsite : // configuration by writing a bucket policy granting them the
// - GetBucketWebsite (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html) // S3:DeleteBucketWebsite permission.
// - PutBucketWebsite (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html) //
// For more information about hosting websites, see [Hosting Websites on Amazon S3].
//
// The following operations are related to DeleteBucketWebsite :
//
// [GetBucketWebsite]
//
// [PutBucketWebsite]
//
// [GetBucketWebsite]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html
// [PutBucketWebsite]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html
// [Hosting Websites on Amazon S3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
func (c *Client) DeleteBucketWebsite(ctx context.Context, params *DeleteBucketWebsiteInput, optFns ...func(*Options)) (*DeleteBucketWebsiteOutput, error) { func (c *Client) DeleteBucketWebsite(ctx context.Context, params *DeleteBucketWebsiteInput, optFns ...func(*Options)) (*DeleteBucketWebsiteOutput, error) {
if params == nil { if params == nil {
params = &DeleteBucketWebsiteInput{} params = &DeleteBucketWebsiteInput{}

View file

@ -22,9 +22,7 @@ import (
// - If bucket versioning is enabled, the operation inserts a delete marker, // - If bucket versioning is enabled, the operation inserts a delete marker,
// which becomes the current version of the object. To permanently delete an object // which becomes the current version of the object. To permanently delete an object
// in a versioned bucket, you must include the objects versionId in the request. // in a versioned bucket, you must include the objects versionId in the request.
// For more information about versioning-enabled buckets, see Deleting object // For more information about versioning-enabled buckets, see [Deleting object versions from a versioning-enabled bucket].
// versions from a versioning-enabled bucket (https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectVersions.html)
// .
// //
// - If bucket versioning is suspended, the operation removes the object that // - If bucket versioning is suspended, the operation removes the object that
// has a null versionId , if there is one, and inserts a delete marker that // has a null versionId , if there is one, and inserts a delete marker that
@ -32,9 +30,7 @@ import (
// versionId , and all versions of the object have a versionId , Amazon S3 does // versionId , and all versions of the object have a versionId , Amazon S3 does
// not remove the object and only inserts a delete marker. To permanently delete an // not remove the object and only inserts a delete marker. To permanently delete an
// object that has a versionId , you must include the objects versionId in the // object that has a versionId , you must include the objects versionId in the
// request. For more information about versioning-suspended buckets, see // request. For more information about versioning-suspended buckets, see [Deleting objects from versioning-suspended buckets].
// Deleting objects from versioning-suspended buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectsfromVersioningSuspendedBuckets.html)
// .
// //
// - Directory buckets - S3 Versioning isn't enabled and supported for directory // - Directory buckets - S3 Versioning isn't enabled and supported for directory
// buckets. For this API operation, only the null value of the version ID is // buckets. For this API operation, only the null value of the version ID is
@ -45,37 +41,43 @@ import (
// 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.
// //
// To remove a specific version, you must use the versionId query parameter. Using // To remove a specific version, you must use the versionId query parameter. Using
// this query parameter permanently deletes the version. If the object deleted is a // this query parameter permanently deletes the version. If the object deleted is a
// delete marker, Amazon S3 sets the response header x-amz-delete-marker to true. // delete marker, Amazon S3 sets the response header x-amz-delete-marker to true.
//
// If the object you want to delete is in a bucket where the bucket versioning // If the object you want to delete is in a bucket where the bucket versioning
// configuration is MFA Delete enabled, you must include the x-amz-mfa request // configuration is MFA Delete enabled, you must include the x-amz-mfa request
// header in the DELETE versionId request. Requests that include x-amz-mfa must // header in the DELETE versionId request. Requests that include x-amz-mfa must
// use HTTPS. For more information about MFA Delete, see Using MFA Delete (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html) // use HTTPS. For more information about MFA Delete, see [Using MFA Delete]in the Amazon S3 User
// in the Amazon S3 User Guide. To see sample requests that use versioning, see // Guide. To see sample requests that use versioning, see [Sample Request].
// Sample Request (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete) //
// . Directory buckets - MFA delete is not supported by directory buckets. You can // Directory buckets - MFA delete is not supported by directory buckets.
// delete objects by explicitly calling DELETE Object or calling ( //
// PutBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html) // You can delete objects by explicitly calling DELETE Object or calling ([PutBucketLifecycle] ) to
// ) to enable Amazon S3 to remove them for you. If you want to block users or // enable Amazon S3 to remove them for you. If you want to block users or accounts
// accounts from removing or deleting objects from your bucket, you must deny them // from removing or deleting objects from your bucket, you must deny them the
// the s3:DeleteObject , s3:DeleteObjectVersion , and s3:PutLifeCycleConfiguration // s3:DeleteObject , s3:DeleteObjectVersion , and s3:PutLifeCycleConfiguration
// actions. Directory buckets - S3 Lifecycle is not supported by directory buckets. // actions.
//
// Directory buckets - S3 Lifecycle is not supported by directory buckets.
//
// Permissions // Permissions
//
// - General purpose bucket permissions - The following permissions are required // - General purpose bucket permissions - The following permissions are required
// in your policies when your DeleteObjects request includes specific headers. // in your policies when your DeleteObjects request includes specific headers.
//
// - s3:DeleteObject - To delete an object from a bucket, you must always have // - s3:DeleteObject - To delete an object from a bucket, you must always have
// the s3:DeleteObject permission. // the s3:DeleteObject permission.
//
// - s3:DeleteObjectVersion - To delete a specific version of an object from a // - s3:DeleteObjectVersion - To delete a specific version of an object from a
// versioning-enabled bucket, you must have the s3:DeleteObjectVersion // versioning-enabled bucket, you must have the s3:DeleteObjectVersion permission.
// permission. //
// - 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
@ -83,13 +85,23 @@ 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 action is // Bucket_name.s3express-az_id.region.amazonaws.com .
// related to DeleteObject : //
// - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) // The following action is related to DeleteObject :
//
// [PutObject]
//
// [Sample Request]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete
// [Regional and Zonal endpoints]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
// [Deleting objects from versioning-suspended buckets]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectsfromVersioningSuspendedBuckets.html
// [PutObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
// [PutBucketLifecycle]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
// [CreateSession]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
// [Deleting object versions from a versioning-enabled bucket]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/DeletingObjectVersions.html
// [Using MFA Delete]: https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html
func (c *Client) DeleteObject(ctx context.Context, params *DeleteObjectInput, optFns ...func(*Options)) (*DeleteObjectOutput, error) { func (c *Client) DeleteObject(ctx context.Context, params *DeleteObjectInput, optFns ...func(*Options)) (*DeleteObjectOutput, error) {
if params == nil { if params == nil {
params = &DeleteObjectInput{} params = &DeleteObjectInput{}
@ -107,31 +119,39 @@ func (c *Client) DeleteObject(ctx context.Context, params *DeleteObjectInput, op
type DeleteObjectInput struct { type DeleteObjectInput struct {
// The bucket name of the bucket containing the object. Directory buckets - When // The bucket name of the bucket containing the object.
// 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-az1--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
@ -143,8 +163,9 @@ type DeleteObjectInput struct {
// Indicates whether S3 Object Lock should bypass Governance-mode restrictions to // Indicates whether S3 Object Lock should bypass Governance-mode restrictions to
// process this operation. To use this header, you must have the // process this operation. To use this header, you must have the
// s3:BypassGovernanceRetention permission. This functionality is not supported for // s3:BypassGovernanceRetention permission.
// directory buckets. //
// This functionality is not supported for directory buckets.
BypassGovernanceRetention *bool BypassGovernanceRetention *bool
// 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
@ -155,22 +176,27 @@ type DeleteObjectInput struct {
// The concatenation of the authentication device's serial number, a space, and // The concatenation of the authentication device's serial number, a space, and
// the value that is displayed on your authentication device. Required to // the value that is displayed on your authentication device. Required to
// permanently delete a versioned object if versioning is configured with MFA // permanently delete a versioned object if versioning is configured with MFA
// delete enabled. This functionality is not supported for directory buckets. // delete enabled.
//
// This functionality is not supported for directory buckets.
MFA *string MFA *string
// 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
// Version ID used to reference a specific version of the object. For directory // Version ID used to reference a specific version of the object.
// buckets in this API operation, only the null value of the version ID is //
// supported. // For directory buckets in this API operation, only the null value of the version
// ID is supported.
VersionId *string VersionId *string
noSmithyDocumentSerde noSmithyDocumentSerde
@ -187,16 +213,21 @@ type DeleteObjectOutput struct {
// Indicates whether the specified object version that was permanently deleted was // Indicates whether the specified object version that was permanently deleted was
// (true) or was not (false) a delete marker before deletion. In a simple DELETE, // (true) or was not (false) a delete marker before deletion. In a simple DELETE,
// this header indicates whether (true) or not (false) the current version of the // this header indicates whether (true) or not (false) the current version of the
// object is a delete marker. This functionality is not supported for directory // object is a delete marker.
// buckets. //
// This functionality is not supported for directory buckets.
DeleteMarker *bool DeleteMarker *bool
// 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
// Returns the version ID of the delete marker created as a result of the DELETE // Returns the version ID of the delete marker created as a result of the DELETE
// operation. This functionality is not supported for directory buckets. // operation.
//
// 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.

View file

@ -12,16 +12,27 @@ 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 the entire tag // This operation is not supported by directory buckets.
// set from the specified object. For more information about managing object tags, //
// see Object Tagging (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html) // Removes the entire tag set from the specified object. For more information
// . To use this operation, you must have permission to perform the // about managing object tags, see [Object Tagging].
// s3:DeleteObjectTagging action. To delete tags of a specific object version, add //
// the versionId query parameter in the request. You will need permission for the // To use this operation, you must have permission to perform the
// s3:DeleteObjectVersionTagging action. The following operations are related to // s3:DeleteObjectTagging action.
// DeleteObjectTagging : //
// - PutObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html) // To delete tags of a specific object version, add the versionId query parameter
// - GetObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html) // in the request. You will need permission for the s3:DeleteObjectVersionTagging
// action.
//
// The following operations are related to DeleteObjectTagging :
//
// [PutObjectTagging]
//
// [GetObjectTagging]
//
// [PutObjectTagging]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html
// [Object Tagging]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
// [GetObjectTagging]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
func (c *Client) DeleteObjectTagging(ctx context.Context, params *DeleteObjectTaggingInput, optFns ...func(*Options)) (*DeleteObjectTaggingOutput, error) { func (c *Client) DeleteObjectTagging(ctx context.Context, params *DeleteObjectTaggingInput, optFns ...func(*Options)) (*DeleteObjectTaggingOutput, error) {
if params == nil { if params == nil {
params = &DeleteObjectTaggingInput{} params = &DeleteObjectTaggingInput{}
@ -39,23 +50,27 @@ func (c *Client) DeleteObjectTagging(ctx context.Context, params *DeleteObjectTa
type DeleteObjectTaggingInput struct { type DeleteObjectTaggingInput struct {
// The bucket name containing the objects from which to remove the tags. Access // The bucket name containing the objects from which to remove the tags.
// points - When you use this action with an access point, you must provide the //
// alias of the access point in place of the bucket name or specify the access // Access points - When you use this action with an access point, you must provide
// the alias of the access point in place of the bucket name or specify the access
// point ARN. When using the access point ARN, you must direct requests to the // point ARN. When using the access point ARN, you must direct requests to the
// access point hostname. The access point hostname takes the form // access point hostname. The access point hostname takes the form
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide // action with an access point through the Amazon Web Services SDKs, you provide
// the access point ARN in place of the bucket name. For more information about // the access point ARN in place of the bucket name. For more information about
// access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. S3 on Outposts - When you use this action with //
// Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. // S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must
// The S3 on Outposts hostname takes the form // 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. //
// [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

View file

@ -17,47 +17,57 @@ import (
// This operation enables you to delete multiple objects from a bucket using a // This operation enables you to delete multiple objects from a bucket using a
// single HTTP request. If you know the object keys that you want to delete, then // single HTTP request. If you know the object keys that you want to delete, then
// this operation provides a suitable alternative to sending individual delete // this operation provides a suitable alternative to sending individual delete
// requests, reducing per-request overhead. The request can contain a list of up to // requests, reducing per-request overhead.
// 1000 keys that you want to delete. In the XML, you provide the object key names, //
// and optionally, version IDs if you want to delete a specific version of the // The request can contain a list of up to 1000 keys that you want to delete. In
// object from a versioning-enabled bucket. For each key, Amazon S3 performs a // the XML, you provide the object key names, and optionally, version IDs if you
// delete operation and returns the result of that delete, success or failure, in // want to delete a specific version of the object from a versioning-enabled
// the response. Note that if the object specified in the request is not found, // bucket. For each key, Amazon S3 performs a delete operation and returns the
// Amazon S3 returns the result as deleted. // result of that delete, success or failure, in the response. Note that if the
// object specified in the request is not found, Amazon S3 returns the result as
// deleted.
//
// - Directory buckets - S3 Versioning isn't enabled and supported for directory // - Directory buckets - S3 Versioning isn't enabled and supported for directory
// buckets. // 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.
// //
// The operation supports two modes for the response: verbose and quiet. By // The operation supports two modes for the response: verbose and quiet. By
// default, the operation uses verbose mode in which the response includes the // default, the operation uses verbose mode in which the response includes the
// result of deletion of each key in your request. In quiet mode the response // result of deletion of each key in your request. In quiet mode the response
// includes only keys where the delete operation encountered an error. For a // includes only keys where the delete operation encountered an error. For a
// successful deletion in a quiet mode, the operation does not return any // successful deletion in a quiet mode, the operation does not return any
// information about the delete in the response body. When performing this action // information about the delete in the response body.
// on an MFA Delete enabled bucket, that attempts to delete any versioned objects, //
// you must include an MFA token. If you do not provide one, the entire request // When performing this action on an MFA Delete enabled bucket, that attempts to
// will fail, even if there are non-versioned objects you are trying to delete. If // delete any versioned objects, you must include an MFA token. If you do not
// you provide an invalid token, whether there are versioned keys in the request or // provide one, the entire request will fail, even if there are non-versioned
// not, the entire Multi-Object Delete request will fail. For information about MFA // objects you are trying to delete. If you provide an invalid token, whether there
// Delete, see MFA Delete (https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete) // are versioned keys in the request or not, the entire Multi-Object Delete request
// in the Amazon S3 User Guide. Directory buckets - MFA delete is not supported by // will fail. For information about MFA Delete, see [MFA Delete]in the Amazon S3 User Guide.
// directory buckets. Permissions //
// Directory buckets - MFA delete is not supported by directory buckets.
//
// Permissions
//
// - General purpose bucket permissions - The following permissions are required // - General purpose bucket permissions - The following permissions are required
// in your policies when your DeleteObjects request includes specific headers. // in your policies when your DeleteObjects request includes specific headers.
//
// - s3:DeleteObject - To delete an object from a bucket, you must always specify // - s3:DeleteObject - To delete an object from a bucket, you must always specify
// the s3:DeleteObject permission. // the s3:DeleteObject permission.
//
// - s3:DeleteObjectVersion - To delete a specific version of an object from a // - s3:DeleteObjectVersion - To delete a specific version of an object from a
// versiong-enabled bucket, you must specify the s3:DeleteObjectVersion // versiong-enabled bucket, you must specify the s3:DeleteObjectVersion
// permission. // permission.
//
// - 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,26 +75,42 @@ 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 .
// .
// //
// Content-MD5 request header // Content-MD5 request header
//
// - General purpose bucket - The Content-MD5 request header is required for all // - General purpose bucket - The Content-MD5 request header is required for all
// Multi-Object Delete requests. Amazon S3 uses the header value to ensure that // Multi-Object Delete requests. Amazon S3 uses the header value to ensure that
// your request body has not been altered in transit. // your request body has not been altered in transit.
//
// - Directory bucket - The Content-MD5 request header or a additional checksum // - Directory bucket - The Content-MD5 request header or a additional checksum
// request header (including x-amz-checksum-crc32 , x-amz-checksum-crc32c , // request header (including x-amz-checksum-crc32 , x-amz-checksum-crc32c ,
// x-amz-checksum-sha1 , or x-amz-checksum-sha256 ) is required for all // x-amz-checksum-sha1 , or x-amz-checksum-sha256 ) is required for all
// Multi-Object Delete requests. // Multi-Object Delete requests.
// //
// 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 DeleteObjects : //
// - CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) // The following operations are related to DeleteObjects :
// - 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) //
// - AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html) // [UploadPart]
//
// [CompleteMultipartUpload]
//
// [ListParts]
//
// [AbortMultipartUpload]
//
// [ListParts]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
// [AbortMultipartUpload]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.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
// [CreateSession]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
// [CompleteMultipartUpload]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html
// [MFA Delete]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete
// [CreateMultipartUpload]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html
func (c *Client) DeleteObjects(ctx context.Context, params *DeleteObjectsInput, optFns ...func(*Options)) (*DeleteObjectsOutput, error) { func (c *Client) DeleteObjects(ctx context.Context, params *DeleteObjectsInput, optFns ...func(*Options)) (*DeleteObjectsOutput, error) {
if params == nil { if params == nil {
params = &DeleteObjectsInput{} params = &DeleteObjectsInput{}
@ -102,31 +128,39 @@ func (c *Client) DeleteObjects(ctx context.Context, params *DeleteObjectsInput,
type DeleteObjectsInput struct { type DeleteObjectsInput struct {
// The bucket name containing the objects to delete. Directory buckets - When you // The bucket name containing the objects to delete.
// 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 . // Directory buckets - When you use this operation with a directory bucket, you
// Path-style requests are not supported. Directory bucket names must be unique in // must use virtual-hosted-style requests in the format
// the chosen Availability Zone. Bucket names must follow the format // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
// bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3 // supported. Directory bucket names must be unique in the chosen Availability
// ). For information about bucket naming restrictions, see Directory bucket // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
// naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) // example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3 ). For information about bucket
// in the Amazon S3 User Guide. Access points - When you use this action with an // naming restrictions, see [Directory bucket naming rules]in the Amazon S3 User Guide.
// access point, you must provide the alias of the access point in place of the //
// bucket name or specify the access point ARN. When using the access point ARN, // Access points - When you use this action with an access point, you must provide
// you must direct requests to the access point hostname. The access point hostname // the alias of the access point in place of the bucket name or specify the access
// takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. // point ARN. When using the access point ARN, you must direct requests to the
// When using this action with an access point through the Amazon Web Services // access point hostname. The access point hostname takes the form
// SDKs, you provide the access point ARN in place of the bucket name. For more // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // action with an access point through the Amazon Web Services SDKs, you provide
// in the Amazon S3 User Guide. Access points and Object Lambda access points are // the access point ARN in place of the bucket name. For more information about
// not supported by directory buckets. S3 on Outposts - When you use this action // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts //
// hostname. The S3 on Outposts hostname takes the form // Access points and Object Lambda access points are 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 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
@ -138,28 +172,40 @@ type DeleteObjectsInput struct {
// Specifies whether you want to delete this object even if it has a // Specifies whether you want to delete this object even if it has a
// Governance-type Object Lock in place. To use this header, you must have the // Governance-type Object Lock in place. To use this header, you must have the
// s3:BypassGovernanceRetention permission. This functionality is not supported for // s3:BypassGovernanceRetention permission.
// directory buckets. //
// This functionality is not supported for directory buckets.
BypassGovernanceRetention *bool BypassGovernanceRetention *bool
// Indicates the algorithm used to create the checksum for the object when you use // Indicates the algorithm used to create the checksum for the object when you use
// the SDK. This header will not provide any additional functionality if you don't // the SDK. This header will not provide any additional functionality if you don't
// use the SDK. When you send this header, there must be a corresponding // use the SDK. When you send this header, there must be a corresponding
// x-amz-checksum-algorithm or x-amz-trailer header sent. Otherwise, Amazon S3 // x-amz-checksum-algorithm or x-amz-trailer header sent. Otherwise, Amazon S3
// fails the request with the HTTP status code 400 Bad Request . For the // fails the request with the HTTP status code 400 Bad Request .
// x-amz-checksum-algorithm header, replace algorithm with the supported //
// algorithm from the following list: // For the x-amz-checksum-algorithm header, replace algorithm with the
// supported algorithm from the following list:
//
// - CRC32 // - CRC32
//
// - CRC32C // - CRC32C
//
// - SHA1 // - SHA1
//
// - SHA256 // - SHA256
// For more information, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) //
// in the Amazon S3 User Guide. If the individual checksum value you provide // For more information, see [Checking object integrity] in the Amazon S3 User Guide.
// through x-amz-checksum-algorithm doesn't match the checksum algorithm you set //
// through x-amz-sdk-checksum-algorithm , Amazon S3 ignores any provided // If the individual checksum value you provide through x-amz-checksum-algorithm
// ChecksumAlgorithm parameter and uses the checksum algorithm that matches the // doesn't match the checksum algorithm you set through
// provided value in x-amz-checksum-algorithm . If you provide an individual // x-amz-sdk-checksum-algorithm , Amazon S3 ignores any provided ChecksumAlgorithm
// checksum, Amazon S3 ignores any provided ChecksumAlgorithm parameter. // parameter and uses the checksum algorithm that matches the provided value in
// x-amz-checksum-algorithm .
//
// If you provide an individual checksum, Amazon S3 ignores any provided
// ChecksumAlgorithm parameter.
//
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
ChecksumAlgorithm types.ChecksumAlgorithm ChecksumAlgorithm types.ChecksumAlgorithm
// 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
@ -170,25 +216,31 @@ type DeleteObjectsInput struct {
// The concatenation of the authentication device's serial number, a space, and // The concatenation of the authentication device's serial number, a space, and
// the value that is displayed on your authentication device. Required to // the value that is displayed on your authentication device. Required to
// permanently delete a versioned object if versioning is configured with MFA // permanently delete a versioned object if versioning is configured with MFA
// delete enabled. When performing the DeleteObjects operation on an MFA delete // delete enabled.
// enabled bucket, which attempts to delete the specified versioned objects, you //
// must include an MFA token. If you don't provide an MFA token, the entire request // When performing the DeleteObjects operation on an MFA delete enabled bucket,
// will fail, even if there are non-versioned objects that you are trying to // which attempts to delete the specified versioned objects, you must include an
// delete. If you provide an invalid token, whether there are versioned object keys // MFA token. If you don't provide an MFA token, the entire request will fail, even
// in the request or not, the entire Multi-Object Delete request will fail. For // if there are non-versioned objects that you are trying to delete. If you provide
// information about MFA Delete, see MFA Delete (https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete) // an invalid token, whether there are versioned object keys in the request or not,
// in the Amazon S3 User Guide. This functionality is not supported for directory // the entire Multi-Object Delete request will fail. For information about MFA
// buckets. // Delete, see [MFA Delete]in the Amazon S3 User Guide.
//
// This functionality is not supported for directory buckets.
//
// [MFA Delete]: https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete
MFA *string MFA *string
// 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
noSmithyDocumentSerde noSmithyDocumentSerde
@ -210,7 +262,9 @@ type DeleteObjectsOutput struct {
Errors []types.Error Errors []types.Error
// 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.

View file

@ -13,17 +13,28 @@ 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 the // This operation is not supported by directory buckets.
// PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, //
// you must have the s3:PutBucketPublicAccessBlock permission. For more // Removes the PublicAccessBlock configuration for an Amazon S3 bucket. To use
// information about permissions, see Permissions Related to Bucket Subresource // this operation, you must have the s3:PutBucketPublicAccessBlock permission. For
// Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // more information about permissions, see [Permissions Related to Bucket Subresource Operations]and [Managing Access Permissions to Your Amazon S3 Resources].
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) //
// . The following operations are related to DeletePublicAccessBlock : // The following operations are related to DeletePublicAccessBlock :
// - Using Amazon S3 Block Public Access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html) //
// - GetPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html) // [Using Amazon S3 Block Public Access]
// - PutPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html) //
// - GetBucketPolicyStatus (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html) // [GetPublicAccessBlock]
//
// [PutPublicAccessBlock]
//
// [GetBucketPolicyStatus]
//
// [GetPublicAccessBlock]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html
// [PutPublicAccessBlock]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.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
// [Using Amazon S3 Block Public Access]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
// [Managing Access Permissions to Your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
// [GetBucketPolicyStatus]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html
func (c *Client) DeletePublicAccessBlock(ctx context.Context, params *DeletePublicAccessBlockInput, optFns ...func(*Options)) (*DeletePublicAccessBlockOutput, error) { func (c *Client) DeletePublicAccessBlock(ctx context.Context, params *DeletePublicAccessBlockInput, optFns ...func(*Options)) (*DeletePublicAccessBlockOutput, error) {
if params == nil { if params == nil {
params = &DeletePublicAccessBlockInput{} params = &DeletePublicAccessBlockInput{}

View file

@ -14,26 +14,36 @@ 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 GET action uses the accelerate subresource to return the Transfer //
// Acceleration state of a bucket, which is either Enabled or Suspended . Amazon S3 // This implementation of the GET action uses the accelerate subresource to return
// Transfer Acceleration is a bucket-level feature that enables you to perform // the Transfer Acceleration state of a bucket, which is either Enabled or
// faster data transfers to and from Amazon S3. To use this operation, you must // Suspended . Amazon S3 Transfer Acceleration is a bucket-level feature that
// have permission to perform the s3:GetAccelerateConfiguration action. The bucket // enables you to perform faster data transfers to and from Amazon S3.
// owner has this permission by default. The bucket owner can grant this permission //
// to others. For more information about permissions, see Permissions Related to // To use this operation, you must have permission to perform the
// Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // s3:GetAccelerateConfiguration 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. You set the Transfer Acceleration state of an // 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.
// existing bucket to Enabled or Suspended by using the //
// PutBucketAccelerateConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html) // You set the Transfer Acceleration state of an existing bucket to Enabled or
// operation. A GET accelerate request does not return a state value for a bucket // Suspended by using the [PutBucketAccelerateConfiguration] operation.
// that has no transfer acceleration state. A bucket has no Transfer Acceleration //
// state if a state has never been set on the bucket. For more information about // A GET accelerate request does not return a state value for a bucket that has no
// transfer acceleration, see Transfer Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) // transfer acceleration state. A bucket has no Transfer Acceleration state if a
// in the Amazon S3 User Guide. The following operations are related to // state has never been set on the bucket.
// GetBucketAccelerateConfiguration : //
// - PutBucketAccelerateConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html) // For more information about transfer acceleration, see [Transfer Acceleration] in the Amazon S3 User
// Guide.
//
// The following operations are related to GetBucketAccelerateConfiguration :
//
// [PutBucketAccelerateConfiguration]
//
// [PutBucketAccelerateConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.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
// [Transfer Acceleration]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
func (c *Client) GetBucketAccelerateConfiguration(ctx context.Context, params *GetBucketAccelerateConfigurationInput, optFns ...func(*Options)) (*GetBucketAccelerateConfigurationOutput, error) { func (c *Client) GetBucketAccelerateConfiguration(ctx context.Context, params *GetBucketAccelerateConfigurationInput, optFns ...func(*Options)) (*GetBucketAccelerateConfigurationOutput, error) {
if params == nil { if params == nil {
params = &GetBucketAccelerateConfigurationInput{} params = &GetBucketAccelerateConfigurationInput{}
@ -65,10 +75,12 @@ type GetBucketAccelerateConfigurationInput 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
@ -82,7 +94,9 @@ func (in *GetBucketAccelerateConfigurationInput) bindEndpointParams(p *EndpointP
type GetBucketAccelerateConfigurationOutput struct { type GetBucketAccelerateConfigurationOutput 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
// The accelerate configuration of the bucket. // The accelerate configuration of the bucket.

View file

@ -14,26 +14,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. This implementation of // This operation is not supported by directory buckets.
// the GET action uses the acl subresource to return the access control list (ACL) //
// of a bucket. To use GET to return the ACL of the bucket, you must have the // This implementation of the GET action uses the acl subresource to return the
// READ_ACP access to the bucket. If READ_ACP permission is granted to the // access control list (ACL) of a bucket. To use GET to return the ACL of the
// anonymous user, you can return the ACL of the bucket without using an // bucket, you must have the READ_ACP access to the bucket. If READ_ACP permission
// authorization header. When you use this API operation with an access point, // is granted to the anonymous user, you can return the ACL of the bucket without
// provide the alias of the access point in place of the bucket name. When you use // using an authorization header.
// this API operation with an Object Lambda access point, provide the alias of the //
// Object Lambda access point in place of the bucket name. If the Object Lambda // When you use this API operation with an access point, provide the alias of the
// access point alias in a request is not valid, the error code // access point in place of the bucket name.
//
// When you use this API operation with an Object Lambda access point, provide the
// alias of the Object Lambda access point in place of the bucket name. If the
// Object Lambda access point alias in a request is not valid, the error code
// InvalidAccessPointAliasError is returned. For more information about // InvalidAccessPointAliasError is returned. For more information about
// InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList) // InvalidAccessPointAliasError , see [List of Error Codes].
// . If your bucket uses the bucket owner enforced setting for S3 Object Ownership, //
// If your bucket uses the bucket owner enforced setting for S3 Object Ownership,
// requests to read ACLs are still supported and return the // requests to read ACLs are still supported and return the
// bucket-owner-full-control ACL with the owner being the account that created the // bucket-owner-full-control ACL with the owner being the account that created the
// bucket. For more information, see Controlling object ownership and disabling // bucket. For more information, see [Controlling object ownership and disabling ACLs]in the Amazon S3 User Guide.
// ACLs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) //
// in the Amazon S3 User Guide. The following operations are related to // The following operations are related to GetBucketAcl :
// GetBucketAcl : //
// - ListObjects (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html) // [ListObjects]
//
// [ListObjects]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html
// [List of Error Codes]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
// [Controlling object ownership and disabling ACLs]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
func (c *Client) GetBucketAcl(ctx context.Context, params *GetBucketAclInput, optFns ...func(*Options)) (*GetBucketAclOutput, error) { func (c *Client) GetBucketAcl(ctx context.Context, params *GetBucketAclInput, optFns ...func(*Options)) (*GetBucketAclOutput, error) {
if params == nil { if params == nil {
params = &GetBucketAclInput{} params = &GetBucketAclInput{}
@ -51,14 +60,18 @@ func (c *Client) GetBucketAcl(ctx context.Context, params *GetBucketAclInput, op
type GetBucketAclInput struct { type GetBucketAclInput struct {
// Specifies the S3 bucket whose ACL is being requested. When you use this API // Specifies the S3 bucket whose ACL is being requested.
// operation with an access point, provide the alias of the access point in place //
// of the bucket name. When you use this API operation with an Object Lambda access // When you use this API operation with an access point, provide the alias of the
// point, provide the alias of the Object Lambda access point in place of the // access point in place of the bucket name.
// bucket name. If the Object Lambda access point alias in a request is not valid, //
// the error code InvalidAccessPointAliasError is returned. For more information // When you use this API operation with an Object Lambda access point, provide the
// about InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList) // alias of the Object Lambda access point in place of the bucket name. If the
// . // Object Lambda access point alias in a request is not valid, the error code
// InvalidAccessPointAliasError is returned. For more information about
// InvalidAccessPointAliasError , see [List of Error Codes].
//
// [List of Error Codes]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
// //
// This member is required. // This member is required.
Bucket *string Bucket *string

View file

@ -14,21 +14,33 @@ 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 GET action returns an analytics configuration (identified by the analytics //
// configuration ID) from the bucket. To use this operation, you must have // This implementation of the GET action returns an analytics configuration
// permissions to perform the s3:GetAnalyticsConfiguration action. The bucket // (identified by the analytics configuration ID) from the bucket.
// owner has this permission by default. The bucket owner can grant this permission //
// to others. For more information about permissions, see Permissions Related to // To use this operation, you must have permissions to perform the
// Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // s3:GetAnalyticsConfiguration 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. For information about Amazon S3 analytics feature, // 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.
// see Amazon S3 Analytics Storage Class Analysis (https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html) //
// in the Amazon S3 User Guide. The following operations are related to // For information about Amazon S3 analytics feature, see [Amazon S3 Analytics Storage Class Analysis] in the Amazon S3 User
// GetBucketAnalyticsConfiguration : // Guide.
// - DeleteBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html) //
// - ListBucketAnalyticsConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html) // The following operations are related to GetBucketAnalyticsConfiguration :
// - PutBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html) //
// [DeleteBucketAnalyticsConfiguration]
//
// [ListBucketAnalyticsConfigurations]
//
// [PutBucketAnalyticsConfiguration]
//
// [Amazon S3 Analytics Storage Class Analysis]: https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html
// [DeleteBucketAnalyticsConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.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
// [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) GetBucketAnalyticsConfiguration(ctx context.Context, params *GetBucketAnalyticsConfigurationInput, optFns ...func(*Options)) (*GetBucketAnalyticsConfigurationOutput, error) { func (c *Client) GetBucketAnalyticsConfiguration(ctx context.Context, params *GetBucketAnalyticsConfigurationInput, optFns ...func(*Options)) (*GetBucketAnalyticsConfigurationOutput, error) {
if params == nil { if params == nil {
params = &GetBucketAnalyticsConfigurationInput{} params = &GetBucketAnalyticsConfigurationInput{}

View file

@ -14,21 +14,36 @@ 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. Returns the Cross-Origin // This operation is not supported by directory buckets.
// Resource Sharing (CORS) configuration information set for the bucket. To use //
// this operation, you must have permission to perform the s3:GetBucketCORS // Returns the Cross-Origin Resource Sharing (CORS) configuration information set
// for the bucket.
//
// To use this operation, you must have permission to perform the s3:GetBucketCORS
// action. By default, the bucket owner has this permission and can grant it to // action. By default, the bucket owner has this permission and can grant it to
// others. When you use this API operation with an access point, provide the alias // others.
// of the access point in place of the bucket name. When you use this API operation //
// with an Object Lambda access point, provide the alias of the Object Lambda // When you use this API operation with an access point, provide the alias of the
// access point in place of the bucket name. If the Object Lambda access point // access point in place of the bucket name.
// alias in a request is not valid, the error code InvalidAccessPointAliasError is //
// returned. For more information about InvalidAccessPointAliasError , see List of // When you use this API operation with an Object Lambda access point, provide the
// Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList) // alias of the Object Lambda access point in place of the bucket name. If the
// . For more information about CORS, see Enabling Cross-Origin Resource Sharing (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) // Object Lambda access point alias in a request is not valid, the error code
// . The following operations are related to GetBucketCors : // InvalidAccessPointAliasError is returned. For more information about
// - PutBucketCors (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html) // InvalidAccessPointAliasError , see [List of Error Codes].
// - DeleteBucketCors (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html) //
// For more information about CORS, see [Enabling Cross-Origin Resource Sharing].
//
// The following operations are related to GetBucketCors :
//
// [PutBucketCors]
//
// [DeleteBucketCors]
//
// [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
// [List of Error Codes]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
// [DeleteBucketCors]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html
func (c *Client) GetBucketCors(ctx context.Context, params *GetBucketCorsInput, optFns ...func(*Options)) (*GetBucketCorsOutput, error) { func (c *Client) GetBucketCors(ctx context.Context, params *GetBucketCorsInput, optFns ...func(*Options)) (*GetBucketCorsOutput, error) {
if params == nil { if params == nil {
params = &GetBucketCorsInput{} params = &GetBucketCorsInput{}
@ -46,14 +61,18 @@ func (c *Client) GetBucketCors(ctx context.Context, params *GetBucketCorsInput,
type GetBucketCorsInput struct { type GetBucketCorsInput struct {
// The bucket name for which to get the cors configuration. When you use this API // The bucket name for which to get the cors configuration.
// operation with an access point, provide the alias of the access point in place //
// of the bucket name. When you use this API operation with an Object Lambda access // When you use this API operation with an access point, provide the alias of the
// point, provide the alias of the Object Lambda access point in place of the // access point in place of the bucket name.
// bucket name. If the Object Lambda access point alias in a request is not valid, //
// the error code InvalidAccessPointAliasError is returned. For more information // When you use this API operation with an Object Lambda access point, provide the
// about InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList) // alias of the Object Lambda access point in place of the bucket name. If the
// . // Object Lambda access point alias in a request is not valid, the error code
// InvalidAccessPointAliasError is returned. For more information about
// InvalidAccessPointAliasError , see [List of Error Codes].
//
// [List of Error Codes]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
// //
// This member is required. // This member is required.
Bucket *string Bucket *string

View file

@ -14,20 +14,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. Returns the default // This operation is not supported by directory buckets.
// encryption configuration for an Amazon S3 bucket. By default, all buckets have a //
// default encryption configuration that uses server-side encryption with Amazon S3 // Returns the default encryption configuration for an Amazon S3 bucket. By
// managed keys (SSE-S3). For information about the bucket default encryption // default, all buckets have a default encryption configuration that uses
// feature, see Amazon S3 Bucket Default Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) // server-side encryption with Amazon S3 managed keys (SSE-S3). For information
// in the Amazon S3 User Guide. To use this operation, you must have permission to // about the bucket default encryption feature, see [Amazon S3 Bucket Default Encryption]in the Amazon S3 User Guide.
// perform the s3:GetEncryptionConfiguration action. The bucket owner has this //
// permission by default. The bucket owner can grant this permission to others. For // To use this operation, you must have permission to perform the
// more information about permissions, see Permissions Related to Bucket // s3:GetEncryptionConfiguration action. The bucket owner has this permission by
// Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // default. The bucket owner can grant this permission to others. For more
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) // information about permissions, see [Permissions Related to Bucket Subresource Operations]and [Managing Access Permissions to Your Amazon S3 Resources].
// . The following operations are related to GetBucketEncryption : //
// - PutBucketEncryption (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketEncryption.html) // The following operations are related to GetBucketEncryption :
// - DeleteBucketEncryption (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html) //
// [PutBucketEncryption]
//
// [DeleteBucketEncryption]
//
// [DeleteBucketEncryption]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.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
// [Amazon S3 Bucket Default Encryption]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
// [Managing Access Permissions to Your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
func (c *Client) GetBucketEncryption(ctx context.Context, params *GetBucketEncryptionInput, optFns ...func(*Options)) (*GetBucketEncryptionOutput, error) { func (c *Client) GetBucketEncryption(ctx context.Context, params *GetBucketEncryptionInput, optFns ...func(*Options)) (*GetBucketEncryptionOutput, error) {
if params == nil { if params == nil {
params = &GetBucketEncryptionInput{} params = &GetBucketEncryptionInput{}

View file

@ -14,25 +14,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. Gets 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 // Gets 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 GetBucketIntelligentTieringConfiguration include: //
// - DeleteBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.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 GetBucketIntelligentTieringConfiguration include:
//
// [DeleteBucketIntelligentTieringConfiguration]
//
// [PutBucketIntelligentTieringConfiguration]
//
// [ListBucketIntelligentTieringConfigurations]
//
// [ListBucketIntelligentTieringConfigurations]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.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
// [DeleteBucketIntelligentTieringConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html
func (c *Client) GetBucketIntelligentTieringConfiguration(ctx context.Context, params *GetBucketIntelligentTieringConfigurationInput, optFns ...func(*Options)) (*GetBucketIntelligentTieringConfigurationOutput, error) { func (c *Client) GetBucketIntelligentTieringConfiguration(ctx context.Context, params *GetBucketIntelligentTieringConfigurationInput, optFns ...func(*Options)) (*GetBucketIntelligentTieringConfigurationOutput, error) {
if params == nil { if params == nil {
params = &GetBucketIntelligentTieringConfigurationInput{} params = &GetBucketIntelligentTieringConfigurationInput{}

View file

@ -14,18 +14,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. Returns an inventory // This operation is not supported by directory buckets.
// configuration (identified by the inventory configuration ID) from the bucket. To //
// use this operation, you must have permissions to perform the // Returns an inventory configuration (identified by the inventory configuration
// ID) from the bucket.
//
// To use this operation, you must have permissions to perform the
// s3:GetInventoryConfiguration action. The bucket owner has this permission by // s3:GetInventoryConfiguration action. The bucket owner has this permission by
// default and can grant this permission to others. For more information about // default and can 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) // permissions, see [Permissions Related to Bucket Subresource Operations]and [Managing Access Permissions to Your Amazon S3 Resources].
// 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 inventory feature, see Amazon S3 Inventory (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html) // For information about the Amazon S3 inventory feature, see [Amazon S3 Inventory].
// . The following operations are related to GetBucketInventoryConfiguration : //
// - DeleteBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html) // The following operations are related to GetBucketInventoryConfiguration :
// - ListBucketInventoryConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html) //
// - PutBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html) // [DeleteBucketInventoryConfiguration]
//
// [ListBucketInventoryConfigurations]
//
// [PutBucketInventoryConfiguration]
//
// [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
// [DeleteBucketInventoryConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html
// [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
func (c *Client) GetBucketInventoryConfiguration(ctx context.Context, params *GetBucketInventoryConfigurationInput, optFns ...func(*Options)) (*GetBucketInventoryConfigurationOutput, error) { func (c *Client) GetBucketInventoryConfiguration(ctx context.Context, params *GetBucketInventoryConfigurationInput, optFns ...func(*Options)) (*GetBucketInventoryConfigurationOutput, error) {
if params == nil { if params == nil {
params = &GetBucketInventoryConfigurationInput{} params = &GetBucketInventoryConfigurationInput{}

View file

@ -14,35 +14,51 @@ 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. Bucket lifecycle // This operation is not supported by directory buckets.
// configuration now supports specifying a lifecycle rule using an object key name //
// prefix, one or more object tags, object size, or any combination of these. // Bucket lifecycle configuration now supports specifying a lifecycle rule using
// Accordingly, this section describes the latest API. The previous version of the // an object key name prefix, one or more object tags, object size, or any
// API supported filtering based only on an object key name prefix, which is // combination of these. Accordingly, this section describes the latest API. The
// supported for backward compatibility. For the related API description, see // previous version of the API supported filtering based only on an object key name
// GetBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html) // prefix, which is supported for backward compatibility. For the related API
// . Accordingly, this section describes the latest API. The response describes the // description, see [GetBucketLifecycle]. Accordingly, this section describes the latest API. The
// new filter element that you can use to specify a filter to select a subset of // response describes the new filter element that you can use to specify a filter
// objects to which the rule applies. If you are using a previous version of the // to select a subset of objects to which the rule applies. If you are using a
// lifecycle configuration, it still works. For the earlier action, Returns the // previous version of the lifecycle configuration, it still works. For the earlier
// lifecycle configuration information set on the bucket. For information about // action,
// lifecycle configuration, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) //
// . To use this operation, you must have permission to perform the // Returns the lifecycle configuration information set on the bucket. For
// information about lifecycle configuration, see [Object Lifecycle Management].
//
// To use this operation, you must have permission to perform the
// s3:GetLifecycleConfiguration action. The bucket owner has this permission, by // s3:GetLifecycleConfiguration 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) // GetBucketLifecycleConfiguration has the following special error:
// . GetBucketLifecycleConfiguration has the following special error: //
// - Error code: NoSuchLifecycleConfiguration // - Error code: NoSuchLifecycleConfiguration
//
// - Description: The lifecycle configuration does not exist. // - Description: The lifecycle configuration does not exist.
//
// - HTTP Status Code: 404 Not Found // - HTTP Status Code: 404 Not Found
//
// - SOAP Fault Code Prefix: Client // - SOAP Fault Code Prefix: Client
// //
// The following operations are related to GetBucketLifecycleConfiguration : // The following operations are related to GetBucketLifecycleConfiguration :
// - GetBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html) //
// - PutBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html) // [GetBucketLifecycle]
// - DeleteBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html) //
// [PutBucketLifecycle]
//
// [DeleteBucketLifecycle]
//
// [GetBucketLifecycle]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html
// [Object Lifecycle Management]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.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
// [PutBucketLifecycle]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
// [Managing Access Permissions to Your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
// [DeleteBucketLifecycle]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
func (c *Client) GetBucketLifecycleConfiguration(ctx context.Context, params *GetBucketLifecycleConfigurationInput, optFns ...func(*Options)) (*GetBucketLifecycleConfigurationOutput, error) { func (c *Client) GetBucketLifecycleConfiguration(ctx context.Context, params *GetBucketLifecycleConfigurationInput, optFns ...func(*Options)) (*GetBucketLifecycleConfigurationOutput, error) {
if params == nil { if params == nil {
params = &GetBucketLifecycleConfigurationInput{} params = &GetBucketLifecycleConfigurationInput{}

View file

@ -20,23 +20,34 @@ import (
"io" "io"
) )
// This operation is not supported by directory buckets. Returns the Region the // This operation is not supported by directory buckets.
// bucket resides in. You set the bucket's Region using the LocationConstraint //
// request parameter in a CreateBucket request. For more information, see // Returns the Region the bucket resides in. You set the bucket's Region using the
// CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // LocationConstraint request parameter in a CreateBucket request. For more
// . When you use this API operation with an access point, provide the alias of the // information, see [CreateBucket].
// access point in place of the bucket name. When you use this API operation with //
// an Object Lambda access point, provide the alias of the Object Lambda access // When you use this API operation with an access point, provide the alias of the
// point in place of the bucket name. If the Object Lambda access point alias in a // access point in place of the bucket name.
// request is not valid, the error code InvalidAccessPointAliasError is returned. //
// For more information about InvalidAccessPointAliasError , see List of Error // When you use this API operation with an Object Lambda access point, provide the
// Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList) // alias of the Object Lambda access point in place of the bucket name. If the
// . We recommend that you use HeadBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html) // Object Lambda access point alias in a request is not valid, the error code
// to return the Region that a bucket resides in. For backward compatibility, // InvalidAccessPointAliasError is returned. For more information about
// Amazon S3 continues to support GetBucketLocation. The following operations are // InvalidAccessPointAliasError , see [List of Error Codes].
// related to GetBucketLocation : //
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // We recommend that you use [HeadBucket] to return the Region that a bucket resides in. For
// - CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // backward compatibility, Amazon S3 continues to support GetBucketLocation.
//
// The following operations are related to GetBucketLocation :
//
// [GetObject]
//
// [CreateBucket]
//
// [List of Error Codes]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
// [CreateBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
// [GetObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
// [HeadBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html
func (c *Client) GetBucketLocation(ctx context.Context, params *GetBucketLocationInput, optFns ...func(*Options)) (*GetBucketLocationOutput, error) { func (c *Client) GetBucketLocation(ctx context.Context, params *GetBucketLocationInput, optFns ...func(*Options)) (*GetBucketLocationOutput, error) {
if params == nil { if params == nil {
params = &GetBucketLocationInput{} params = &GetBucketLocationInput{}
@ -54,14 +65,18 @@ func (c *Client) GetBucketLocation(ctx context.Context, params *GetBucketLocatio
type GetBucketLocationInput struct { type GetBucketLocationInput struct {
// The name of the bucket for which to get the location. When you use this API // The name of the bucket for which to get the location.
// operation with an access point, provide the alias of the access point in place //
// of the bucket name. When you use this API operation with an Object Lambda access // When you use this API operation with an access point, provide the alias of the
// point, provide the alias of the Object Lambda access point in place of the // access point in place of the bucket name.
// bucket name. If the Object Lambda access point alias in a request is not valid, //
// the error code InvalidAccessPointAliasError is returned. For more information // When you use this API operation with an Object Lambda access point, provide the
// about InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList) // alias of the Object Lambda access point in place of the bucket name. If the
// . // Object Lambda access point alias in a request is not valid, the error code
// InvalidAccessPointAliasError is returned. For more information about
// InvalidAccessPointAliasError , see [List of Error Codes].
//
// [List of Error Codes]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
// //
// This member is required. // This member is required.
Bucket *string Bucket *string
@ -82,8 +97,10 @@ func (in *GetBucketLocationInput) bindEndpointParams(p *EndpointParameters) {
type GetBucketLocationOutput struct { type GetBucketLocationOutput struct {
// Specifies the Region where the bucket resides. For a list of all the Amazon S3 // Specifies the Region where the bucket resides. For a list of all the Amazon S3
// supported location constraints by Region, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) // supported location constraints by Region, see [Regions and Endpoints]. Buckets in Region us-east-1
// . Buckets in Region us-east-1 have a LocationConstraint of null . // have a LocationConstraint of null .
//
// [Regions and Endpoints]: https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region
LocationConstraint types.BucketLocationConstraint LocationConstraint types.BucketLocationConstraint
// Metadata pertaining to the operation's result. // Metadata pertaining to the operation's result.

View file

@ -14,11 +14,19 @@ 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. Returns the logging // This operation is not supported by directory buckets.
// status of a bucket and the permissions users have to view and modify that //
// status. The following operations are related to GetBucketLogging : // Returns the logging status of a bucket and the permissions users have to view
// - CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // and modify that status.
// - PutBucketLogging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html) //
// The following operations are related to GetBucketLogging :
//
// [CreateBucket]
//
// [PutBucketLogging]
//
// [PutBucketLogging]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html
// [CreateBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
func (c *Client) GetBucketLogging(ctx context.Context, params *GetBucketLoggingInput, optFns ...func(*Options)) (*GetBucketLoggingOutput, error) { func (c *Client) GetBucketLogging(ctx context.Context, params *GetBucketLoggingInput, optFns ...func(*Options)) (*GetBucketLoggingOutput, error) {
if params == nil { if params == nil {
params = &GetBucketLoggingInput{} params = &GetBucketLoggingInput{}
@ -57,8 +65,10 @@ func (in *GetBucketLoggingInput) bindEndpointParams(p *EndpointParameters) {
type GetBucketLoggingOutput struct { type GetBucketLoggingOutput struct {
// Describes where logs are stored and the prefix that Amazon S3 assigns to all // Describes where logs are stored and the prefix that Amazon S3 assigns to all
// log object keys for a bucket. For more information, see PUT Bucket logging (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html) // log object keys for a bucket. For more information, see [PUT Bucket logging]in the Amazon S3 API
// in the Amazon S3 API Reference. // Reference.
//
// [PUT Bucket logging]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html
LoggingEnabled *types.LoggingEnabled LoggingEnabled *types.LoggingEnabled
// Metadata pertaining to the operation's result. // Metadata pertaining to the operation's result.

View file

@ -14,21 +14,34 @@ 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. Gets a metrics // This operation is not supported by directory buckets.
// configuration (specified by the metrics configuration ID) from the bucket. Note //
// that this doesn't include the daily storage metrics. To use this operation, you // Gets a metrics configuration (specified by the metrics configuration ID) from
// must have permissions to perform the s3:GetMetricsConfiguration action. The // the bucket. Note that this doesn't include the daily storage metrics.
// bucket owner has this permission by default. The bucket owner can grant this //
// permission to others. For more information about permissions, see Permissions // To use this operation, you must have permissions to perform the
// 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) // s3:GetMetricsConfiguration 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 GetBucketMetricsConfiguration : // For information about CloudWatch request metrics for Amazon S3, see [Monitoring Metrics with Amazon CloudWatch].
// - PutBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html) //
// - DeleteBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html) // The following operations are related to GetBucketMetricsConfiguration :
// - 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) // [PutBucketMetricsConfiguration]
//
// [DeleteBucketMetricsConfiguration]
//
// [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
// [ListBucketMetricsConfigurations]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html
// [PutBucketMetricsConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html
// [DeleteBucketMetricsConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html
// [Managing Access Permissions to Your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
func (c *Client) GetBucketMetricsConfiguration(ctx context.Context, params *GetBucketMetricsConfigurationInput, optFns ...func(*Options)) (*GetBucketMetricsConfigurationOutput, error) { func (c *Client) GetBucketMetricsConfiguration(ctx context.Context, params *GetBucketMetricsConfigurationInput, optFns ...func(*Options)) (*GetBucketMetricsConfigurationOutput, error) {
if params == nil { if params == nil {
params = &GetBucketMetricsConfigurationInput{} params = &GetBucketMetricsConfigurationInput{}

View file

@ -14,24 +14,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. Returns the notification // This operation is not supported by directory buckets.
// configuration of a bucket. If notifications are not enabled on the bucket, the //
// action returns an empty NotificationConfiguration element. By default, you must // Returns the notification configuration of a bucket.
// be the bucket owner to read the notification configuration of a bucket. However, //
// the bucket owner can use a bucket policy to grant permission to other users to // If notifications are not enabled on the bucket, the action returns an empty
// read this configuration with the s3:GetBucketNotification permission. When you // NotificationConfiguration element.
// use this API operation with an access point, provide the alias of the access //
// point in place of the bucket name. When you use this API operation with an // By default, you must be the bucket owner to read the notification configuration
// Object Lambda access point, provide the alias of the Object Lambda access point // of a bucket. However, the bucket owner can use a bucket policy to grant
// in place of the bucket name. If the Object Lambda access point alias in a // permission to other users to read this configuration with the
// request is not valid, the error code InvalidAccessPointAliasError is returned. // s3:GetBucketNotification permission.
// For more information about InvalidAccessPointAliasError , see List of Error //
// Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList) // When you use this API operation with an access point, provide the alias of the
// . For more information about setting and reading the notification configuration // access point in place of the bucket name.
// on a bucket, see Setting Up Notification of Bucket Events (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) //
// . For more information about bucket policies, see Using Bucket Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html) // When you use this API operation with an Object Lambda access point, provide the
// . The following action is related to GetBucketNotification : // alias of the Object Lambda access point in place of the bucket name. If the
// - PutBucketNotification (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html) // Object Lambda access point alias in a request is not valid, the error code
// InvalidAccessPointAliasError is returned. For more information about
// InvalidAccessPointAliasError , see [List of Error Codes].
//
// For more information about setting and reading the notification configuration
// on a bucket, see [Setting Up Notification of Bucket Events]. For more information about bucket policies, see [Using Bucket Policies].
//
// The following action is related to GetBucketNotification :
//
// [PutBucketNotification]
//
// [Using Bucket Policies]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
// [Setting Up Notification of Bucket Events]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
// [List of Error Codes]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
// [PutBucketNotification]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html
func (c *Client) GetBucketNotificationConfiguration(ctx context.Context, params *GetBucketNotificationConfigurationInput, optFns ...func(*Options)) (*GetBucketNotificationConfigurationOutput, error) { func (c *Client) GetBucketNotificationConfiguration(ctx context.Context, params *GetBucketNotificationConfigurationInput, optFns ...func(*Options)) (*GetBucketNotificationConfigurationOutput, error) {
if params == nil { if params == nil {
params = &GetBucketNotificationConfigurationInput{} params = &GetBucketNotificationConfigurationInput{}
@ -49,15 +63,18 @@ func (c *Client) GetBucketNotificationConfiguration(ctx context.Context, params
type GetBucketNotificationConfigurationInput struct { type GetBucketNotificationConfigurationInput struct {
// The name of the bucket for which to get the notification configuration. When // The name of the bucket for which to get the notification configuration.
// you use this API operation with an access point, provide the alias of the access //
// point in place of the bucket name. When you use this API operation with an // When you use this API operation with an access point, provide the alias of the
// Object Lambda access point, provide the alias of the Object Lambda access point // access point in place of the bucket name.
// in place of the bucket name. If the Object Lambda access point alias in a //
// request is not valid, the error code InvalidAccessPointAliasError is returned. // When you use this API operation with an Object Lambda access point, provide the
// For more information about InvalidAccessPointAliasError , see List of Error // alias of the Object Lambda access point in place of the bucket name. If the
// Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList) // Object Lambda access point alias in a request is not valid, the error code
// . // InvalidAccessPointAliasError is returned. For more information about
// InvalidAccessPointAliasError , see [List of Error Codes].
//
// [List of Error Codes]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
// //
// This member is required. // This member is required.
Bucket *string Bucket *string

View file

@ -14,14 +14,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. Retrieves // This operation is not supported by directory buckets.
// OwnershipControls for an Amazon S3 bucket. To use this operation, you must have //
// the s3:GetBucketOwnershipControls permission. For more information about Amazon // Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, you
// S3 permissions, see Specifying permissions in a policy (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html) // must have the s3:GetBucketOwnershipControls permission. For more information
// . For information about Amazon S3 Object Ownership, see Using Object Ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) // about Amazon S3 permissions, see [Specifying permissions in a policy].
// . The following operations are related to GetBucketOwnershipControls : //
// - PutBucketOwnershipControls // For information about Amazon S3 Object Ownership, see [Using Object Ownership].
// - DeleteBucketOwnershipControls //
// The following operations are related to GetBucketOwnershipControls :
//
// # PutBucketOwnershipControls
//
// # DeleteBucketOwnershipControls
//
// [Using Object Ownership]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
// [Specifying permissions in a policy]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html
func (c *Client) GetBucketOwnershipControls(ctx context.Context, params *GetBucketOwnershipControlsInput, optFns ...func(*Options)) (*GetBucketOwnershipControlsOutput, error) { func (c *Client) GetBucketOwnershipControls(ctx context.Context, params *GetBucketOwnershipControlsInput, optFns ...func(*Options)) (*GetBucketOwnershipControlsOutput, error) {
if params == nil { if params == nil {
params = &GetBucketOwnershipControlsInput{} params = &GetBucketOwnershipControlsInput{}

View file

@ -13,47 +13,61 @@ import (
smithyhttp "github.com/aws/smithy-go/transport/http" smithyhttp "github.com/aws/smithy-go/transport/http"
) )
// Returns the policy of a specified bucket. Directory buckets - For directory // Returns 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 GetBucketPolicy 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 GetBucketPolicy permissions, Amazon S3 returns a // the GetBucketPolicy permissions on the specified bucket and belong to the
// 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 GetBucketPolicy permissions, Amazon S3 returns a 403 Access
// inadvertently lock themselves out of their own buckets, the root principal in a // Denied error. If you have the correct permissions, but you're not using an
// bucket owner's Amazon Web Services account can perform the GetBucketPolicy , // 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:GetBucketPolicy permission is // - General purpose bucket permissions - The s3:GetBucketPolicy 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:GetBucketPolicy permission in an IAM identity-based // must have the s3express:GetBucketPolicy 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.
// //
// Example bucket policies General purpose buckets example bucket policies - See // Example bucket policies General purpose buckets example bucket policies - See [Bucket policy examples]
// Bucket policy examples (https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) // in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. Directory bucket example bucket 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) // Directory bucket example bucket policies - See [Example bucket policies for S3 Express One Zone] in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. HTTP Host header syntax Directory buckets - The //
// HTTP Host header syntax is s3express-control.region.amazonaws.com . The // HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
// following action is related to GetBucketPolicy : // s3express-control.region.amazonaws.com .
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) //
// The following action is related to GetBucketPolicy :
//
// [GetObject]
//
// [Bucket policy examples]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html
// [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
// [Using Bucket Policies and User Policies]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
// [GetObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.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) GetBucketPolicy(ctx context.Context, params *GetBucketPolicyInput, optFns ...func(*Options)) (*GetBucketPolicyOutput, error) { func (c *Client) GetBucketPolicy(ctx context.Context, params *GetBucketPolicyInput, optFns ...func(*Options)) (*GetBucketPolicyOutput, error) {
if params == nil { if params == nil {
params = &GetBucketPolicyInput{} params = &GetBucketPolicyInput{}
@ -71,33 +85,42 @@ func (c *Client) GetBucketPolicy(ctx context.Context, params *GetBucketPolicyInp
type GetBucketPolicyInput struct { type GetBucketPolicyInput struct {
// The bucket name to get the bucket policy for. Directory buckets - When you use // The bucket name to get the bucket policy for.
// this 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-az1--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 Access points - When you use this API operation with //
// an access point, provide the alias of the access point in place of the bucket // Access points - When you use this API operation with an access point, provide
// name. Object Lambda access points - When you use this API operation with an // the alias of the access point in place of the bucket name.
// Object Lambda access point, provide the alias of the Object Lambda access point //
// in place of the bucket name. If the Object Lambda access point alias in a // Object Lambda access points - When you use this API operation with an Object
// request is not valid, the error code InvalidAccessPointAliasError is returned. // Lambda access point, provide the alias of the Object Lambda access point in
// For more information about InvalidAccessPointAliasError , see List of Error // place of the bucket name. If the Object Lambda access point alias in a request
// Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList) // is not valid, the error code InvalidAccessPointAliasError is returned. For more
// . Access points and Object Lambda access points are not supported by directory // information about InvalidAccessPointAliasError , see [List of Error Codes].
//
// Access points and Object Lambda access points are not supported by directory
// buckets. // buckets.
// //
// [Directory bucket naming rules]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html
// [List of Error Codes]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
//
// 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

View file

@ -14,18 +14,31 @@ 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. Retrieves the policy // This operation is not supported by directory buckets.
// status for an Amazon S3 bucket, indicating whether the bucket is public. In //
// order to use this operation, you must have the s3:GetBucketPolicyStatus // Retrieves the policy status for an Amazon S3 bucket, indicating whether the
// permission. For more information about Amazon S3 permissions, see Specifying // bucket is public. In order to use this operation, you must have the
// Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html) // s3:GetBucketPolicyStatus permission. For more information about Amazon S3
// . For more information about when Amazon S3 considers a bucket public, see The // permissions, see [Specifying Permissions in a Policy].
// Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) //
// . The following operations are related to GetBucketPolicyStatus : // For more information about when Amazon S3 considers a bucket public, see [The Meaning of "Public"].
// - Using Amazon S3 Block Public Access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html) //
// - GetPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html) // The following operations are related to GetBucketPolicyStatus :
// - PutPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html) //
// - DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html) // [Using Amazon S3 Block Public Access]
//
// [GetPublicAccessBlock]
//
// [PutPublicAccessBlock]
//
// [DeletePublicAccessBlock]
//
// [GetPublicAccessBlock]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html
// [PutPublicAccessBlock]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html
// [DeletePublicAccessBlock]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html
// [Using Amazon S3 Block Public Access]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
// [Specifying Permissions in a Policy]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
// [The Meaning of "Public"]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
func (c *Client) GetBucketPolicyStatus(ctx context.Context, params *GetBucketPolicyStatusInput, optFns ...func(*Options)) (*GetBucketPolicyStatusOutput, error) { func (c *Client) GetBucketPolicyStatus(ctx context.Context, params *GetBucketPolicyStatusInput, optFns ...func(*Options)) (*GetBucketPolicyStatusOutput, error) {
if params == nil { if params == nil {
params = &GetBucketPolicyStatusInput{} params = &GetBucketPolicyStatusInput{}

View file

@ -14,21 +14,37 @@ 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. Returns the replication // This operation is not supported by directory buckets.
// configuration of a bucket. It can take a while to propagate the put or delete a //
// replication configuration to all Amazon S3 systems. Therefore, a get request // Returns the replication configuration of a bucket.
// soon after put or delete can return a wrong result. For information about //
// replication configuration, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html) // It can take a while to propagate the put or delete a replication configuration
// in the Amazon S3 User Guide. This action requires permissions for the // to all Amazon S3 systems. Therefore, a get request soon after put or delete can
// s3:GetReplicationConfiguration action. For more information about permissions, // return a wrong result.
// see Using Bucket Policies and User Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html) //
// . If you include the Filter element in a replication configuration, you must // For information about replication configuration, see [Replication] in the Amazon S3 User
// also include the DeleteMarkerReplication and Priority elements. The response // Guide.
// also returns those elements. For information about GetBucketReplication errors, //
// see List of replication-related error codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList) // This action requires permissions for the s3:GetReplicationConfiguration action.
// For more information about permissions, see [Using Bucket Policies and User Policies].
//
// If you include the Filter element in a replication configuration, you must also
// include the DeleteMarkerReplication and Priority elements. The response also
// returns those elements.
//
// For information about GetBucketReplication errors, see [List of replication-related error codes]
//
// The following operations are related to GetBucketReplication : // The following operations are related to GetBucketReplication :
// - PutBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html) //
// - DeleteBucketReplication (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html) // [PutBucketReplication]
//
// [DeleteBucketReplication]
//
// [PutBucketReplication]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketReplication.html
// [Using Bucket Policies and User Policies]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html
// [Replication]: https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html
// [List of replication-related error codes]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ReplicationErrorCodeList
// [DeleteBucketReplication]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html
func (c *Client) GetBucketReplication(ctx context.Context, params *GetBucketReplicationInput, optFns ...func(*Options)) (*GetBucketReplicationOutput, error) { func (c *Client) GetBucketReplication(ctx context.Context, params *GetBucketReplicationInput, optFns ...func(*Options)) (*GetBucketReplicationOutput, error) {
if params == nil { if params == nil {
params = &GetBucketReplicationInput{} params = &GetBucketReplicationInput{}

View file

@ -14,11 +14,17 @@ 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. Returns the request // This operation is not supported by directory buckets.
// payment configuration of a bucket. To use this version of the operation, you //
// must be the bucket owner. For more information, see Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html) // Returns the request payment configuration of a bucket. To use this version of
// . The following operations are related to GetBucketRequestPayment : // the operation, you must be the bucket owner. For more information, see [Requester Pays Buckets].
// - ListObjects (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html) //
// The following operations are related to GetBucketRequestPayment :
//
// [ListObjects]
//
// [ListObjects]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html
// [Requester Pays Buckets]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html
func (c *Client) GetBucketRequestPayment(ctx context.Context, params *GetBucketRequestPaymentInput, optFns ...func(*Options)) (*GetBucketRequestPaymentOutput, error) { func (c *Client) GetBucketRequestPayment(ctx context.Context, params *GetBucketRequestPaymentInput, optFns ...func(*Options)) (*GetBucketRequestPaymentOutput, error) {
if params == nil { if params == nil {
params = &GetBucketRequestPaymentInput{} params = &GetBucketRequestPaymentInput{}

View file

@ -14,17 +14,28 @@ 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. Returns the tag set // This operation is not supported by directory buckets.
// associated with the bucket. To use this operation, you must have permission to //
// perform the s3:GetBucketTagging action. By default, the bucket owner has this // Returns the tag set associated with the bucket.
// permission and can grant this permission to others. GetBucketTagging has the //
// following special error: // To use this operation, you must have permission to perform the
// s3:GetBucketTagging action. By default, the bucket owner has this permission and
// can grant this permission to others.
//
// GetBucketTagging has the following special error:
//
// - Error code: NoSuchTagSet // - Error code: NoSuchTagSet
//
// - Description: There is no tag set associated with the bucket. // - Description: There is no tag set associated with the bucket.
// //
// The following operations are related to GetBucketTagging : // The following operations are related to GetBucketTagging :
// - PutBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html) //
// - DeleteBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html) // [PutBucketTagging]
//
// [DeleteBucketTagging]
//
// [PutBucketTagging]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html
// [DeleteBucketTagging]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html
func (c *Client) GetBucketTagging(ctx context.Context, params *GetBucketTaggingInput, optFns ...func(*Options)) (*GetBucketTaggingOutput, error) { func (c *Client) GetBucketTagging(ctx context.Context, params *GetBucketTaggingInput, optFns ...func(*Options)) (*GetBucketTaggingOutput, error) {
if params == nil { if params == nil {
params = &GetBucketTaggingInput{} params = &GetBucketTaggingInput{}

View file

@ -14,15 +14,27 @@ 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. Returns the versioning // This operation is not supported by directory buckets.
// state of a bucket. To retrieve the versioning state of a bucket, you must be the //
// bucket owner. This implementation also returns the MFA Delete status of the // Returns the versioning state of a bucket.
// versioning state. If the MFA Delete status is enabled , the bucket owner must //
// use an authentication device to change the versioning state of the bucket. The // To retrieve the versioning state of a bucket, you must be the bucket owner.
// following operations are related to GetBucketVersioning : //
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // This implementation also returns the MFA Delete status of the versioning state.
// - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) // If the MFA Delete status is enabled , the bucket owner must use an
// - DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) // authentication device to change the versioning state of the bucket.
//
// The following operations are related to GetBucketVersioning :
//
// [GetObject]
//
// [PutObject]
//
// [DeleteObject]
//
// [DeleteObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
// [PutObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
// [GetObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
func (c *Client) GetBucketVersioning(ctx context.Context, params *GetBucketVersioningInput, optFns ...func(*Options)) (*GetBucketVersioningOutput, error) { func (c *Client) GetBucketVersioning(ctx context.Context, params *GetBucketVersioningInput, optFns ...func(*Options)) (*GetBucketVersioningOutput, error) {
if params == nil { if params == nil {
params = &GetBucketVersioningInput{} params = &GetBucketVersioningInput{}

View file

@ -14,17 +14,26 @@ 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. Returns the website // This operation is not supported by directory buckets.
// configuration for a bucket. To host website on Amazon S3, you can configure a //
// bucket as website by adding a website configuration. For more information about // Returns the website configuration for a bucket. To host website on Amazon S3,
// hosting websites, see Hosting Websites on Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html) // you can configure a bucket as website by adding a website configuration. For
// . This GET action requires the S3:GetBucketWebsite permission. By default, only // more information about hosting websites, see [Hosting Websites on Amazon S3].
//
// This GET action requires the S3:GetBucketWebsite permission. By default, only
// the bucket owner can read the bucket website configuration. However, bucket // the bucket owner can read the bucket website configuration. However, bucket
// owners can allow other users to read the website configuration by writing a // owners can allow other users to read the website configuration by writing a
// bucket policy granting them the S3:GetBucketWebsite permission. The following // bucket policy granting them the S3:GetBucketWebsite permission.
// operations are related to GetBucketWebsite : //
// - DeleteBucketWebsite (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html) // The following operations are related to GetBucketWebsite :
// - PutBucketWebsite (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html) //
// [DeleteBucketWebsite]
//
// [PutBucketWebsite]
//
// [PutBucketWebsite]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html
// [Hosting Websites on Amazon S3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html
// [DeleteBucketWebsite]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketWebsite.html
func (c *Client) GetBucketWebsite(ctx context.Context, params *GetBucketWebsiteInput, optFns ...func(*Options)) (*GetBucketWebsiteOutput, error) { func (c *Client) GetBucketWebsite(ctx context.Context, params *GetBucketWebsiteInput, optFns ...func(*Options)) (*GetBucketWebsiteOutput, error) {
if params == nil { if params == nil {
params = &GetBucketWebsiteInput{} params = &GetBucketWebsiteInput{}

View file

@ -16,100 +16,141 @@ import (
"time" "time"
) )
// Retrieves an object from Amazon S3. In the GetObject request, specify the full // Retrieves an object from Amazon S3.
// key name for the object. General purpose buckets - Both the virtual-hosted-style //
// requests and the path-style requests are supported. For a virtual hosted-style // In the GetObject request, specify the full key name for the object.
// request example, if you have the object photos/2006/February/sample.jpg , //
// specify the object key name as /photos/2006/February/sample.jpg . For a // General purpose buckets - Both the virtual-hosted-style requests and the
// path-style request example, if you have the object // path-style requests are supported. For a virtual hosted-style request example,
// photos/2006/February/sample.jpg in the bucket named examplebucket , specify the // if you have the object photos/2006/February/sample.jpg , specify the object key
// object key name as /examplebucket/photos/2006/February/sample.jpg . For more // name as /photos/2006/February/sample.jpg . For a path-style request example, if
// information about request types, see HTTP Host Header Bucket Specification (https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket) // you have the object photos/2006/February/sample.jpg in the bucket named
// in the Amazon S3 User Guide. Directory buckets - Only virtual-hosted-style // examplebucket , specify the object key name as
// requests are supported. For a virtual hosted-style request example, if you have // /examplebucket/photos/2006/February/sample.jpg . For more information about
// the object photos/2006/February/sample.jpg in the bucket named // request types, see [HTTP Host Header Bucket Specification]in the Amazon S3 User Guide.
//
// Directory buckets - Only virtual-hosted-style requests are supported. For a
// virtual hosted-style request example, if you have the object
// photos/2006/February/sample.jpg in the bucket named
// examplebucket--use1-az5--x-s3 , specify the object key name as // examplebucket--use1-az5--x-s3 , specify the object key name as
// /photos/2006/February/sample.jpg . Also, when you make requests to this API // /photos/2006/February/sample.jpg . Also, when you make requests to this API
// operation, your requests are sent to the Zonal endpoint. These endpoints support // operation, your requests are sent 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 . 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 - You must have the required permissions // - General purpose bucket permissions - You must have the required permissions
// in a policy. To use GetObject , you must have the READ access to the object // in a policy. To use GetObject , you must have the READ access to the object
// (or version). If you grant READ access to the anonymous user, the GetObject // (or version). If you grant READ access to the anonymous user, the GetObject
// operation returns the object without using an authorization header. For more // operation returns the object without using an authorization header. For more
// information, see Specifying permissions in a policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html) // information, see [Specifying permissions in a policy]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. If you include a versionId in your request //
// header, you must have the s3:GetObjectVersion permission to access a specific // If you include a versionId in your request header, you must have the
// version of an object. The s3:GetObject permission is not required in this //
// scenario. If you request the current version of an object without a specific // s3:GetObjectVersion permission to access a specific version of an object. The
// versionId in the request header, only the s3:GetObject permission is required. // s3:GetObject permission is not required in this scenario.
// The s3:GetObjectVersion permission is not required in this scenario. If the //
// object that you request doesnt exist, the error that Amazon S3 returns depends // If you request the current version of an object without a specific versionId in
// on whether you also have the s3:ListBucket permission. //
// - If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an // the request header, only the s3:GetObject permission is required. The
// HTTP status code 404 Not Found error. // s3:GetObjectVersion permission is not required in this scenario.
// - If you dont have the s3:ListBucket permission, Amazon S3 returns an HTTP //
// status code 403 Access Denied error. // If the object that you request doesnt exist, the error that Amazon S3 returns
// - 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) // depends on whether you also have the s3:ListBucket permission.
// API operation for session-based authorization. Specifically, you grant the //
// s3express:CreateSession permission to the directory bucket in a bucket policy // - If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an
// or an IAM identity-based policy. Then, you make the CreateSession API call on // HTTP status code 404 Not Found error.
// the bucket to obtain a session token. With the session token in your request //
// header, you can make API requests to this operation. After the session token // - If you dont have the s3:ListBucket permission, Amazon S3 returns an HTTP
// expires, you make another CreateSession API call to generate a new session // status code 403 Access Denied error.
// token for use. Amazon Web Services CLI or SDKs create session and refresh the //
// session token automatically to avoid service interruptions when a session // - Directory bucket permissions - To grant access to this API operation on a
// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html) // directory bucket, we recommend that you use the [CreateSession]CreateSession API operation
// . // for session-based authorization. Specifically, you grant the
// 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
// the bucket to obtain a session token. With the session token in your request
// header, you can make API requests to this operation. After the session token
// 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
// session token automatically to avoid service interruptions when a session
// expires. For more information about authorization, see [CreateSession]CreateSession .
// //
// Storage classes If the object you are retrieving is stored in the S3 Glacier // Storage classes If the object you are retrieving is stored in the S3 Glacier
// Flexible Retrieval storage class, the S3 Glacier Deep Archive storage class, the // Flexible Retrieval storage class, the S3 Glacier Deep Archive storage class, the
// S3 Intelligent-Tiering Archive Access tier, or the S3 Intelligent-Tiering Deep // S3 Intelligent-Tiering Archive Access tier, or the S3 Intelligent-Tiering Deep
// Archive Access tier, before you can retrieve the object you must first restore a // Archive Access tier, before you can retrieve the object you must first restore a
// copy using RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html) // copy using [RestoreObject]. Otherwise, this operation returns an InvalidObjectState error. For
// . Otherwise, this operation returns an InvalidObjectState error. For // information about restoring archived objects, see [Restoring Archived Objects]in the Amazon S3 User Guide.
// information about restoring archived objects, see Restoring Archived Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html) //
// in the Amazon S3 User Guide. Directory buckets - For directory buckets, only the // Directory buckets - For directory buckets, only the S3 Express One Zone storage
// S3 Express One Zone storage class is supported to store newly created objects. // class is supported to store newly created objects. Unsupported storage class
// Unsupported storage class values won't write a destination object and will // values won't write a destination object and will respond with the HTTP status
// respond with the HTTP status code 400 Bad Request . Encryption Encryption // code 400 Bad Request .
// request headers, like x-amz-server-side-encryption , should not be sent for the //
// GetObject requests, if your object uses server-side encryption with Amazon S3 // Encryption Encryption request headers, like x-amz-server-side-encryption ,
// managed encryption keys (SSE-S3), server-side encryption with Key Management // should not be sent for the GetObject requests, if your object uses server-side
// Service (KMS) keys (SSE-KMS), or dual-layer server-side encryption with Amazon // encryption with Amazon S3 managed encryption keys (SSE-S3), server-side
// Web Services KMS keys (DSSE-KMS). If you include the header in your GetObject // encryption with Key Management Service (KMS) keys (SSE-KMS), or dual-layer
// requests for the object that uses these types of keys, youll get an HTTP 400 // server-side encryption with Amazon Web Services KMS keys (DSSE-KMS). If you
// Bad Request error. Overriding response header values through the request There // include the header in your GetObject requests for the object that uses these
// are times when you want to override certain response header values of a // types of keys, youll get an HTTP 400 Bad Request error.
// GetObject response. For example, you might override the Content-Disposition //
// response header value through your GetObject request. You can override values // Overriding response header values through the request There are times when you
// for a set of response headers. These modified response header values are // want to override certain response header values of a GetObject response. For
// included only in a successful response, that is, when the HTTP status code 200 // example, you might override the Content-Disposition response header value
// OK is returned. The headers you can override using the following query // through your GetObject request.
// parameters in the request are a subset of the headers that Amazon S3 accepts //
// when you create an object. The response headers that you can override for the // You can override values for a set of response headers. These modified response
// GetObject response are Cache-Control , Content-Disposition , Content-Encoding , // header values are included only in a successful response, that is, when the HTTP
// Content-Language , Content-Type , and Expires . To override values for a set of // status code 200 OK is returned. The headers you can override using the
// response headers in the GetObject response, you can use the following query // following query parameters in the request are a subset of the headers that
// parameters in the request. // Amazon S3 accepts when you create an object.
//
// The response headers that you can override for the GetObject response are
// Cache-Control , Content-Disposition , Content-Encoding , Content-Language ,
// Content-Type , and Expires .
//
// To override values for a set of response headers in the GetObject response, you
// can use the following query parameters in the request.
//
// - response-cache-control // - response-cache-control
//
// - response-content-disposition // - response-content-disposition
//
// - response-content-encoding // - response-content-encoding
//
// - response-content-language // - response-content-language
//
// - response-content-type // - response-content-type
//
// - response-expires // - response-expires
// //
// When you use these parameters, you must sign the request by using either an // When you use these parameters, you must sign the request by using either an
// Authorization header or a presigned URL. These parameters cannot be used with an // Authorization header or a presigned URL. These parameters cannot be used with an
// unsigned (anonymous) request. HTTP Host header syntax Directory buckets - The // unsigned (anonymous) request.
// HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com . //
// 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 GetObject : // The following operations are related to GetObject :
// - ListBuckets (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html) //
// - GetObjectAcl (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html) // [ListBuckets]
//
// [GetObjectAcl]
//
// [RestoreObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
// [Regional and Zonal endpoints]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
// [ListBuckets]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
// [HTTP Host Header Bucket Specification]: https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket
// [Restoring Archived Objects]: https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html
// [GetObjectAcl]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
// [Specifying permissions in a policy]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
//
// [CreateSession]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
func (c *Client) GetObject(ctx context.Context, params *GetObjectInput, optFns ...func(*Options)) (*GetObjectOutput, error) { func (c *Client) GetObject(ctx context.Context, params *GetObjectInput, optFns ...func(*Options)) (*GetObjectOutput, error) {
if params == nil { if params == nil {
params = &GetObjectInput{} params = &GetObjectInput{}
@ -127,35 +168,44 @@ func (c *Client) GetObject(ctx context.Context, params *GetObjectInput, optFns .
type GetObjectInput struct { type GetObjectInput struct {
// The bucket name containing the object. Directory buckets - When you use this // The bucket name containing the object.
// 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 // Directory buckets - When you use this operation with a directory bucket, you
// requests are not supported. Directory bucket names must be unique in the chosen // must use virtual-hosted-style requests in the format
// Availability Zone. Bucket names must follow the format // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
// bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3 // supported. Directory bucket names must be unique in the chosen Availability
// ). For information about bucket naming restrictions, see Directory bucket // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
// naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) // example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3 ). For information about bucket
// in the Amazon S3 User Guide. Access points - When you use this action with an // naming restrictions, see [Directory bucket naming rules]in the Amazon S3 User Guide.
// access point, you must provide the alias of the access point in place of the //
// bucket name or specify the access point ARN. When using the access point ARN, // Access points - When you use this action with an access point, you must provide
// you must direct requests to the access point hostname. The access point hostname // the alias of the access point in place of the bucket name or specify the access
// takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. // point ARN. When using the access point ARN, you must direct requests to the
// When using this action with an access point through the Amazon Web Services // access point hostname. The access point hostname takes the form
// SDKs, you provide the access point ARN in place of the bucket name. For more // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // action with an access point through the Amazon Web Services SDKs, you provide
// in the Amazon S3 User Guide. Object Lambda access points - When you use this // the access point ARN in place of the bucket name. For more information about
// action with an Object Lambda access point, you must direct requests to the // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// Object Lambda access point hostname. The Object Lambda access point hostname //
// takes the form AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com. // Object Lambda access points - When you use this action with an Object Lambda
// access point, you must direct requests to the Object Lambda access point
// hostname. The Object Lambda access point hostname takes the form
// AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com.
//
// Access points and Object Lambda access points are not supported by directory // Access points and Object Lambda access points are not supported by directory
// buckets. S3 on Outposts - When you use this action with Amazon S3 on Outposts, // buckets.
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts //
// hostname takes the form // 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
@ -174,37 +224,55 @@ type GetObjectInput struct {
ExpectedBucketOwner *string ExpectedBucketOwner *string
// Return the object only if its entity tag (ETag) is the same as the one // Return the object only if its entity tag (ETag) is the same as the one
// specified in this header; otherwise, return a 412 Precondition Failed error. If // specified in this header; otherwise, return a 412 Precondition Failed error.
// both of the If-Match and If-Unmodified-Since headers are present in the request //
// as follows: If-Match condition evaluates to true , and; If-Unmodified-Since // If both of the If-Match and If-Unmodified-Since headers are present in the
// condition evaluates to false ; then, S3 returns 200 OK and the data requested. // request as follows: If-Match condition evaluates to true , and;
// For more information about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) // If-Unmodified-Since condition evaluates to false ; then, S3 returns 200 OK and
// . // the data requested.
//
// For more information about conditional requests, see [RFC 7232].
//
// [RFC 7232]: https://tools.ietf.org/html/rfc7232
IfMatch *string IfMatch *string
// Return the object only if it has been modified since the specified time; // Return the object only if it has been modified since the specified time;
// otherwise, return a 304 Not Modified error. If both of the If-None-Match and // otherwise, return a 304 Not Modified error.
// If-Modified-Since headers are present in the request as follows: If-None-Match //
// condition evaluates to false , and; If-Modified-Since condition evaluates to // If both of the If-None-Match and If-Modified-Since headers are present in the
// true ; then, S3 returns 304 Not Modified status code. For more information // request as follows: If-None-Match condition evaluates to false , and;
// about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) . // If-Modified-Since condition evaluates to true ; then, S3 returns 304 Not
// Modified status code.
//
// For more information about conditional requests, see [RFC 7232].
//
// [RFC 7232]: https://tools.ietf.org/html/rfc7232
IfModifiedSince *time.Time IfModifiedSince *time.Time
// Return the object only if its entity tag (ETag) is different from the one // Return the object only if its entity tag (ETag) is different from the one
// specified in this header; otherwise, return a 304 Not Modified error. If both // specified in this header; otherwise, return a 304 Not Modified error.
// of the If-None-Match and If-Modified-Since headers are present in the request //
// as follows: If-None-Match condition evaluates to false , and; If-Modified-Since // If both of the If-None-Match and If-Modified-Since headers are present in the
// condition evaluates to true ; then, S3 returns 304 Not Modified HTTP status // request as follows: If-None-Match condition evaluates to false , and;
// code. For more information about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) // If-Modified-Since condition evaluates to true ; then, S3 returns 304 Not
// . // Modified HTTP status code.
//
// For more information about conditional requests, see [RFC 7232].
//
// [RFC 7232]: https://tools.ietf.org/html/rfc7232
IfNoneMatch *string IfNoneMatch *string
// Return the object only if it has not been modified since the specified time; // Return the object only if it has not been modified since the specified time;
// otherwise, return a 412 Precondition Failed error. If both of the If-Match and // otherwise, return a 412 Precondition Failed error.
// If-Unmodified-Since headers are present in the request as follows: If-Match //
// condition evaluates to true , and; If-Unmodified-Since condition evaluates to // If both of the If-Match and If-Unmodified-Since headers are present in the
// false ; then, S3 returns 200 OK and the data requested. For more information // request as follows: If-Match condition evaluates to true , and;
// about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) . // If-Unmodified-Since condition evaluates to false ; then, S3 returns 200 OK and
// the data requested.
//
// For more information about conditional requests, see [RFC 7232].
//
// [RFC 7232]: https://tools.ietf.org/html/rfc7232
IfUnmodifiedSince *time.Time IfUnmodifiedSince *time.Time
// Part number of the object being read. This is a positive integer between 1 and // Part number of the object being read. This is a positive integer between 1 and
@ -213,18 +281,23 @@ type GetObjectInput struct {
PartNumber *int32 PartNumber *int32
// Downloads the specified byte range of an object. For more information about the // Downloads the specified byte range of an object. For more information about the
// HTTP Range header, see https://www.rfc-editor.org/rfc/rfc9110.html#name-range (https://www.rfc-editor.org/rfc/rfc9110.html#name-range) // HTTP Range header, see [https://www.rfc-editor.org/rfc/rfc9110.html#name-range].
// . Amazon S3 doesn't support retrieving multiple ranges of data per GET request. //
// Amazon S3 doesn't support retrieving multiple ranges of data per GET request.
//
// [https://www.rfc-editor.org/rfc/rfc9110.html#name-range]: https://www.rfc-editor.org/rfc/rfc9110.html#name-range
Range *string Range *string
// 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
// Sets the Cache-Control header of the response. // Sets the Cache-Control header of the response.
@ -245,66 +318,90 @@ type GetObjectInput struct {
// Sets the Expires header of the response. // Sets the Expires header of the response.
ResponseExpires *time.Time ResponseExpires *time.Time
// Specifies the algorithm to use when decrypting the object (for example, AES256 // Specifies the algorithm to use when decrypting the object (for example, AES256 ).
// ). If you encrypt an object by using server-side encryption with //
// customer-provided encryption keys (SSE-C) when you store the object in Amazon // If you encrypt an object by using server-side encryption with customer-provided
// S3, then when you GET the object, you must use the following headers: // encryption keys (SSE-C) when you store the object in Amazon S3, then when you
// GET the object, you must use the following headers:
//
// - x-amz-server-side-encryption-customer-algorithm // - x-amz-server-side-encryption-customer-algorithm
//
// - x-amz-server-side-encryption-customer-key // - x-amz-server-side-encryption-customer-key
//
// - x-amz-server-side-encryption-customer-key-MD5 // - x-amz-server-side-encryption-customer-key-MD5
// For more information about SSE-C, see Server-Side Encryption (Using //
// Customer-Provided Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html) // For more information about SSE-C, see [Server-Side Encryption (Using Customer-Provided Encryption 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.
//
// [Server-Side Encryption (Using Customer-Provided Encryption Keys)]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
SSECustomerAlgorithm *string SSECustomerAlgorithm *string
// Specifies the customer-provided encryption key that you originally provided for // Specifies the customer-provided encryption key that you originally provided for
// Amazon S3 to encrypt the data before storing it. This value is used to decrypt // Amazon S3 to encrypt the data before storing it. This value is used to decrypt
// the object when recovering it and must match the one used when storing the data. // the object when recovering it and must match the one used when storing the data.
// The key must be appropriate for use with the algorithm specified in the // The key must be appropriate for use with the algorithm specified in the
// x-amz-server-side-encryption-customer-algorithm header. If you encrypt an object // x-amz-server-side-encryption-customer-algorithm header.
// by using server-side encryption with customer-provided encryption keys (SSE-C) //
// when you store the object in Amazon S3, then when you GET the object, you must // If you encrypt an object by using server-side encryption with customer-provided
// use the following headers: // encryption keys (SSE-C) when you store the object in Amazon S3, then when you
// GET the object, you must use the following headers:
//
// - x-amz-server-side-encryption-customer-algorithm // - x-amz-server-side-encryption-customer-algorithm
//
// - x-amz-server-side-encryption-customer-key // - x-amz-server-side-encryption-customer-key
//
// - x-amz-server-side-encryption-customer-key-MD5 // - x-amz-server-side-encryption-customer-key-MD5
// For more information about SSE-C, see Server-Side Encryption (Using //
// Customer-Provided Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html) // For more information about SSE-C, see [Server-Side Encryption (Using Customer-Provided Encryption 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.
//
// [Server-Side Encryption (Using Customer-Provided Encryption Keys)]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
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. If you encrypt // to ensure that the encryption key was transmitted without error.
// an object by using server-side encryption with customer-provided encryption keys //
// (SSE-C) when you store the object in Amazon S3, then when you GET the object, // If you encrypt an object by using server-side encryption with customer-provided
// you must use the following headers: // encryption keys (SSE-C) when you store the object in Amazon S3, then when you
// GET the object, you must use the following headers:
//
// - x-amz-server-side-encryption-customer-algorithm // - x-amz-server-side-encryption-customer-algorithm
//
// - x-amz-server-side-encryption-customer-key // - x-amz-server-side-encryption-customer-key
//
// - x-amz-server-side-encryption-customer-key-MD5 // - x-amz-server-side-encryption-customer-key-MD5
// For more information about SSE-C, see Server-Side Encryption (Using //
// Customer-Provided Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html) // For more information about SSE-C, see [Server-Side Encryption (Using Customer-Provided Encryption 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.
//
// [Server-Side Encryption (Using Customer-Provided Encryption Keys)]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
SSECustomerKeyMD5 *string SSECustomerKeyMD5 *string
// Version ID used to reference a specific version of the object. By default, the // Version ID used to reference a specific version of the object.
// GetObject operation returns the current version of an object. To return a //
// different version, use the versionId subresource. // By default, the GetObject operation returns the current version of an object.
// To return a different version, use the versionId subresource.
//
// - If you include a versionId in your request header, you must have the // - If you include a versionId in your request header, you must have the
// s3:GetObjectVersion permission to access a specific version of an object. The // s3:GetObjectVersion permission to access a specific version of an object. The
// s3:GetObject permission is not required in this scenario. // s3:GetObject permission is not required in this scenario.
//
// - If you request the current version of an object without a specific versionId // - If you request the current version of an object without a specific versionId
// in the request header, only the s3:GetObject permission is required. The // in the request header, only the s3:GetObject permission is required. The
// s3:GetObjectVersion permission is not required in this scenario. // s3:GetObjectVersion permission is not required in this scenario.
//
// - Directory buckets - S3 Versioning isn't enabled and supported for directory // - Directory buckets - S3 Versioning isn't enabled and supported for directory
// buckets. For this API operation, only the null value of the version ID is // buckets. For this API operation, only the null value of the version ID is
// supported by directory buckets. You can only specify null to the versionId // supported by directory buckets. You can only specify null to the versionId
// query parameter in the request. // query parameter in the request.
// For more information about versioning, see PutBucketVersioning (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html) //
// . // For more information about versioning, see [PutBucketVersioning].
//
// [PutBucketVersioning]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html
VersionId *string VersionId *string
noSmithyDocumentSerde noSmithyDocumentSerde
@ -325,35 +422,40 @@ type GetObjectOutput struct {
Body io.ReadCloser Body io.ReadCloser
// Indicates whether the object uses an S3 Bucket Key for server-side encryption // Indicates whether the object uses an S3 Bucket Key for server-side encryption
// with Key Management Service (KMS) keys (SSE-KMS). This functionality is not // with Key Management Service (KMS) keys (SSE-KMS).
// supported for directory buckets. //
// 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
// 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
// present if it was uploaded with the object. For more information, see Checking // present if it was uploaded with the object. For more information, see [Checking object integrity]in the
// object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) // 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
// 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
// present if it was uploaded with the object. For more information, see Checking // present if it was uploaded with the object. For more information, see [Checking object integrity]in the
// object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) // 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
// 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
// present if it was uploaded with the object. For more information, see Checking // present if it was uploaded with the object. For more information, see [Checking object integrity]in the
// object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) // 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
// 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
// present if it was uploaded with the object. For more information, see Checking // present if it was uploaded with the object. For more information, see [Checking object integrity]in the
// object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) // 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
// Specifies presentational information for the object. // Specifies presentational information for the object.
@ -378,9 +480,11 @@ type GetObjectOutput struct {
// Indicates whether the object retrieved was (true) or was not (false) a Delete // Indicates whether the object retrieved was (true) or was not (false) a Delete
// Marker. If false, this response header does not appear in the response. // Marker. If false, this response header does not appear in the response.
//
// - If the current version of the object is a delete marker, Amazon S3 behaves // - If the current version of the object is a delete marker, Amazon S3 behaves
// as if the object was deleted and includes x-amz-delete-marker: true in the // as if the object was deleted and includes x-amz-delete-marker: true in the
// response. // response.
//
// - If the specified version in the request is a delete marker, the response // - If the specified version in the request is a delete marker, the response
// returns a 405 Method Not Allowed error and the Last-Modified: timestamp // returns a 405 Method Not Allowed error and the Last-Modified: timestamp
// response header. // response header.
@ -390,20 +494,25 @@ type GetObjectOutput struct {
// specific version of a resource found at a URL. // specific version of a resource found at a URL.
ETag *string ETag *string
// If the object expiration is configured (see PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html) // If the object expiration is configured (see [PutBucketLifecycleConfiguration]PutBucketLifecycleConfiguration ),
// ), the response includes this header. It includes the expiry-date and rule-id // the response includes this header. It includes the expiry-date and rule-id
// key-value pairs providing object expiration information. The value of the // key-value pairs providing object expiration information. The value of the
// rule-id is URL-encoded. This functionality is not supported for directory // rule-id is URL-encoded.
// buckets. //
// This functionality is not supported for directory buckets.
//
// [PutBucketLifecycleConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
Expiration *string Expiration *string
// The date and time at which the object is no longer cacheable. // The date and time at which the object is no longer cacheable.
Expires *time.Time Expires *time.Time
// Date and time when the object was last modified. General purpose buckets - When // Date and time when the object was last modified.
// you specify a versionId of the object in your request, if the specified version //
// in the request is a delete marker, the response returns a 405 Method Not Allowed // General purpose buckets - When you specify a versionId of the object in your
// error and the Last-Modified: timestamp response header. // request, if the specified version in the request is a delete marker, the
// response returns a 405 Method Not Allowed error and the Last-Modified: timestamp
// response header.
LastModified *time.Time LastModified *time.Time
// A map of metadata to store with the object in S3. // A map of metadata to store with the object in S3.
@ -415,20 +524,25 @@ type GetObjectOutput struct {
// are prefixed with x-amz-meta- . This can happen if you create metadata using an // are prefixed with x-amz-meta- . This can happen if you create metadata using an
// API like SOAP that supports more flexible metadata than the REST API. For // API like SOAP that supports more flexible metadata than the REST API. For
// example, using SOAP, you can create metadata whose values are not legal HTTP // example, using SOAP, you can create metadata whose values are not legal HTTP
// headers. This functionality is not supported for directory buckets. // headers.
//
// This functionality is not supported for directory buckets.
MissingMeta *int32 MissingMeta *int32
// Indicates whether this object has an active legal hold. This field is only // Indicates whether this object has an active legal hold. This field is only
// returned if you have permission to view an object's legal hold status. This // returned if you have permission to view an object's legal hold status.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus
// The Object Lock mode that's currently in place for this object. This // The Object Lock mode that's currently in place for this object.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
ObjectLockMode types.ObjectLockMode ObjectLockMode types.ObjectLockMode
// The date and time when this object's Object Lock will expire. This // The date and time when this object's Object Lock will expire.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
ObjectLockRetainUntilDate *time.Time ObjectLockRetainUntilDate *time.Time
// The count of parts this object has. This value is only returned if you specify // The count of parts this object has. This value is only returned if you specify
@ -436,63 +550,78 @@ type GetObjectOutput struct {
PartsCount *int32 PartsCount *int32
// Amazon S3 can return this if your request involves a bucket that is either a // Amazon S3 can return this if your request involves a bucket that is either a
// source or destination in a replication rule. This functionality is not supported // source or destination in a replication rule.
// for directory buckets. //
// This functionality is not supported for directory buckets.
ReplicationStatus types.ReplicationStatus ReplicationStatus types.ReplicationStatus
// 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
// Provides information about object restoration action and expiration time of the // Provides information about object restoration action and expiration time of the
// restored object copy. This functionality is not supported for directory buckets. // restored object copy.
// Only the S3 Express One Zone storage class is supported by directory buckets to //
// store objects. // This functionality is not supported for directory buckets. Only the S3 Express
// One Zone storage class is supported by directory buckets to store objects.
Restore *string Restore *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 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 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 , aws:kms:dsse ). For directory buckets, only // S3 (for example, AES256 , aws:kms , aws:kms:dsse ).
// server-side 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
// Provides storage class information of the object. Amazon S3 returns this header // Provides storage class information of the object. Amazon S3 returns this header
// for all objects except for S3 Standard storage class objects. Directory buckets // for all objects except for S3 Standard storage class objects.
// - Only the S3 Express One Zone storage class is supported by directory buckets //
// to store objects. // Directory buckets - Only the S3 Express One Zone storage class is supported by
// directory buckets to store objects.
StorageClass types.StorageClass StorageClass types.StorageClass
// The number of tags, if any, on the object, when you have the relevant // The number of tags, if any, on the object, when you have the relevant
// permission to read object tags. You can use GetObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html) // permission to read object tags.
// to retrieve the tag set associated with an object. This functionality is not //
// supported for directory buckets. // You can use [GetObjectTagging] to retrieve the tag set associated with an object.
//
// This functionality is not supported for directory buckets.
//
// [GetObjectTagging]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
TagCount *int32 TagCount *int32
// Version ID of the object. This functionality is not supported for directory // Version ID of the object.
// buckets. //
// This functionality is not supported for directory buckets.
VersionId *string VersionId *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
// Metadata pertaining to the operation's result. // Metadata pertaining to the operation's result.

View file

@ -13,24 +13,39 @@ 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. Returns the access // This operation is not supported by directory buckets.
// control list (ACL) of an object. To use this operation, you must have //
// s3:GetObjectAcl permissions or READ_ACP access to the object. For more // Returns the access control list (ACL) of an object. To use this operation, you
// information, see Mapping of ACL permissions and access policy permissions (https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#acl-access-policy-permission-mapping) // must have s3:GetObjectAcl permissions or READ_ACP access to the object. For
// in the Amazon S3 User Guide This functionality is not supported for Amazon S3 on // more information, see [Mapping of ACL permissions and access policy permissions]in the Amazon S3 User Guide
// Outposts. By default, GET returns ACL information about the current version of //
// an object. To return ACL information about a different version, use the // This functionality is not supported for Amazon S3 on Outposts.
// versionId subresource. If your bucket uses the bucket owner enforced setting for //
// S3 Object Ownership, requests to read ACLs are still supported and return the // By default, GET returns ACL information about the current version of an object.
// To return ACL information about a different version, use the versionId
// subresource.
//
// If your bucket uses the bucket owner enforced setting for S3 Object Ownership,
// requests to read ACLs are still supported and return the
// bucket-owner-full-control ACL with the owner being the account that created the // bucket-owner-full-control ACL with the owner being the account that created the
// bucket. For more information, see Controlling object ownership and disabling // bucket. For more information, see [Controlling object ownership and disabling ACLs]in the Amazon S3 User Guide.
// ACLs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) //
// in the Amazon S3 User Guide. The following operations are related to // The following operations are related to GetObjectAcl :
// GetObjectAcl : //
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // [GetObject]
// - GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html) //
// - DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) // [GetObjectAttributes]
// - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) //
// [DeleteObject]
//
// [PutObject]
//
// [DeleteObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
// [Mapping of ACL permissions and access policy permissions]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#acl-access-policy-permission-mapping
// [GetObjectAttributes]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
// [PutObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
// [GetObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
// [Controlling object ownership and disabling ACLs]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
func (c *Client) GetObjectAcl(ctx context.Context, params *GetObjectAclInput, optFns ...func(*Options)) (*GetObjectAclOutput, error) { func (c *Client) GetObjectAcl(ctx context.Context, params *GetObjectAclInput, optFns ...func(*Options)) (*GetObjectAclOutput, error) {
if params == nil { if params == nil {
params = &GetObjectAclInput{} params = &GetObjectAclInput{}
@ -49,6 +64,7 @@ func (c *Client) GetObjectAcl(ctx context.Context, params *GetObjectAclInput, op
type GetObjectAclInput struct { type GetObjectAclInput struct {
// The bucket name that contains the object for which to get the ACL information. // The bucket name that contains the object for which to get the ACL information.
//
// Access points - When you use this action with an access point, you must provide // Access points - When you use this action with an access point, you must provide
// the alias of the access point in place of the bucket name or specify the access // the alias of the access point in place of the bucket name or specify the access
// point ARN. When using the access point ARN, you must direct requests to the // point ARN. When using the access point ARN, you must direct requests to the
@ -56,8 +72,9 @@ type GetObjectAclInput struct {
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide // action with an access point through the Amazon Web Services SDKs, you provide
// the access point ARN in place of the bucket name. For more information about // the access point ARN in place of the bucket name. For more information about
// access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// [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
@ -76,14 +93,17 @@ type GetObjectAclInput 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
// Version ID used to reference a specific version of the object. This // Version ID used to reference a specific version of the object.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
VersionId *string VersionId *string
noSmithyDocumentSerde noSmithyDocumentSerde
@ -100,11 +120,13 @@ type GetObjectAclOutput struct {
// A list of grants. // A list of grants.
Grants []types.Grant Grants []types.Grant
// Container for the bucket owner's display name and ID. // Container for the bucket owner's display name and ID.
Owner *types.Owner Owner *types.Owner
// 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.

View file

@ -16,32 +16,39 @@ import (
// Retrieves all the metadata from an object without returning the object itself. // Retrieves all the metadata from an object without returning the object itself.
// This operation is useful if you're interested only in an object's metadata. // This operation is useful if you're interested only in an object's metadata.
//
// GetObjectAttributes combines the functionality of HeadObject and ListParts . All // GetObjectAttributes combines the functionality of HeadObject and ListParts . All
// of the data returned with each of those individual calls can be returned with a // of the data returned with each of those individual calls can be returned with a
// single call to GetObjectAttributes . Directory buckets - For directory buckets, // single call to GetObjectAttributes .
// you must make requests for this API operation to the Zonal endpoint. These //
// endpoints support virtual-hosted-style requests in the format // 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 // 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 - To use GetObjectAttributes , you must // - General purpose bucket permissions - To use GetObjectAttributes , you must
// have READ access to the object. The permissions that you need to use this // have READ access to the object. The permissions that you need to use this
// operation with depend on whether the bucket is versioned. If the bucket is // operation with depend on whether the bucket is versioned. If the bucket is
// versioned, you need both the s3:GetObjectVersion and // versioned, you need both the s3:GetObjectVersion and
// s3:GetObjectVersionAttributes permissions for this operation. If the bucket is // s3:GetObjectVersionAttributes permissions for this operation. If the bucket is
// not versioned, you need the s3:GetObject and s3:GetObjectAttributes // not versioned, you need the s3:GetObject and s3:GetObjectAttributes
// permissions. For more information, see Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html) // permissions. For more information, see [Specifying Permissions in a Policy]in the Amazon S3 User Guide. If the
// in the Amazon S3 User Guide. If the object that you request does not exist, the // object that you request does not exist, the error Amazon S3 returns depends on
// error Amazon S3 returns depends on whether you also have the s3:ListBucket // whether you also have the s3:ListBucket permission.
// permission. //
// - If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an // - If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an
// HTTP status code 404 Not Found ("no such key") error. // HTTP status code 404 Not Found ("no such key") error.
//
// - If you don't have the s3:ListBucket permission, Amazon S3 returns an HTTP // - If you don't have the s3:ListBucket permission, Amazon S3 returns an HTTP
// status code 403 Forbidden ("access denied") error. // status code 403 Forbidden ("access denied") error.
//
// - 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
@ -49,8 +56,7 @@ 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 request headers, like x-amz-server-side-encryption , // Encryption Encryption request headers, like x-amz-server-side-encryption ,
// should not be sent for HEAD requests if your object uses server-side encryption // should not be sent for HEAD requests if your object uses server-side encryption
@ -61,49 +67,86 @@ import (
// want to specify the encryption method. If you include this header in a GET // want to specify the encryption method. If you include this header in a GET
// request for an object that uses these types of keys, youll get an HTTP 400 Bad // request for an object that uses these types of keys, youll get an HTTP 400 Bad
// Request error. It's because the encryption method can't be changed when you // Request error. It's because the encryption method can't be changed when you
// retrieve the object. If you encrypt an object by using server-side encryption // retrieve the object.
// with customer-provided encryption keys (SSE-C) when you store the object in //
// Amazon S3, then when you retrieve the metadata from the object, you must use the // If you encrypt an object by using server-side encryption with customer-provided
// following headers to provide the encryption key for the server to be able to // encryption keys (SSE-C) when you store the object in Amazon S3, then when you
// retrieve the object's metadata. The headers are: // retrieve the metadata from the object, you must use the following headers to
// provide the encryption key for the server to be able to retrieve the object's
// metadata. The headers are:
//
// - x-amz-server-side-encryption-customer-algorithm // - x-amz-server-side-encryption-customer-algorithm
//
// - x-amz-server-side-encryption-customer-key // - x-amz-server-side-encryption-customer-key
//
// - x-amz-server-side-encryption-customer-key-MD5 // - x-amz-server-side-encryption-customer-key-MD5
// //
// For more information about SSE-C, see Server-Side Encryption (Using // For more information about SSE-C, see [Server-Side Encryption (Using Customer-Provided Encryption Keys)] in the Amazon S3 User Guide.
// Customer-Provided Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html) //
// in the Amazon S3 User Guide. Directory bucket permissions - For directory // Directory bucket permissions - For directory buckets, only server-side
// buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) ( // encryption with Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported.
// AES256 ) is supported. Versioning Directory buckets - S3 Versioning isn't //
// enabled and supported for directory buckets. For this API operation, only the // Versioning Directory buckets - S3 Versioning isn't enabled and supported for
// null value of the version ID is supported by directory buckets. You can only // directory buckets. For this API operation, only the null value of the version
// specify null to the versionId query parameter in the request. Conditional // ID is supported by directory buckets. You can only specify null to the versionId
// request headers Consider the following when using request headers: // query parameter in the request.
//
// Conditional request headers Consider the following when using request headers:
//
// - If both of the If-Match and If-Unmodified-Since headers are present in the // - If both of the If-Match and If-Unmodified-Since headers are present in the
// request as follows, then Amazon S3 returns the HTTP status code 200 OK and the // request as follows, then Amazon S3 returns the HTTP status code 200 OK and the
// data requested: // data requested:
//
// - If-Match condition evaluates to true . // - If-Match condition evaluates to true .
// - If-Unmodified-Since condition evaluates to false . For more information //
// about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) // - If-Unmodified-Since condition evaluates to false .
// . //
// For more information about conditional requests, see [RFC 7232].
//
// - If both of the If-None-Match and If-Modified-Since headers are present in // - If both of the If-None-Match and If-Modified-Since headers are present in
// the request as follows, then Amazon S3 returns the HTTP status code 304 Not // the request as follows, then Amazon S3 returns the HTTP status code 304 Not
// Modified : // Modified :
// - If-None-Match condition evaluates to false .
// - If-Modified-Since condition evaluates to true . For more information about
// conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) .
// //
// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is // - If-None-Match condition evaluates to false .
// Bucket_name.s3express-az_id.region.amazonaws.com . The following actions are //
// related to GetObjectAttributes : // - If-Modified-Since condition evaluates to true .
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) //
// - GetObjectAcl (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html) // For more information about conditional requests, see [RFC 7232].
// - GetObjectLegalHold (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html) //
// - GetObjectLockConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html) // HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
// - GetObjectRetention (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html) // Bucket_name.s3express-az_id.region.amazonaws.com .
// - GetObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html) //
// - HeadObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html) // The following actions are related to GetObjectAttributes :
// - ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) //
// [GetObject]
//
// [GetObjectAcl]
//
// [GetObjectLegalHold]
//
// [GetObjectLockConfiguration]
//
// [GetObjectRetention]
//
// [GetObjectTagging]
//
// [HeadObject]
//
// [ListParts]
//
// [GetObjectLegalHold]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html
// [ListParts]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
// [Server-Side Encryption (Using Customer-Provided Encryption Keys)]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
// [Regional and Zonal endpoints]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
// [CreateSession]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
// [GetObjectTagging]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html
// [Specifying Permissions in a Policy]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
// [RFC 7232]: https://tools.ietf.org/html/rfc7232
// [HeadObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html
// [GetObjectLockConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html
// [GetObjectAcl]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
// [GetObjectRetention]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html
// [GetObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
func (c *Client) GetObjectAttributes(ctx context.Context, params *GetObjectAttributesInput, optFns ...func(*Options)) (*GetObjectAttributesOutput, error) { func (c *Client) GetObjectAttributes(ctx context.Context, params *GetObjectAttributesInput, optFns ...func(*Options)) (*GetObjectAttributesOutput, error) {
if params == nil { if params == nil {
params = &GetObjectAttributesInput{} params = &GetObjectAttributesInput{}
@ -121,31 +164,39 @@ func (c *Client) GetObjectAttributes(ctx context.Context, params *GetObjectAttri
type GetObjectAttributesInput struct { type GetObjectAttributesInput struct {
// The name of the bucket that contains the object. Directory buckets - When you // The name of the bucket that contains the object.
// 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 . // Directory buckets - When you use this operation with a directory bucket, you
// Path-style requests are not supported. Directory bucket names must be unique in // must use virtual-hosted-style requests in the format
// the chosen Availability Zone. Bucket names must follow the format // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
// bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3 // supported. Directory bucket names must be unique in the chosen Availability
// ). For information about bucket naming restrictions, see Directory bucket // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
// naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) // example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3 ). For information about bucket
// in the Amazon S3 User Guide. Access points - When you use this action with an // naming restrictions, see [Directory bucket naming rules]in the Amazon S3 User Guide.
// access point, you must provide the alias of the access point in place of the //
// bucket name or specify the access point ARN. When using the access point ARN, // Access points - When you use this action with an access point, you must provide
// you must direct requests to the access point hostname. The access point hostname // the alias of the access point in place of the bucket name or specify the access
// takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. // point ARN. When using the access point ARN, you must direct requests to the
// When using this action with an access point through the Amazon Web Services // access point hostname. The access point hostname takes the form
// SDKs, you provide the access point ARN in place of the bucket name. For more // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // action with an access point through the Amazon Web Services SDKs, you provide
// in the Amazon S3 User Guide. Access points and Object Lambda access points are // the access point ARN in place of the bucket name. For more information about
// not supported by directory buckets. S3 on Outposts - When you use this action // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts //
// hostname. The S3 on Outposts hostname takes the form // Access points and Object Lambda access points are 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 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
@ -177,32 +228,38 @@ type GetObjectAttributesInput 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
// 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 encryption key according to RFC 1321. // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
// Amazon S3 uses this header for a message integrity check to ensure that the // Amazon S3 uses this header for a message integrity check to ensure that the
// encryption key was transmitted without error. This functionality is not // encryption key was transmitted without error.
// supported for directory buckets. //
// This functionality is not supported for directory buckets.
SSECustomerKeyMD5 *string SSECustomerKeyMD5 *string
// The version ID used to reference a specific version of the object. S3 // The version ID used to reference a specific version of the object.
// Versioning isn't enabled and supported for directory buckets. For this API //
// S3 Versioning isn't enabled and supported for directory buckets. For this API
// operation, only the null value of the version ID is supported by directory // operation, only the null value of the version ID is supported by directory
// buckets. You can only specify null to the versionId query parameter in the // buckets. You can only specify null to the versionId query parameter in the
// request. // request.
@ -223,6 +280,7 @@ type GetObjectAttributesOutput struct {
// Specifies whether the object retrieved was ( true ) or was not ( false ) a // Specifies whether the object retrieved was ( true ) or was not ( false ) a
// delete marker. If false , this response header does not appear in the response. // delete marker. If false , this response header does not appear in the response.
//
// This functionality is not supported for directory buckets. // This functionality is not supported for directory buckets.
DeleteMarker *bool DeleteMarker *bool
@ -240,18 +298,25 @@ type GetObjectAttributesOutput struct {
ObjectSize *int64 ObjectSize *int64
// 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
// Provides the storage class information of the object. Amazon S3 returns this // Provides the storage class information of the object. Amazon S3 returns this
// header for all objects except for S3 Standard storage class objects. For more // header for all objects except for S3 Standard storage class objects.
// information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) //
// . Directory buckets - Only the S3 Express One Zone storage class is supported by // For more information, see [Storage Classes].
//
// Directory buckets - Only the S3 Express One Zone storage class is supported by
// directory buckets to store objects. // directory buckets to store objects.
//
// [Storage Classes]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
StorageClass types.StorageClass StorageClass types.StorageClass
// The version ID of the object. This functionality is not supported for directory // The version ID of the object.
// buckets. //
// 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.

View file

@ -13,11 +13,18 @@ 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. Gets an object's current // This operation is not supported by directory buckets.
// legal hold status. For more information, see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) //
// . This functionality is not supported for Amazon S3 on Outposts. The following // Gets an object's current legal hold status. For more information, see [Locking Objects].
// action is related to GetObjectLegalHold : //
// - GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html) // This functionality is not supported for Amazon S3 on Outposts.
//
// The following action is related to GetObjectLegalHold :
//
// [GetObjectAttributes]
//
// [GetObjectAttributes]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
// [Locking Objects]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
func (c *Client) GetObjectLegalHold(ctx context.Context, params *GetObjectLegalHoldInput, optFns ...func(*Options)) (*GetObjectLegalHoldOutput, error) { func (c *Client) GetObjectLegalHold(ctx context.Context, params *GetObjectLegalHoldInput, optFns ...func(*Options)) (*GetObjectLegalHoldOutput, error) {
if params == nil { if params == nil {
params = &GetObjectLegalHoldInput{} params = &GetObjectLegalHoldInput{}
@ -36,15 +43,18 @@ func (c *Client) GetObjectLegalHold(ctx context.Context, params *GetObjectLegalH
type GetObjectLegalHoldInput struct { type GetObjectLegalHoldInput struct {
// The bucket name containing the object whose legal hold status you want to // The bucket name containing the object whose legal hold status you want to
// retrieve. Access points - When you use this action with an access point, you // retrieve.
// must provide the alias of the access point in place of the bucket name or //
// specify the access point ARN. When using the access point ARN, you must direct // Access points - When you use this action with an access point, you must provide
// requests to the access point hostname. The access point hostname takes the form // the alias of the access point in place of the bucket name or specify the access
// point ARN. When using the access point ARN, you must direct requests to the
// access point hostname. The access point hostname takes the form
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide // action with an access point through the Amazon Web Services SDKs, you provide
// the access point ARN in place of the bucket name. For more information about // the access point ARN in place of the bucket name. For more information about
// access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// [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
@ -63,10 +73,12 @@ type GetObjectLegalHoldInput 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 version ID of the object whose legal hold status you want to retrieve. // The version ID of the object whose legal hold status you want to retrieve.

View file

@ -13,12 +13,18 @@ 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. Gets the Object Lock // This operation is not supported by directory buckets.
// configuration for a bucket. The rule specified in the Object Lock configuration //
// will be applied by default to every new object placed in the specified bucket. // Gets the Object Lock configuration for a bucket. The rule specified in the
// For more information, see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) // Object Lock configuration will be applied by default to every new object placed
// . The following action is related to GetObjectLockConfiguration : // in the specified bucket. For more information, see [Locking Objects].
// - GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html) //
// The following action is related to GetObjectLockConfiguration :
//
// [GetObjectAttributes]
//
// [GetObjectAttributes]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
// [Locking Objects]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
func (c *Client) GetObjectLockConfiguration(ctx context.Context, params *GetObjectLockConfigurationInput, optFns ...func(*Options)) (*GetObjectLockConfigurationOutput, error) { func (c *Client) GetObjectLockConfiguration(ctx context.Context, params *GetObjectLockConfigurationInput, optFns ...func(*Options)) (*GetObjectLockConfigurationOutput, error) {
if params == nil { if params == nil {
params = &GetObjectLockConfigurationInput{} params = &GetObjectLockConfigurationInput{}
@ -36,16 +42,18 @@ func (c *Client) GetObjectLockConfiguration(ctx context.Context, params *GetObje
type GetObjectLockConfigurationInput struct { type GetObjectLockConfigurationInput struct {
// The bucket whose Object Lock configuration you want to retrieve. Access points // The bucket whose Object Lock configuration you want to retrieve.
// - When you use this action with an access point, you must provide the alias of //
// the access point in place of the bucket name or specify the access point ARN. // Access points - When you use this action with an access point, you must provide
// When using the access point ARN, you must direct requests to the access point // the alias of the access point in place of the bucket name or specify the access
// hostname. The access point hostname takes the form // point ARN. When using the access point ARN, you must direct requests to the
// access point hostname. The access point hostname takes the form
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide // action with an access point through the Amazon Web Services SDKs, you provide
// the access point ARN in place of the bucket name. For more information about // the access point ARN in place of the bucket name. For more information about
// access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// [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

View file

@ -13,11 +13,18 @@ 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. Retrieves an object's // This operation is not supported by directory buckets.
// retention settings. For more information, see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) //
// . This functionality is not supported for Amazon S3 on Outposts. The following // Retrieves an object's retention settings. For more information, see [Locking Objects].
// action is related to GetObjectRetention : //
// - GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html) // This functionality is not supported for Amazon S3 on Outposts.
//
// The following action is related to GetObjectRetention :
//
// [GetObjectAttributes]
//
// [GetObjectAttributes]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
// [Locking Objects]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
func (c *Client) GetObjectRetention(ctx context.Context, params *GetObjectRetentionInput, optFns ...func(*Options)) (*GetObjectRetentionOutput, error) { func (c *Client) GetObjectRetention(ctx context.Context, params *GetObjectRetentionInput, optFns ...func(*Options)) (*GetObjectRetentionOutput, error) {
if params == nil { if params == nil {
params = &GetObjectRetentionInput{} params = &GetObjectRetentionInput{}
@ -36,15 +43,18 @@ func (c *Client) GetObjectRetention(ctx context.Context, params *GetObjectRetent
type GetObjectRetentionInput struct { type GetObjectRetentionInput struct {
// The bucket name containing the object whose retention settings you want to // The bucket name containing the object whose retention settings you want to
// retrieve. Access points - When you use this action with an access point, you // retrieve.
// must provide the alias of the access point in place of the bucket name or //
// specify the access point ARN. When using the access point ARN, you must direct // Access points - When you use this action with an access point, you must provide
// requests to the access point hostname. The access point hostname takes the form // the alias of the access point in place of the bucket name or specify the access
// point ARN. When using the access point ARN, you must direct requests to the
// access point hostname. The access point hostname takes the form
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide // action with an access point through the Amazon Web Services SDKs, you provide
// the access point ARN in place of the bucket name. For more information about // the access point ARN in place of the bucket name. For more information about
// access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// [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
@ -63,10 +73,12 @@ type GetObjectRetentionInput 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 version ID for the object whose retention settings you want to retrieve. // The version ID for the object whose retention settings you want to retrieve.

View file

@ -13,20 +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. Returns the tag-set of an // This operation is not supported by directory buckets.
// object. You send the GET request against the tagging subresource associated with //
// the object. To use this operation, you must have permission to perform the // Returns the tag-set of an object. You send the GET request against the tagging
// subresource associated with the object.
//
// To use this operation, you must have permission to perform the
// s3:GetObjectTagging action. By default, the GET action returns information about // s3:GetObjectTagging action. By default, the GET action returns information about
// current version of an object. For a versioned bucket, you can have multiple // current version of an object. For a versioned bucket, you can have multiple
// versions of an object in your bucket. To retrieve tags of any other version, use // versions of an object in your bucket. To retrieve tags of any other version, use
// the versionId query parameter. You also need permission for the // the versionId query parameter. You also need permission for the
// s3:GetObjectVersionTagging action. By default, the bucket owner has this // s3:GetObjectVersionTagging action.
// permission and can grant this permission to others. For information about the //
// Amazon S3 object tagging feature, see Object Tagging (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html) // By default, the bucket owner has this permission and can grant this permission
// . The following actions are related to GetObjectTagging : // to others.
// - DeleteObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html) //
// - GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html) // For information about the Amazon S3 object tagging feature, see [Object Tagging].
// - PutObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html) //
// The following actions are related to GetObjectTagging :
//
// [DeleteObjectTagging]
//
// [GetObjectAttributes]
//
// [PutObjectTagging]
//
// [DeleteObjectTagging]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html
// [PutObjectTagging]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html
// [GetObjectAttributes]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
// [Object Tagging]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html
func (c *Client) GetObjectTagging(ctx context.Context, params *GetObjectTaggingInput, optFns ...func(*Options)) (*GetObjectTaggingOutput, error) { func (c *Client) GetObjectTagging(ctx context.Context, params *GetObjectTaggingInput, optFns ...func(*Options)) (*GetObjectTaggingOutput, error) {
if params == nil { if params == nil {
params = &GetObjectTaggingInput{} params = &GetObjectTaggingInput{}
@ -45,6 +60,7 @@ func (c *Client) GetObjectTagging(ctx context.Context, params *GetObjectTaggingI
type GetObjectTaggingInput struct { type GetObjectTaggingInput struct {
// The bucket name containing the object for which to get the tagging information. // The bucket name containing the object for which to get the tagging information.
//
// Access points - When you use this action with an access point, you must provide // Access points - When you use this action with an access point, you must provide
// the alias of the access point in place of the bucket name or specify the access // the alias of the access point in place of the bucket name or specify the access
// point ARN. When using the access point ARN, you must direct requests to the // point ARN. When using the access point ARN, you must direct requests to the
@ -52,15 +68,18 @@ type GetObjectTaggingInput struct {
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide // action with an access point through the Amazon Web Services SDKs, you provide
// the access point ARN in place of the bucket name. For more information about // the access point ARN in place of the bucket name. For more information about
// access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. S3 on Outposts - When you use this action with //
// Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname. // S3 on Outposts - When you use this action with Amazon S3 on Outposts, you must
// The S3 on Outposts hostname takes the form // 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. //
// [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
@ -79,10 +98,12 @@ type GetObjectTaggingInput 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 versionId of the object for which to get the tagging information. // The versionId of the object for which to get the tagging information.

View file

@ -14,14 +14,24 @@ import (
"io" "io"
) )
// This operation is not supported by directory buckets. Returns torrent files // This operation is not supported by directory buckets.
// from a bucket. BitTorrent can save you bandwidth when you're distributing large //
// files. You can get torrent only for objects that are less than 5 GB in size, and // Returns torrent files from a bucket. BitTorrent can save you bandwidth when
// that are not encrypted using server-side encryption with a customer-provided // you're distributing large files.
// encryption key. To use GET, you must have READ access to the object. This //
// functionality is not supported for Amazon S3 on Outposts. The following action // You can get torrent only for objects that are less than 5 GB in size, and that
// is related to GetObjectTorrent : // are not encrypted using server-side encryption with a customer-provided
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // encryption key.
//
// To use GET, you must have READ access to the object.
//
// This functionality is not supported for Amazon S3 on Outposts.
//
// The following action is related to GetObjectTorrent :
//
// [GetObject]
//
// [GetObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
func (c *Client) GetObjectTorrent(ctx context.Context, params *GetObjectTorrentInput, optFns ...func(*Options)) (*GetObjectTorrentOutput, error) { func (c *Client) GetObjectTorrent(ctx context.Context, params *GetObjectTorrentInput, optFns ...func(*Options)) (*GetObjectTorrentOutput, error) {
if params == nil { if params == nil {
params = &GetObjectTorrentInput{} params = &GetObjectTorrentInput{}
@ -58,10 +68,12 @@ type GetObjectTorrentInput 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
@ -78,7 +90,9 @@ type GetObjectTorrentOutput struct {
Body io.ReadCloser Body io.ReadCloser
// 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.

View file

@ -14,22 +14,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. Retrieves the // This operation is not supported by directory buckets.
// PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation, //
// you must have the s3:GetBucketPublicAccessBlock permission. For more // Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket. To use
// information about Amazon S3 permissions, see Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html) // this operation, you must have the s3:GetBucketPublicAccessBlock permission. For
// . When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or // more information about Amazon S3 permissions, see [Specifying Permissions in a Policy].
// an object, it checks the PublicAccessBlock configuration for both the bucket //
// (or the bucket that contains the object) and the bucket owner's account. If the // When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an
// object, it checks the PublicAccessBlock configuration for both the bucket (or
// the bucket that contains the object) and the bucket owner's account. If the
// PublicAccessBlock settings are different between the bucket and the account, // PublicAccessBlock settings are different between the bucket and the account,
// Amazon S3 uses the most restrictive combination of the bucket-level and // Amazon S3 uses the most restrictive combination of the bucket-level and
// account-level settings. For more information about when Amazon S3 considers a // account-level settings.
// bucket or an object public, see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status) //
// . The following operations are related to GetPublicAccessBlock : // For more information about when Amazon S3 considers a bucket or an object
// - Using Amazon S3 Block Public Access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html) // public, see [The Meaning of "Public"].
// - PutPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html) //
// - GetPublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html) // The following operations are related to GetPublicAccessBlock :
// - DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html) //
// [Using Amazon S3 Block Public Access]
//
// [PutPublicAccessBlock]
//
// [GetPublicAccessBlock]
//
// [DeletePublicAccessBlock]
//
// [GetPublicAccessBlock]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetPublicAccessBlock.html
// [PutPublicAccessBlock]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutPublicAccessBlock.html
// [DeletePublicAccessBlock]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html
// [Using Amazon S3 Block Public Access]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html
// [Specifying Permissions in a Policy]: https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html
// [The Meaning of "Public"]: https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status
func (c *Client) GetPublicAccessBlock(ctx context.Context, params *GetPublicAccessBlockInput, optFns ...func(*Options)) (*GetPublicAccessBlockOutput, error) { func (c *Client) GetPublicAccessBlock(ctx context.Context, params *GetPublicAccessBlockInput, optFns ...func(*Options)) (*GetPublicAccessBlockOutput, error) {
if params == nil { if params == nil {
params = &GetPublicAccessBlockInput{} params = &GetPublicAccessBlockInput{}

View file

@ -19,42 +19,54 @@ import (
// You can use this operation to determine if a bucket exists and if you have // You can use this operation to determine if a bucket exists and if you have
// permission to access it. The action returns a 200 OK if the bucket exists and // permission to access it. The action returns a 200 OK if the bucket exists and
// you have permission to access it. If the bucket does not exist or you do not // you have permission to access it.
// have permission to access it, the HEAD request returns a generic 400 Bad Request //
// , 403 Forbidden or 404 Not Found code. A message body is not included, so you // If the bucket does not exist or you do not have permission to access it, the
// cannot determine the exception beyond these HTTP response codes. Directory // HEAD request returns a generic 400 Bad Request , 403 Forbidden or 404 Not Found
// buckets - You must make requests for this API operation to the Zonal endpoint. // code. A message body is not included, so you cannot determine the exception
// These endpoints support virtual-hosted-style requests in the format // beyond these HTTP response codes.
//
// 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 . 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. Authentication and authorization All HeadBucket //
// requests must be authenticated and signed by using IAM credentials (access key // Authentication and authorization All HeadBucket requests must be authenticated
// ID and secret access key for the IAM identities). All headers with the x-amz- // and signed by using IAM credentials (access key ID and secret access key for the
// prefix, including x-amz-copy-source , must be signed. For more information, see // IAM identities). All headers with the x-amz- prefix, including x-amz-copy-source
// REST Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html) // , must be signed. For more information, see [REST Authentication].
// . Directory bucket - You must use IAM credentials to authenticate and authorize //
// Directory bucket - You must use IAM credentials to authenticate and authorize
// your access to the HeadBucket API operation, instead of using the temporary // your access to the HeadBucket API operation, instead of using the temporary
// security credentials through the CreateSession API operation. Amazon Web // security credentials through the CreateSession API operation.
// Services CLI or SDKs handles authentication and authorization on your behalf. //
// Amazon Web Services CLI or SDKs handles authentication and authorization on
// your behalf.
//
// Permissions // Permissions
//
// - General purpose bucket permissions - To use this operation, you must have // - General purpose bucket permissions - To use this operation, you must have
// permissions to perform the s3:ListBucket action. The bucket owner has this // permissions to perform the s3:ListBucket action. The bucket owner has this
// permission by default and can grant this permission to others. For more // permission by default and can grant this permission to others. For more
// information about permissions, see Managing access permissions to your Amazon // information about permissions, see [Managing access permissions to your Amazon S3 resources]in the Amazon S3 User Guide.
// S3 resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) //
// in the Amazon S3 User Guide.
// - Directory bucket permissions - You must have the s3express:CreateSession // - Directory bucket permissions - You must have the s3express:CreateSession
// permission in the Action element of a policy. By default, the session is in // permission in the Action element of a policy. By default, the session is in
// the ReadWrite mode. If you want to restrict the access, you can explicitly set // the ReadWrite mode. If you want to restrict the access, you can explicitly set
// the s3express:SessionMode condition key to ReadOnly on the bucket. For more // the s3express:SessionMode condition key to ReadOnly on the bucket.
// information about example bucket 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)
// 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)
// in the Amazon S3 User Guide.
// //
// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is // For more information about example bucket 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
//
// User Guide.
//
// HTTP Host header syntax Directory buckets - 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
// [REST Authentication]: https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html
// [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
// [Managing access permissions to your Amazon S3 resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
func (c *Client) HeadBucket(ctx context.Context, params *HeadBucketInput, optFns ...func(*Options)) (*HeadBucketOutput, error) { func (c *Client) HeadBucket(ctx context.Context, params *HeadBucketInput, optFns ...func(*Options)) (*HeadBucketOutput, error) {
if params == nil { if params == nil {
params = &HeadBucketInput{} params = &HeadBucketInput{}
@ -72,36 +84,46 @@ func (c *Client) HeadBucket(ctx context.Context, params *HeadBucketInput, optFns
type HeadBucketInput struct { type HeadBucketInput struct {
// The bucket name. Directory buckets - When you use this operation with a // The bucket name.
// 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-az1--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. Object Lambda access points - When you use this API // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// operation with an Object Lambda access point, provide the alias of the Object //
// Lambda access point in place of the bucket name. If the Object Lambda access // Object Lambda access points - When you use this API operation with an Object
// point alias in a request is not valid, the error code // Lambda access point, provide the alias of the Object Lambda access point in
// InvalidAccessPointAliasError is returned. For more information about // place of the bucket name. If the Object Lambda access point alias in a request
// InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList) // is not valid, the error code InvalidAccessPointAliasError is returned. For more
// . Access points and Object Lambda access points are not supported by directory // information about InvalidAccessPointAliasError , see [List of Error Codes].
// 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 // Access points and Object Lambda access points are not supported by directory
// 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
// [List of Error Codes]: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList
// //
// This member is required. // This member is required.
Bucket *string Bucket *string
@ -122,21 +144,26 @@ func (in *HeadBucketInput) bindEndpointParams(p *EndpointParameters) {
type HeadBucketOutput struct { type HeadBucketOutput struct {
// Indicates whether the bucket name used in the request is an access point alias. // Indicates whether the bucket name used in the request is an access point alias.
//
// This functionality is not supported for directory buckets. // This functionality is not supported for directory buckets.
AccessPointAlias *bool AccessPointAlias *bool
// The name of the location where the bucket will be created. For directory // The name of the location where the bucket will be created.
// buckets, the AZ ID of the Availability Zone where the bucket is created. An //
// example AZ ID value is usw2-az1 . This functionality is only supported by // For directory buckets, the AZ ID of the Availability Zone where the bucket is
// directory buckets. // created. An example AZ ID value is usw2-az1 .
//
// This functionality is only supported by directory buckets.
BucketLocationName *string BucketLocationName *string
// The type of location where the bucket is created. This functionality is only // The type of location where the bucket is created.
// supported by directory buckets. //
// This functionality is only supported by directory buckets.
BucketLocationType types.LocationType BucketLocationType types.LocationType
// The Region that the bucket is located. This functionality is not supported for // The Region that the bucket is located.
// directory buckets. //
// This functionality is not supported for directory buckets.
BucketRegion *string BucketRegion *string
// Metadata pertaining to the operation's result. // Metadata pertaining to the operation's result.
@ -285,12 +312,13 @@ type BucketExistsWaiterOptions struct {
// Retryable is function that can be used to override the service defined // Retryable is function that can be used to override the service defined
// waiter-behavior based on operation output, or returned error. This function is // waiter-behavior based on operation output, or returned error. This function is
// used by the waiter to decide if a state is retryable or a terminal state. By // used by the waiter to decide if a state is retryable or a terminal state.
// default service-modeled logic will populate this option. This option can thus be //
// used to define a custom waiter state with fall-back to service-modeled waiter // By default service-modeled logic will populate this option. This option can
// state mutators.The function returns an error in case of a failure state. In case // thus be used to define a custom waiter state with fall-back to service-modeled
// of retry state, this function returns a bool value of true and nil error, while // waiter state mutators.The function returns an error in case of a failure state.
// in case of success it returns a bool value of false and nil error. // In case of retry state, this function returns a bool value of true and nil
// error, while in case of success it returns a bool value of false and nil error.
Retryable func(context.Context, *HeadBucketInput, *HeadBucketOutput, error) (bool, error) Retryable func(context.Context, *HeadBucketInput, *HeadBucketOutput, error) (bool, error)
} }
@ -450,12 +478,13 @@ type BucketNotExistsWaiterOptions struct {
// Retryable is function that can be used to override the service defined // Retryable is function that can be used to override the service defined
// waiter-behavior based on operation output, or returned error. This function is // waiter-behavior based on operation output, or returned error. This function is
// used by the waiter to decide if a state is retryable or a terminal state. By // used by the waiter to decide if a state is retryable or a terminal state.
// default service-modeled logic will populate this option. This option can thus be //
// used to define a custom waiter state with fall-back to service-modeled waiter // By default service-modeled logic will populate this option. This option can
// state mutators.The function returns an error in case of a failure state. In case // thus be used to define a custom waiter state with fall-back to service-modeled
// of retry state, this function returns a bool value of true and nil error, while // waiter state mutators.The function returns an error in case of a failure state.
// in case of success it returns a bool value of false and nil error. // In case of retry state, this function returns a bool value of true and nil
// error, while in case of success it returns a bool value of false and nil error.
Retryable func(context.Context, *HeadBucketInput, *HeadBucketOutput, error) (bool, error) Retryable func(context.Context, *HeadBucketInput, *HeadBucketOutput, error) (bool, error)
} }

View file

@ -19,43 +19,52 @@ import (
// The HEAD operation retrieves metadata from an object without returning the // The HEAD operation retrieves metadata from an object without returning the
// object itself. This operation is useful if you're interested only in an object's // object itself. This operation is useful if you're interested only in an object's
// metadata. A HEAD request has the same options as a GET operation on an object. // metadata.
// The response is identical to the GET response except that there is no response //
// A HEAD request has the same options as a GET operation on an object. The
// response is identical to the GET response except that there is no response
// body. Because of this, if the HEAD request generates an error, it returns a // body. Because of this, if the HEAD request generates an error, it returns a
// generic code, such as 400 Bad Request , 403 Forbidden , 404 Not Found , 405 // generic code, such as 400 Bad Request , 403 Forbidden , 404 Not Found , 405
// Method Not Allowed , 412 Precondition Failed , or 304 Not Modified . It's not // Method Not Allowed , 412 Precondition Failed , or 304 Not Modified . It's not
// possible to retrieve the exact exception of these error codes. Request headers // possible to retrieve the exact exception of these error codes.
// are limited to 8 KB in size. For more information, see Common Request Headers (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html) //
// . Directory buckets - For directory buckets, you must make requests for this API // Request headers are limited to 8 KB in size. For more information, see [Common Request Headers].
//
// Directory buckets - For directory buckets, you must make requests for this API
// operation to the Zonal endpoint. These endpoints support virtual-hosted-style // operation to the Zonal endpoint. These endpoints support virtual-hosted-style
// requests in the format // 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 - To use HEAD , you must have the // - General purpose bucket permissions - To use HEAD , you must have the
// s3:GetObject permission. You need the relevant read object (or version) // s3:GetObject permission. You need the relevant read object (or version)
// permission for this operation. For more information, see Actions, resources, // permission for this operation. For more information, see [Actions, resources, and condition keys for Amazon S3]in the Amazon S3
// and condition keys for Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html) // User Guide.
// in the Amazon S3 User Guide. If the object you request doesn't exist, the error //
// that Amazon S3 returns depends on whether you also have the s3:ListBucket // If the object you request doesn't exist, the error that Amazon S3 returns
// permission. //
// - If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an // depends on whether you also have the s3:ListBucket permission.
// HTTP status code 404 Not Found error. //
// - If you dont have the s3:ListBucket permission, Amazon S3 returns an HTTP // - If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an
// status code 403 Forbidden error. // HTTP status code 404 Not Found error.
// - 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) // - If you dont have the s3:ListBucket permission, Amazon S3 returns an HTTP
// API operation for session-based authorization. Specifically, you grant the // status code 403 Forbidden error.
// 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 // - Directory bucket permissions - To grant access to this API operation on a
// the bucket to obtain a session token. With the session token in your request // directory bucket, we recommend that you use the [CreateSession]CreateSession API operation
// header, you can make API requests to this operation. After the session token // for session-based authorization. Specifically, you grant the
// expires, you make another CreateSession API call to generate a new session // s3express:CreateSession permission to the directory bucket in a bucket policy
// token for use. Amazon Web Services CLI or SDKs create session and refresh the // or an IAM identity-based policy. Then, you make the CreateSession API call on
// session token automatically to avoid service interruptions when a session // the bucket to obtain a session token. With the session token in your request
// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html) // header, you can make API requests to this operation. After the session token
// . // 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
// session token automatically to avoid service interruptions when a session
// expires. For more information about authorization, see [CreateSession]CreateSession .
// //
// Encryption Encryption request headers, like x-amz-server-side-encryption , // Encryption Encryption request headers, like x-amz-server-side-encryption ,
// should not be sent for HEAD requests if your object uses server-side encryption // should not be sent for HEAD requests if your object uses server-side encryption
@ -66,20 +75,26 @@ import (
// want to specify the encryption method. If you include this header in a HEAD // want to specify the encryption method. If you include this header in a HEAD
// request for an object that uses these types of keys, youll get an HTTP 400 Bad // request for an object that uses these types of keys, youll get an HTTP 400 Bad
// Request error. It's because the encryption method can't be changed when you // Request error. It's because the encryption method can't be changed when you
// retrieve the object. If you encrypt an object by using server-side encryption // retrieve the object.
// with customer-provided encryption keys (SSE-C) when you store the object in //
// Amazon S3, then when you retrieve the metadata from the object, you must use the // If you encrypt an object by using server-side encryption with customer-provided
// following headers to provide the encryption key for the server to be able to // encryption keys (SSE-C) when you store the object in Amazon S3, then when you
// retrieve the object's metadata. The headers are: // retrieve the metadata from the object, you must use the following headers to
// provide the encryption key for the server to be able to retrieve the object's
// metadata. The headers are:
//
// - x-amz-server-side-encryption-customer-algorithm // - x-amz-server-side-encryption-customer-algorithm
//
// - x-amz-server-side-encryption-customer-key // - x-amz-server-side-encryption-customer-key
//
// - x-amz-server-side-encryption-customer-key-MD5 // - x-amz-server-side-encryption-customer-key-MD5
// //
// For more information about SSE-C, see Server-Side Encryption (Using // For more information about SSE-C, see [Server-Side Encryption (Using Customer-Provided Encryption Keys)] in the Amazon S3 User Guide.
// Customer-Provided Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html) //
// in the Amazon S3 User Guide. Directory bucket permissions - For directory // Directory bucket permissions - For directory buckets, only server-side
// buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) ( // encryption with Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported.
// AES256 ) is supported. Versioning //
// Versioning
// //
// - If the current version of the object is a delete marker, Amazon S3 behaves // - If the current version of the object is a delete marker, Amazon S3 behaves
// as if the object was deleted and includes x-amz-delete-marker: true in the // as if the object was deleted and includes x-amz-delete-marker: true in the
@ -95,11 +110,23 @@ import (
// supported by directory buckets. You can only specify null to the versionId // supported by directory buckets. You can only specify null to the versionId
// query parameter in the request. // query parameter in the request.
// //
// 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 actions are // Bucket_name.s3express-az_id.region.amazonaws.com .
// related to HeadObject : //
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // The following actions are related to HeadObject :
// - GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html) //
// [GetObject]
//
// [GetObjectAttributes]
//
// [Server-Side Encryption (Using Customer-Provided Encryption Keys)]: https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html
// [Regional and Zonal endpoints]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
// [GetObjectAttributes]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
// [Actions, resources, and condition keys for Amazon S3]: https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html
// [GetObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
// [Common Request Headers]: https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html
//
// [CreateSession]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
func (c *Client) HeadObject(ctx context.Context, params *HeadObjectInput, optFns ...func(*Options)) (*HeadObjectOutput, error) { func (c *Client) HeadObject(ctx context.Context, params *HeadObjectInput, optFns ...func(*Options)) (*HeadObjectOutput, error) {
if params == nil { if params == nil {
params = &HeadObjectInput{} params = &HeadObjectInput{}
@ -117,31 +144,39 @@ func (c *Client) HeadObject(ctx context.Context, params *HeadObjectInput, optFns
type HeadObjectInput struct { type HeadObjectInput struct {
// The name of the bucket that contains the object. Directory buckets - When you // The name of the bucket that contains the object.
// 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 . // Directory buckets - When you use this operation with a directory bucket, you
// Path-style requests are not supported. Directory bucket names must be unique in // must use virtual-hosted-style requests in the format
// the chosen Availability Zone. Bucket names must follow the format // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
// bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3 // supported. Directory bucket names must be unique in the chosen Availability
// ). For information about bucket naming restrictions, see Directory bucket // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
// naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) // example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3 ). For information about bucket
// in the Amazon S3 User Guide. Access points - When you use this action with an // naming restrictions, see [Directory bucket naming rules]in the Amazon S3 User Guide.
// access point, you must provide the alias of the access point in place of the //
// bucket name or specify the access point ARN. When using the access point ARN, // Access points - When you use this action with an access point, you must provide
// you must direct requests to the access point hostname. The access point hostname // the alias of the access point in place of the bucket name or specify the access
// takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. // point ARN. When using the access point ARN, you must direct requests to the
// When using this action with an access point through the Amazon Web Services // access point hostname. The access point hostname takes the form
// SDKs, you provide the access point ARN in place of the bucket name. For more // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // action with an access point through the Amazon Web Services SDKs, you provide
// in the Amazon S3 User Guide. Access points and Object Lambda access points are // the access point ARN in place of the bucket name. For more information about
// not supported by directory buckets. S3 on Outposts - When you use this action // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts //
// hostname. The S3 on Outposts hostname takes the form // Access points and Object Lambda access points are 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 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
@ -151,10 +186,11 @@ type HeadObjectInput struct {
// This member is required. // This member is required.
Key *string Key *string
// To retrieve the checksum, this parameter must be enabled. In addition, if you // To retrieve the checksum, this parameter must be enabled.
// enable ChecksumMode and the object is encrypted with Amazon Web Services Key //
// Management Service (Amazon Web Services KMS), you must have permission to use // In addition, if you enable ChecksumMode and the object is encrypted with Amazon
// the kms:Decrypt action for the request to succeed. // Web Services Key Management Service (Amazon Web Services KMS), you must have
// permission to use the kms:Decrypt action for the request to succeed.
ChecksumMode types.ChecksumMode ChecksumMode types.ChecksumMode
// 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
@ -163,40 +199,71 @@ type HeadObjectInput struct {
ExpectedBucketOwner *string ExpectedBucketOwner *string
// Return the object only if its entity tag (ETag) is the same as the one // Return the object only if its entity tag (ETag) is the same as the one
// specified; otherwise, return a 412 (precondition failed) error. If both of the // specified; otherwise, return a 412 (precondition failed) error.
// If-Match and If-Unmodified-Since headers are present in the request as follows: //
// If both of the If-Match and If-Unmodified-Since headers are present in the
// request as follows:
//
// - If-Match condition evaluates to true , and; // - If-Match condition evaluates to true , and;
//
// - If-Unmodified-Since condition evaluates to false ; // - If-Unmodified-Since condition evaluates to false ;
// Then Amazon S3 returns 200 OK and the data requested. For more information //
// about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) . // Then Amazon S3 returns 200 OK and the data requested.
//
// For more information about conditional requests, see [RFC 7232].
//
// [RFC 7232]: https://tools.ietf.org/html/rfc7232
IfMatch *string IfMatch *string
// Return the object only if it has been modified since the specified time; // Return the object only if it has been modified since the specified time;
// otherwise, return a 304 (not modified) error. If both of the If-None-Match and // otherwise, return a 304 (not modified) error.
// If-Modified-Since headers are present in the request as follows: //
// If both of the If-None-Match and If-Modified-Since headers are present in the
// request as follows:
//
// - If-None-Match condition evaluates to false , and; // - If-None-Match condition evaluates to false , and;
//
// - If-Modified-Since condition evaluates to true ; // - If-Modified-Since condition evaluates to true ;
// Then Amazon S3 returns the 304 Not Modified response code. For more information //
// about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) . // Then Amazon S3 returns the 304 Not Modified response code.
//
// For more information about conditional requests, see [RFC 7232].
//
// [RFC 7232]: https://tools.ietf.org/html/rfc7232
IfModifiedSince *time.Time IfModifiedSince *time.Time
// Return the object only if its entity tag (ETag) is different from the one // Return the object only if its entity tag (ETag) is different from the one
// specified; otherwise, return a 304 (not modified) error. If both of the // specified; otherwise, return a 304 (not modified) error.
// If-None-Match and If-Modified-Since headers are present in the request as //
// follows: // If both of the If-None-Match and If-Modified-Since headers are present in the
// request as follows:
//
// - If-None-Match condition evaluates to false , and; // - If-None-Match condition evaluates to false , and;
//
// - If-Modified-Since condition evaluates to true ; // - If-Modified-Since condition evaluates to true ;
// Then Amazon S3 returns the 304 Not Modified response code. For more information //
// about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) . // Then Amazon S3 returns the 304 Not Modified response code.
//
// For more information about conditional requests, see [RFC 7232].
//
// [RFC 7232]: https://tools.ietf.org/html/rfc7232
IfNoneMatch *string IfNoneMatch *string
// Return the object only if it has not been modified since the specified time; // Return the object only if it has not been modified since the specified time;
// otherwise, return a 412 (precondition failed) error. If both of the If-Match // otherwise, return a 412 (precondition failed) error.
// and If-Unmodified-Since headers are present in the request as follows: //
// If both of the If-Match and If-Unmodified-Since headers are present in the
// request as follows:
//
// - If-Match condition evaluates to true , and; // - If-Match condition evaluates to true , and;
//
// - If-Unmodified-Since condition evaluates to false ; // - If-Unmodified-Since condition evaluates to false ;
// Then Amazon S3 returns 200 OK and the data requested. For more information //
// about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) . // Then Amazon S3 returns 200 OK and the data requested.
//
// For more information about conditional requests, see [RFC 7232].
//
// [RFC 7232]: https://tools.ietf.org/html/rfc7232
IfUnmodifiedSince *time.Time IfUnmodifiedSince *time.Time
// Part number of the object being read. This is a positive integer between 1 and // Part number of the object being read. This is a positive integer between 1 and
@ -214,33 +281,39 @@ type HeadObjectInput 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
// 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 encryption key according to RFC 1321. // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
// Amazon S3 uses this header for a message integrity check to ensure that the // Amazon S3 uses this header for a message integrity check to ensure that the
// encryption key was transmitted without error. This functionality is not // encryption key was transmitted without error.
// supported for directory buckets. //
// This functionality is not supported for directory buckets.
SSECustomerKeyMD5 *string SSECustomerKeyMD5 *string
// Version ID used to reference a specific version of the object. For directory // Version ID used to reference a specific version of the object.
// buckets in this API operation, only the null value of the version ID is //
// supported. // For directory buckets in this API operation, only the null value of the version
// ID is supported.
VersionId *string VersionId *string
noSmithyDocumentSerde noSmithyDocumentSerde
@ -257,13 +330,15 @@ type HeadObjectOutput struct {
// Indicates that a range of bytes was specified. // Indicates that a range of bytes was specified.
AcceptRanges *string AcceptRanges *string
// The archive state of the head object. This functionality is not supported for // The archive state of the head object.
// directory buckets. //
// This functionality is not supported for directory buckets.
ArchiveStatus types.ArchiveStatus ArchiveStatus types.ArchiveStatus
// Indicates whether the object uses an S3 Bucket Key for server-side encryption // Indicates whether the object uses an S3 Bucket Key for server-side encryption
// with Key Management Service (KMS) keys (SSE-KMS). This functionality is not // with Key Management Service (KMS) keys (SSE-KMS).
// supported for directory buckets. //
// 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.
@ -274,8 +349,10 @@ type HeadObjectOutput 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
@ -283,8 +360,10 @@ type HeadObjectOutput 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
@ -292,8 +371,10 @@ type HeadObjectOutput 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
@ -301,8 +382,10 @@ type HeadObjectOutput 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
// Specifies presentational information for the object. // Specifies presentational information for the object.
@ -323,19 +406,23 @@ type HeadObjectOutput struct {
ContentType *string ContentType *string
// Specifies whether the object retrieved was (true) or was not (false) a Delete // Specifies whether the object retrieved was (true) or was not (false) a Delete
// Marker. If false, this response header does not appear in the response. This // Marker. If false, this response header does not appear in the response.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
DeleteMarker *bool DeleteMarker *bool
// An entity tag (ETag) is an opaque identifier assigned by a web server to a // An entity tag (ETag) is an opaque identifier assigned by a web server to a
// specific version of a resource found at a URL. // specific version of a resource found at a URL.
ETag *string ETag *string
// If the object expiration is configured (see PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html) // If the object expiration is configured (see [PutBucketLifecycleConfiguration]PutBucketLifecycleConfiguration ),
// ), the response includes this header. It includes the expiry-date and rule-id // the response includes this header. It includes the expiry-date and rule-id
// key-value pairs providing object expiration information. The value of the // key-value pairs providing object expiration information. The value of the
// rule-id is URL-encoded. This functionality is not supported for directory // rule-id is URL-encoded.
// buckets. //
// This functionality is not supported for directory buckets.
//
// [PutBucketLifecycleConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html
Expiration *string Expiration *string
// The date and time at which the object is no longer cacheable. // The date and time at which the object is no longer cacheable.
@ -352,26 +439,34 @@ type HeadObjectOutput struct {
// This is set to the number of metadata entries not returned in x-amz-meta // This is set to the number of metadata entries not returned in x-amz-meta
// headers. This can happen if you create metadata using an API like SOAP that // headers. This can happen if you create metadata using an API like SOAP that
// supports more flexible metadata than the REST API. For example, using SOAP, you // supports more flexible metadata than the REST API. For example, using SOAP, you
// can create metadata whose values are not legal HTTP headers. This functionality // can create metadata whose values are not legal HTTP headers.
// is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
MissingMeta *int32 MissingMeta *int32
// Specifies whether a legal hold is in effect for this object. This header is // Specifies whether a legal hold is in effect for this object. This header is
// only returned if the requester has the s3:GetObjectLegalHold permission. This // only returned if the requester has the s3:GetObjectLegalHold permission. This
// header is not returned if the specified version of this object has never had a // header is not returned if the specified version of this object has never had a
// legal hold applied. For more information about S3 Object Lock, see Object Lock (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) // legal hold applied. For more information about S3 Object Lock, see [Object Lock].
// . This functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
//
// [Object Lock]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus
// The Object Lock mode, if any, that's in effect for this object. This header is // The Object Lock mode, if any, that's in effect for this object. This header is
// only returned if the requester has the s3:GetObjectRetention permission. For // only returned if the requester has the s3:GetObjectRetention permission. For
// more information about S3 Object Lock, see Object Lock (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) // more information about S3 Object Lock, see [Object Lock].
// . This functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
//
// [Object Lock]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html
ObjectLockMode types.ObjectLockMode ObjectLockMode types.ObjectLockMode
// The date and time when the Object Lock retention period expires. This header is // The date and time when the Object Lock retention period expires. This header is
// only returned if the requester has the s3:GetObjectRetention permission. This // only returned if the requester has the s3:GetObjectRetention permission.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
ObjectLockRetainUntilDate *time.Time ObjectLockRetainUntilDate *time.Time
// The count of parts this object has. This value is only returned if you specify // The count of parts this object has. This value is only returned if you specify
@ -379,89 +474,121 @@ type HeadObjectOutput struct {
PartsCount *int32 PartsCount *int32
// Amazon S3 can return this header if your request involves a bucket that is // Amazon S3 can return this header if your request involves a bucket that is
// either a source or a destination in a replication rule. In replication, you have // either a source or a destination in a replication rule.
// a source bucket on which you configure replication and destination bucket or //
// buckets where Amazon S3 stores object replicas. When you request an object ( // In replication, you have a source bucket on which you configure replication and
// GetObject ) or object metadata ( HeadObject ) from these buckets, Amazon S3 will // destination bucket or buckets where Amazon S3 stores object replicas. When you
// return the x-amz-replication-status header in the response as follows: // request an object ( GetObject ) or object metadata ( HeadObject ) from these
// buckets, Amazon S3 will return the x-amz-replication-status header in the
// response as follows:
//
// - If requesting an object from the source bucket, Amazon S3 will return the // - If requesting an object from the source bucket, Amazon S3 will return the
// x-amz-replication-status header if the object in your request is eligible for // x-amz-replication-status header if the object in your request is eligible for
// replication. For example, suppose that in your replication configuration, you // replication.
// specify object prefix TaxDocs requesting Amazon S3 to replicate objects with //
// key prefix TaxDocs . Any objects you upload with this key name prefix, for // For example, suppose that in your replication configuration, you specify object
// example TaxDocs/document1.pdf , are eligible for replication. For any object // prefix TaxDocs requesting Amazon S3 to replicate objects with key prefix
// request with this key name prefix, Amazon S3 will return the // TaxDocs . Any objects you upload with this key name prefix, for example
// x-amz-replication-status header with value PENDING, COMPLETED or FAILED // TaxDocs/document1.pdf , are eligible for replication. For any object request
// indicating object replication status. // with this key name prefix, Amazon S3 will return the x-amz-replication-status
// header with value PENDING, COMPLETED or FAILED indicating object replication
// status.
//
// - If requesting an object from a destination bucket, Amazon S3 will return // - If requesting an object from a destination bucket, Amazon S3 will return
// the x-amz-replication-status header with value REPLICA if the object in your // the x-amz-replication-status header with value REPLICA if the object in your
// request is a replica that Amazon S3 created and there is no replica modification // request is a replica that Amazon S3 created and there is no replica modification
// replication in progress. // replication in progress.
//
// - When replicating objects to multiple destination buckets, the // - When replicating objects to multiple destination buckets, the
// x-amz-replication-status header acts differently. The header of the source // x-amz-replication-status header acts differently. The header of the source
// object will only return a value of COMPLETED when replication is successful to // object will only return a value of COMPLETED when replication is successful to
// all destinations. The header will remain at value PENDING until replication has // all destinations. The header will remain at value PENDING until replication has
// completed for all destinations. If one or more destinations fails replication // completed for all destinations. If one or more destinations fails replication
// the header will return FAILED. // the header will return FAILED.
// For more information, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) //
// . This functionality is not supported for directory buckets. // For more information, see [Replication].
//
// This functionality is not supported for directory buckets.
//
// [Replication]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
ReplicationStatus types.ReplicationStatus ReplicationStatus types.ReplicationStatus
// 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 the object is an archived object (an object whose storage class is GLACIER), // If the object is an archived object (an object whose storage class is GLACIER),
// the response includes this header if either the archive restoration is in // the response includes this header if either the archive restoration is in
// progress (see RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html) // progress (see [RestoreObject]or an archive copy is already restored.
// or an archive copy is already restored. If an archive copy is already restored, //
// the header value indicates when Amazon S3 is scheduled to delete the object // If an archive copy is already restored, the header value indicates when Amazon
// copy. For example: x-amz-restore: ongoing-request="false", expiry-date="Fri, 21 // S3 is scheduled to delete the object copy. For example:
// Dec 2012 00:00:00 GMT" If the object restoration is in progress, the header //
// returns the value ongoing-request="true" . For more information about archiving // x-amz-restore: ongoing-request="false", expiry-date="Fri, 21 Dec 2012 00:00:00
// objects, see Transitioning Objects: General Considerations (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations) // GMT"
// . This functionality is not supported for directory buckets. Only the S3 Express //
// If the object restoration is in progress, the header returns the value
// ongoing-request="true" .
//
// For more information about archiving objects, see [Transitioning Objects: General Considerations].
//
// This functionality is not supported for directory buckets. Only the S3 Express
// One Zone storage class is supported by directory buckets to store objects. // One Zone storage class is supported by directory buckets to store objects.
//
// [Transitioning Objects: General Considerations]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations
// [RestoreObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html
Restore *string Restore *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 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 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 , aws:kms:dsse ). For directory buckets, only // S3 (for example, AES256 , aws:kms , aws:kms:dsse ).
// server-side 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
// Provides storage class information of the object. Amazon S3 returns this header // Provides storage class information of the object. Amazon S3 returns this header
// for all objects except for S3 Standard storage class objects. For more // for all objects except for S3 Standard storage class objects.
// information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) //
// . Directory buckets - Only the S3 Express One Zone storage class is supported by // For more information, see [Storage Classes].
//
// Directory buckets - Only the S3 Express One Zone storage class is supported by
// directory buckets to store objects. // directory buckets to store objects.
//
// [Storage Classes]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html
StorageClass types.StorageClass StorageClass types.StorageClass
// Version ID of the object. This functionality is not supported for directory // Version ID of the object.
// buckets. //
// This functionality is not supported for directory buckets.
VersionId *string VersionId *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
// Metadata pertaining to the operation's result. // Metadata pertaining to the operation's result.
@ -610,12 +737,13 @@ type ObjectExistsWaiterOptions struct {
// Retryable is function that can be used to override the service defined // Retryable is function that can be used to override the service defined
// waiter-behavior based on operation output, or returned error. This function is // waiter-behavior based on operation output, or returned error. This function is
// used by the waiter to decide if a state is retryable or a terminal state. By // used by the waiter to decide if a state is retryable or a terminal state.
// default service-modeled logic will populate this option. This option can thus be //
// used to define a custom waiter state with fall-back to service-modeled waiter // By default service-modeled logic will populate this option. This option can
// state mutators.The function returns an error in case of a failure state. In case // thus be used to define a custom waiter state with fall-back to service-modeled
// of retry state, this function returns a bool value of true and nil error, while // waiter state mutators.The function returns an error in case of a failure state.
// in case of success it returns a bool value of false and nil error. // In case of retry state, this function returns a bool value of true and nil
// error, while in case of success it returns a bool value of false and nil error.
Retryable func(context.Context, *HeadObjectInput, *HeadObjectOutput, error) (bool, error) Retryable func(context.Context, *HeadObjectInput, *HeadObjectOutput, error) (bool, error)
} }
@ -775,12 +903,13 @@ type ObjectNotExistsWaiterOptions struct {
// Retryable is function that can be used to override the service defined // Retryable is function that can be used to override the service defined
// waiter-behavior based on operation output, or returned error. This function is // waiter-behavior based on operation output, or returned error. This function is
// used by the waiter to decide if a state is retryable or a terminal state. By // used by the waiter to decide if a state is retryable or a terminal state.
// default service-modeled logic will populate this option. This option can thus be //
// used to define a custom waiter state with fall-back to service-modeled waiter // By default service-modeled logic will populate this option. This option can
// state mutators.The function returns an error in case of a failure state. In case // thus be used to define a custom waiter state with fall-back to service-modeled
// of retry state, this function returns a bool value of true and nil error, while // waiter state mutators.The function returns an error in case of a failure state.
// in case of success it returns a bool value of false and nil error. // In case of retry state, this function returns a bool value of true and nil
// error, while in case of success it returns a bool value of false and nil error.
Retryable func(context.Context, *HeadObjectInput, *HeadObjectOutput, error) (bool, error) Retryable func(context.Context, *HeadObjectInput, *HeadObjectOutput, error) (bool, error)
} }

View file

@ -14,27 +14,40 @@ 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. Lists the analytics // This operation is not supported by directory buckets.
// configurations for the bucket. You can have up to 1,000 analytics configurations //
// per bucket. This action supports list pagination and does not return more than // Lists the analytics configurations for the bucket. You can have up to 1,000
// 100 configurations at a time. You should always check the IsTruncated element // analytics configurations per bucket.
// in the response. If there are no more configurations to list, IsTruncated is //
// set to false. If there are more configurations to list, IsTruncated is set to // This action supports list pagination and does not return more than 100
// true, and there will be a value in NextContinuationToken . You use the // configurations at a time. You should always check the IsTruncated element in
// the response. If there are no more configurations to list, IsTruncated is set
// to false. If there are more configurations to list, IsTruncated is set to true,
// and there will be a value in NextContinuationToken . You use the
// NextContinuationToken value to continue the pagination of the list by passing // NextContinuationToken value to continue the pagination of the list by passing
// the value in continuation-token in the request to GET the next page. To use // the value in continuation-token in the request to GET the next page.
// this operation, you must have permissions to perform the //
// To use this operation, you must have permissions to perform the
// s3:GetAnalyticsConfiguration action. The bucket owner has this permission by // s3:GetAnalyticsConfiguration 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 Amazon S3 analytics feature, see [Amazon S3 Analytics Storage Class Analysis].
// . For information about 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 ListBucketAnalyticsConfigurations :
// . The following operations are related to ListBucketAnalyticsConfigurations : //
// - GetBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html) // [GetBucketAnalyticsConfiguration]
// - DeleteBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html) //
// - PutBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html) // [DeleteBucketAnalyticsConfiguration]
//
// [PutBucketAnalyticsConfiguration]
//
// [Amazon S3 Analytics Storage Class Analysis]: https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html
// [DeleteBucketAnalyticsConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.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
// [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) ListBucketAnalyticsConfigurations(ctx context.Context, params *ListBucketAnalyticsConfigurationsInput, optFns ...func(*Options)) (*ListBucketAnalyticsConfigurationsOutput, error) { func (c *Client) ListBucketAnalyticsConfigurations(ctx context.Context, params *ListBucketAnalyticsConfigurationsInput, optFns ...func(*Options)) (*ListBucketAnalyticsConfigurationsOutput, error) {
if params == nil { if params == nil {
params = &ListBucketAnalyticsConfigurationsInput{} params = &ListBucketAnalyticsConfigurationsInput{}

View file

@ -14,25 +14,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. Lists 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 // Lists 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 ListBucketIntelligentTieringConfigurations include: //
// - DeleteBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.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) //
// - GetBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html) // Operations related to ListBucketIntelligentTieringConfigurations include:
//
// [DeleteBucketIntelligentTieringConfiguration]
//
// [PutBucketIntelligentTieringConfiguration]
//
// [GetBucketIntelligentTieringConfiguration]
//
// [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
// [DeleteBucketIntelligentTieringConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html
func (c *Client) ListBucketIntelligentTieringConfigurations(ctx context.Context, params *ListBucketIntelligentTieringConfigurationsInput, optFns ...func(*Options)) (*ListBucketIntelligentTieringConfigurationsOutput, error) { func (c *Client) ListBucketIntelligentTieringConfigurations(ctx context.Context, params *ListBucketIntelligentTieringConfigurationsInput, optFns ...func(*Options)) (*ListBucketIntelligentTieringConfigurationsOutput, error) {
if params == nil { if params == nil {
params = &ListBucketIntelligentTieringConfigurationsInput{} params = &ListBucketIntelligentTieringConfigurationsInput{}

View file

@ -14,26 +14,40 @@ 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. Returns a list of // This operation is not supported by directory buckets.
// inventory configurations for the bucket. You can have up to 1,000 analytics //
// configurations per bucket. This action supports list pagination and does not // Returns a list of inventory configurations for the bucket. You can have up to
// return more than 100 configurations at a time. Always check the IsTruncated // 1,000 analytics configurations per bucket.
// element in the response. If there are no more configurations to list, //
// IsTruncated is set to false. If there are more configurations to list, // This action supports list pagination and does not return more than 100
// IsTruncated is set to true, and there is a value in NextContinuationToken . You // configurations at a time. Always check the IsTruncated element in the response.
// use the NextContinuationToken value to continue the pagination of the list by // If there are no more configurations to list, IsTruncated is set to false. If
// passing the value in continuation-token in the request to GET the next page. To // there are more configurations to list, IsTruncated is set to true, and there is
// use this operation, you must have permissions to perform the // a value in NextContinuationToken . You use the NextContinuationToken value to
// continue the pagination of the list by passing the value in continuation-token
// in the request to GET the next page.
//
// To use this operation, you must have permissions to perform the
// s3:GetInventoryConfiguration action. The bucket owner has this permission by // s3:GetInventoryConfiguration 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 inventory feature, see [Amazon S3 Inventory]
// . For information about the Amazon S3 inventory feature, see Amazon S3 Inventory (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html) //
// The following operations are related to ListBucketInventoryConfigurations : // The following operations are related to ListBucketInventoryConfigurations :
// - GetBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html) //
// - DeleteBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html) // [GetBucketInventoryConfiguration]
// - PutBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html) //
// [DeleteBucketInventoryConfiguration]
//
// [PutBucketInventoryConfiguration]
//
// [Amazon S3 Inventory]: https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.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
// [DeleteBucketInventoryConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html
// [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) ListBucketInventoryConfigurations(ctx context.Context, params *ListBucketInventoryConfigurationsInput, optFns ...func(*Options)) (*ListBucketInventoryConfigurationsOutput, error) { func (c *Client) ListBucketInventoryConfigurations(ctx context.Context, params *ListBucketInventoryConfigurationsInput, optFns ...func(*Options)) (*ListBucketInventoryConfigurationsOutput, error) {
if params == nil { if params == nil {
params = &ListBucketInventoryConfigurationsInput{} params = &ListBucketInventoryConfigurationsInput{}

View file

@ -13,28 +13,42 @@ 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. Lists the metrics // This operation is not supported by directory buckets.
// configurations for the bucket. The metrics configurations are only for the //
// request metrics of the bucket and do not provide information on daily storage // Lists the metrics configurations for the bucket. The metrics configurations are
// metrics. You can have up to 1,000 configurations per bucket. This action // only for the request metrics of the bucket and do not provide information on
// supports list pagination and does not return more than 100 configurations at a // daily storage metrics. You can have up to 1,000 configurations per bucket.
// time. Always check the IsTruncated element in the response. If there are no //
// more configurations to list, IsTruncated is set to false. If there are more // This action supports list pagination and does not return more than 100
// configurations to list, IsTruncated is set to true, and there is a value in // configurations at a time. Always check the IsTruncated element in the response.
// NextContinuationToken . You use the NextContinuationToken value to continue the // If there are no more configurations to list, IsTruncated is set to false. If
// pagination of the list by passing the value in continuation-token in the // there are more configurations to list, IsTruncated is set to true, and there is
// request to GET the next page. To use this operation, you must have permissions // a value in NextContinuationToken . You use the NextContinuationToken value to
// to perform the s3:GetMetricsConfiguration action. The bucket owner has this // continue the pagination of the list by passing the value in continuation-token
// permission by default. The bucket owner can grant this permission to others. For // in the request to GET the next page.
// 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:GetMetricsConfiguration action. The bucket owner has this permission by
// . For more information about metrics configurations and CloudWatch request // default. The bucket owner can grant this permission to others. For more
// metrics, see Monitoring Metrics with Amazon CloudWatch (https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html) // information about permissions, see [Permissions Related to Bucket Subresource Operations]and [Managing Access Permissions to Your Amazon S3 Resources].
// . The following operations are related to ListBucketMetricsConfigurations : //
// - PutBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html) // For more information about metrics configurations and CloudWatch request
// - GetBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html) // metrics, see [Monitoring Metrics with Amazon CloudWatch].
// - DeleteBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html) //
// The following operations are related to ListBucketMetricsConfigurations :
//
// [PutBucketMetricsConfiguration]
//
// [GetBucketMetricsConfiguration]
//
// [DeleteBucketMetricsConfiguration]
//
// [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
// [PutBucketMetricsConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketMetricsConfiguration.html
// [DeleteBucketMetricsConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html
// [Managing Access Permissions to Your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
func (c *Client) ListBucketMetricsConfigurations(ctx context.Context, params *ListBucketMetricsConfigurationsInput, optFns ...func(*Options)) (*ListBucketMetricsConfigurationsOutput, error) { func (c *Client) ListBucketMetricsConfigurations(ctx context.Context, params *ListBucketMetricsConfigurationsInput, optFns ...func(*Options)) (*ListBucketMetricsConfigurationsOutput, error) {
if params == nil { if params == nil {
params = &ListBucketMetricsConfigurationsInput{} params = &ListBucketMetricsConfigurationsInput{}

View file

@ -13,11 +13,14 @@ 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. Returns a list of all // This operation is not supported by directory buckets.
// buckets owned by the authenticated sender of the request. To use this operation, //
// you must have the s3:ListAllMyBuckets permission. For information about Amazon // Returns a list of all buckets owned by the authenticated sender of the request.
// S3 buckets, see Creating, configuring, and working with Amazon S3 buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) // To use this operation, you must have the s3:ListAllMyBuckets permission.
// . //
// For information about Amazon S3 buckets, see [Creating, configuring, and working with Amazon S3 buckets].
//
// [Creating, configuring, and working with Amazon S3 buckets]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html
func (c *Client) ListBuckets(ctx context.Context, params *ListBucketsInput, optFns ...func(*Options)) (*ListBucketsOutput, error) { func (c *Client) ListBuckets(ctx context.Context, params *ListBucketsInput, optFns ...func(*Options)) (*ListBucketsOutput, error) {
if params == nil { if params == nil {
params = &ListBucketsInput{} params = &ListBucketsInput{}

View file

@ -15,23 +15,27 @@ import (
) )
// Returns a list of all Amazon S3 directory buckets owned by the authenticated // Returns a list of all Amazon S3 directory buckets owned by the authenticated
// sender of the request. For more information about directory buckets, see // sender of the request. For more information about directory buckets, see [Directory buckets]in the
// Directory buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html) // 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 Regional endpoint. These endpoints // Directory buckets - For directory buckets, you must make requests for this API
// support path-style requests in the format // operation to the Regional endpoint. These endpoints support path-style requests
// https://s3express-control.region_code.amazonaws.com/bucket-name . // in the format 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 You must have the //
// s3express:ListAllMyDirectoryBuckets permission in an IAM identity-based policy // Permissions You must have the s3express:ListAllMyDirectoryBuckets permission in
// instead of a bucket policy. Cross-account access to this API operation isn't // an IAM identity-based policy instead of a bucket policy. Cross-account access to
// supported. This operation can only be performed by the Amazon Web Services // this API operation isn't supported. This operation can only be performed by the
// account that owns the resource. For more information about directory bucket // Amazon Web Services account that owns the resource. For more information about
// policies and permissions, see Amazon Web Services Identity and Access // 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.
// 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 Directory buckets - The HTTP Host header syntax is
// HTTP Host header syntax is s3express-control.region.amazonaws.com . // s3express-control.region.amazonaws.com .
//
// [Regional and Zonal endpoints]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
// [Directory buckets]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.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) ListDirectoryBuckets(ctx context.Context, params *ListDirectoryBucketsInput, optFns ...func(*Options)) (*ListDirectoryBucketsOutput, error) { func (c *Client) ListDirectoryBuckets(ctx context.Context, params *ListDirectoryBucketsInput, optFns ...func(*Options)) (*ListDirectoryBucketsOutput, error) {
if params == nil { if params == nil {
params = &ListDirectoryBucketsInput{} params = &ListDirectoryBucketsInput{}

View file

@ -16,38 +16,45 @@ import (
// This operation lists in-progress multipart uploads in a bucket. An in-progress // This operation lists in-progress multipart uploads in a bucket. An in-progress
// multipart upload is a multipart upload that has been initiated by the // multipart upload is a multipart upload that has been initiated by the
// CreateMultipartUpload request, but has not yet been completed or aborted. // CreateMultipartUpload request, but has not yet been completed or aborted.
//
// Directory buckets - If multipart uploads in a directory bucket are in progress, // Directory buckets - If multipart uploads in a directory bucket are in progress,
// you can't delete the bucket until all the in-progress multipart uploads are // you can't delete the bucket until all the in-progress multipart uploads are
// aborted or completed. The ListMultipartUploads operation returns a maximum of // aborted or completed.
// 1,000 multipart uploads in the response. The limit of 1,000 multipart uploads is //
// also the default value. You can further limit the number of uploads in a // The ListMultipartUploads operation returns a maximum of 1,000 multipart uploads
// response by specifying the max-uploads request parameter. If there are more // in the response. The limit of 1,000 multipart uploads is also the default value.
// than 1,000 multipart uploads that satisfy your ListMultipartUploads request, // You can further limit the number of uploads in a response by specifying the
// the response returns an IsTruncated element with the value of true , a // max-uploads request parameter. If there are more than 1,000 multipart uploads
// NextKeyMarker element, and a NextUploadIdMarker element. To list the remaining // that satisfy your ListMultipartUploads request, the response returns an
// multipart uploads, you need to make subsequent ListMultipartUploads requests. // IsTruncated element with the value of true , a NextKeyMarker element, and a
// In these requests, include two query parameters: key-marker and upload-id-marker // NextUploadIdMarker element. To list the remaining multipart uploads, you need to
// . Set the value of key-marker to the NextKeyMarker value from the previous // make subsequent ListMultipartUploads requests. In these requests, include two
// response. Similarly, set the value of upload-id-marker to the NextUploadIdMarker // query parameters: key-marker and upload-id-marker . Set the value of key-marker
// value from the previous response. Directory buckets - The upload-id-marker // to the NextKeyMarker value from the previous response. Similarly, set the value
// element and the NextUploadIdMarker element aren't supported by directory // of upload-id-marker to the NextUploadIdMarker value from the previous response.
// buckets. To list the additional multipart uploads, you only need to set the //
// value of key-marker to the NextKeyMarker value from the previous response. For // Directory buckets - The upload-id-marker element and the NextUploadIdMarker
// more information about multipart uploads, see Uploading Objects Using Multipart // element aren't supported by directory buckets. To list the additional multipart
// Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html) // uploads, you only need to set the value of key-marker to the NextKeyMarker
// in the Amazon S3 User Guide. Directory buckets - For directory buckets, you must // value from the previous response.
// make requests for this API operation to the Zonal endpoint. These endpoints //
// support virtual-hosted-style requests in the format // For more information about multipart uploads, see [Uploading Objects Using Multipart Upload] 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 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
@ -55,29 +62,48 @@ 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 .
// .
// //
// Sorting of multipart uploads in response // Sorting of multipart uploads in response
//
// - General purpose bucket - In the ListMultipartUploads response, the multipart // - General purpose bucket - In the ListMultipartUploads response, the multipart
// uploads are sorted based on two criteria: // uploads are sorted based on two criteria:
//
// - Key-based sorting - Multipart uploads are initially sorted in ascending // - Key-based sorting - Multipart uploads are initially sorted in ascending
// order based on their object keys. // order based on their object keys.
//
// - Time-based sorting - For uploads that share the same object key, they are // - Time-based sorting - For uploads that share the same object key, they are
// further sorted in ascending order based on the upload initiation time. Among // further sorted in ascending order based on the upload initiation time. Among
// uploads with the same key, the one that was initiated first will appear before // uploads with the same key, the one that was initiated first will appear before
// the ones that were initiated later. // the ones that were initiated later.
//
// - Directory bucket - In the ListMultipartUploads response, the multipart // - Directory bucket - In the ListMultipartUploads response, the multipart
// uploads aren't sorted lexicographically based on the object keys. // uploads aren't sorted lexicographically based on the object keys.
// //
// 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 ListMultipartUploads : //
// - CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) // The following operations are related to ListMultipartUploads :
// - 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) //
// - AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html) // [UploadPart]
//
// [CompleteMultipartUpload]
//
// [ListParts]
//
// [AbortMultipartUpload]
//
// [Uploading Objects Using Multipart Upload]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
// [ListParts]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html
// [AbortMultipartUpload]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.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
// [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) ListMultipartUploads(ctx context.Context, params *ListMultipartUploadsInput, optFns ...func(*Options)) (*ListMultipartUploadsOutput, error) { func (c *Client) ListMultipartUploads(ctx context.Context, params *ListMultipartUploadsInput, optFns ...func(*Options)) (*ListMultipartUploadsOutput, error) {
if params == nil { if params == nil {
params = &ListMultipartUploadsInput{} params = &ListMultipartUploadsInput{}
@ -95,42 +121,52 @@ func (c *Client) ListMultipartUploads(ctx context.Context, params *ListMultipart
type ListMultipartUploadsInput struct { type ListMultipartUploadsInput struct {
// The name of the bucket to which the multipart upload was initiated. Directory // The 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-az1--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
// Character you use to group keys. All keys that contain the same string between // Character you use to group keys.
// the prefix, if specified, and the first occurrence of the delimiter after the //
// prefix are grouped under a single result element, CommonPrefixes . If you don't // All keys that contain the same string between the prefix, if specified, and the
// specify the prefix parameter, then the substring starts at the beginning of the // first occurrence of the delimiter after the prefix are grouped under a single
// key. The keys that are grouped under CommonPrefixes result element are not // result element, CommonPrefixes . If you don't specify the prefix parameter, then
// returned elsewhere in the response. Directory buckets - For directory buckets, / // the substring starts at the beginning of the key. The keys that are grouped
// is the only supported delimiter. // under CommonPrefixes result element are not returned elsewhere in the response.
//
// Directory buckets - For directory buckets, / is the only supported delimiter.
Delimiter *string Delimiter *string
// Requests Amazon S3 to encode the object keys in the response and specifies the // Requests Amazon S3 to encode the object keys in the response and specifies the
@ -147,20 +183,26 @@ type ListMultipartUploadsInput struct {
ExpectedBucketOwner *string ExpectedBucketOwner *string
// Specifies the multipart upload after which listing should begin. // Specifies the multipart upload after which listing should begin.
//
// - General purpose buckets - For general purpose buckets, key-marker is an // - General purpose buckets - For general purpose buckets, key-marker is an
// object key. Together with upload-id-marker , this parameter specifies the // object key. Together with upload-id-marker , this parameter specifies the
// multipart upload after which listing should begin. If upload-id-marker is not // multipart upload after which listing should begin.
// specified, only the keys lexicographically greater than the specified //
// key-marker will be included in the list. If upload-id-marker is specified, any // If upload-id-marker is not specified, only the keys lexicographically greater
// multipart uploads for a key equal to the key-marker might also be included, // than the specified key-marker will be included in the list.
// provided those multipart uploads have upload IDs lexicographically greater than //
// the specified upload-id-marker . // If upload-id-marker is specified, any multipart uploads for a key equal to the
// key-marker might also be included, provided those multipart uploads have
// upload IDs lexicographically greater than the specified upload-id-marker .
//
// - Directory buckets - For directory buckets, key-marker is obfuscated and // - Directory buckets - For directory buckets, key-marker is obfuscated and
// isn't a real object key. The upload-id-marker parameter isn't supported by // isn't a real object key. The upload-id-marker parameter isn't supported by
// directory buckets. To list the additional multipart uploads, you only need to // directory buckets. To list the additional multipart uploads, you only need to
// set the value of key-marker to the NextKeyMarker value from the previous // set the value of key-marker to the NextKeyMarker value from the previous
// response. In the ListMultipartUploads response, the multipart uploads aren't // response.
// sorted lexicographically based on the object keys. //
// In the ListMultipartUploads response, the multipart uploads aren't sorted
// lexicographically based on the object keys.
KeyMarker *string KeyMarker *string
// Sets the maximum number of multipart uploads, from 1 to 1,000, to return in the // Sets the maximum number of multipart uploads, from 1 to 1,000, to return in the
@ -171,26 +213,31 @@ type ListMultipartUploadsInput struct {
// Lists in-progress uploads only for those keys that begin with the specified // Lists in-progress uploads only for those keys that begin with the specified
// prefix. You can use prefixes to separate a bucket into different grouping of // prefix. You can use prefixes to separate a bucket into different grouping of
// keys. (You can think of using prefix to make groups in the same way that you'd // keys. (You can think of using prefix to make groups in the same way that you'd
// use a folder in a file system.) Directory buckets - For directory buckets, only // use a folder in a file system.)
// prefixes that end in a delimiter ( / ) are supported. //
// Directory buckets - For directory buckets, only prefixes that end in a
// delimiter ( / ) are supported.
Prefix *string Prefix *string
// 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
// Together with key-marker, specifies the multipart upload after which listing // Together with key-marker, specifies the multipart upload after which listing
// should begin. If key-marker is not specified, the upload-id-marker parameter is // should begin. If key-marker is not specified, the upload-id-marker parameter is
// ignored. Otherwise, any multipart uploads for a key equal to the key-marker // ignored. Otherwise, any multipart uploads for a key equal to the key-marker
// might be included in the list only if they have an upload ID lexicographically // might be included in the list only if they have an upload ID lexicographically
// greater than the specified upload-id-marker . This functionality is not // greater than the specified upload-id-marker .
// supported for directory buckets. //
// This functionality is not supported for directory buckets.
UploadIdMarker *string UploadIdMarker *string
noSmithyDocumentSerde noSmithyDocumentSerde
@ -210,20 +257,25 @@ type ListMultipartUploadsOutput struct {
// If you specify a delimiter in the request, then the result returns each // If you specify a delimiter in the request, then the result returns each
// distinct key prefix containing the delimiter in a CommonPrefixes element. The // distinct key prefix containing the delimiter in a CommonPrefixes element. The
// distinct key prefixes are returned in the Prefix child element. Directory // distinct key prefixes are returned in the Prefix child element.
// buckets - For directory buckets, only prefixes that end in a delimiter ( / ) are //
// supported. // Directory buckets - For directory buckets, only prefixes that end in a
// delimiter ( / ) are supported.
CommonPrefixes []types.CommonPrefix CommonPrefixes []types.CommonPrefix
// Contains the delimiter you specified in the request. If you don't specify a // Contains the delimiter you specified in the request. If you don't specify a
// delimiter in your request, this element is absent from the response. Directory // delimiter in your request, this element is absent from the response.
// buckets - For directory buckets, / is the only supported delimiter. //
// Directory buckets - For directory buckets, / is the only supported delimiter.
Delimiter *string Delimiter *string
// Encoding type used by Amazon S3 to encode object keys in the response. If you // Encoding type used by Amazon S3 to encode object keys in the response.
// specify the encoding-type request parameter, Amazon S3 includes this element in //
// the response, and returns encoded key name values in the following response // If you specify the encoding-type request parameter, Amazon S3 includes this
// elements: Delimiter , KeyMarker , Prefix , NextKeyMarker , Key . // element in the response, and returns encoded key name values in the following
// response elements:
//
// Delimiter , KeyMarker , Prefix , NextKeyMarker , Key .
EncodingType types.EncodingType EncodingType types.EncodingType
// Indicates whether the returned list of multipart uploads is truncated. A value // Indicates whether the returned list of multipart uploads is truncated. A value
@ -244,26 +296,31 @@ type ListMultipartUploadsOutput struct {
NextKeyMarker *string NextKeyMarker *string
// When a list is truncated, this element specifies the value that should be used // When a list is truncated, this element specifies the value that should be used
// for the upload-id-marker request parameter in a subsequent request. This // for the upload-id-marker request parameter in a subsequent request.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
NextUploadIdMarker *string NextUploadIdMarker *string
// When a prefix is provided in the request, this field contains the specified // When a prefix is provided in the request, this field contains the specified
// prefix. The result contains only keys starting with the specified prefix. // prefix. The result contains only keys starting with the specified prefix.
// Directory buckets - For directory buckets, only prefixes that end in a delimiter //
// ( / ) are supported. // Directory buckets - For directory buckets, only prefixes that end in a
// delimiter ( / ) are supported.
Prefix *string Prefix *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
// Together with key-marker, specifies the multipart upload after which listing // Together with key-marker, specifies the multipart upload after which listing
// should begin. If key-marker is not specified, the upload-id-marker parameter is // should begin. If key-marker is not specified, the upload-id-marker parameter is
// ignored. Otherwise, any multipart uploads for a key equal to the key-marker // ignored. Otherwise, any multipart uploads for a key equal to the key-marker
// might be included in the list only if they have an upload ID lexicographically // might be included in the list only if they have an upload ID lexicographically
// greater than the specified upload-id-marker . This functionality is not // greater than the specified upload-id-marker .
// supported for directory buckets. //
// This functionality is not supported for directory buckets.
UploadIdMarker *string UploadIdMarker *string
// Container for elements related to a particular multipart upload. A response can // Container for elements related to a particular multipart upload. A response can

View file

@ -13,19 +13,34 @@ 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. Returns metadata about // This operation is not supported by directory buckets.
// all versions of the objects in a bucket. You can also use request parameters as //
// selection criteria to return metadata about a subset of all the object versions. // Returns metadata about all versions of the objects in a bucket. You can also
// use request parameters as selection criteria to return metadata about a subset
// of all the object versions.
//
// To use this operation, you must have permission to perform the // To use this operation, you must have permission to perform the
// s3:ListBucketVersions action. Be aware of the name difference. A 200 OK // s3:ListBucketVersions action. Be aware of the name difference.
// response can contain valid or invalid XML. Make sure to design your application //
// to parse the contents of the response and handle it appropriately. To use this // A 200 OK response can contain valid or invalid XML. Make sure to design your
// operation, you must have READ access to the bucket. The following operations are // application to parse the contents of the response and handle it appropriately.
// related to ListObjectVersions : //
// - ListObjectsV2 (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) // To use this operation, you must have READ access to the bucket.
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) //
// - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) // The following operations are related to ListObjectVersions :
// - DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) //
// [ListObjectsV2]
//
// [GetObject]
//
// [PutObject]
//
// [DeleteObject]
//
// [DeleteObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html
// [PutObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
// [GetObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
// [ListObjectsV2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html
func (c *Client) ListObjectVersions(ctx context.Context, params *ListObjectVersionsInput, optFns ...func(*Options)) (*ListObjectVersionsOutput, error) { func (c *Client) ListObjectVersions(ctx context.Context, params *ListObjectVersionsInput, optFns ...func(*Options)) (*ListObjectVersionsOutput, error) {
if params == nil { if params == nil {
params = &ListObjectVersionsInput{} params = &ListObjectVersionsInput{}
@ -93,10 +108,12 @@ type ListObjectVersionsInput 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
// Specifies the object version you want to start listing from. // Specifies the object version you want to start listing from.
@ -127,10 +144,13 @@ type ListObjectVersionsOutput struct {
// max-keys limitation. These keys are not returned elsewhere in the response. // max-keys limitation. These keys are not returned elsewhere in the response.
Delimiter *string Delimiter *string
// Encoding type used by Amazon S3 to encode object key names in the XML response. // Encoding type used by Amazon S3 to encode object key names in the XML response.
//
// If you specify the encoding-type request parameter, Amazon S3 includes this // If you specify the encoding-type request parameter, Amazon S3 includes this
// element in the response, and returns encoded key name values in the following // element in the response, and returns encoded key name values in the following
// response elements: KeyMarker, NextKeyMarker, Prefix, Key , and Delimiter . // response elements:
//
// KeyMarker, NextKeyMarker, Prefix, Key , and Delimiter .
EncodingType types.EncodingType EncodingType types.EncodingType
// A flag that indicates whether Amazon S3 returned all of the results that // A flag that indicates whether Amazon S3 returned all of the results that
@ -164,7 +184,9 @@ type ListObjectVersionsOutput struct {
Prefix *string Prefix *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
// Marks the last version of the key returned in a truncated response. // Marks the last version of the key returned in a truncated response.

View file

@ -13,19 +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. Returns some or all (up // This operation is not supported by directory buckets.
// to 1,000) of the objects in a bucket. You can use the request parameters as //
// selection criteria to return a subset of the objects in a bucket. A 200 OK // Returns some or all (up to 1,000) of the objects in a bucket. You can use the
// response can contain valid or invalid XML. Be sure to design your application to // request parameters as selection criteria to return a subset of the objects in a
// parse the contents of the response and handle it appropriately. This action has // bucket. A 200 OK response can contain valid or invalid XML. Be sure to design
// been revised. We recommend that you use the newer version, ListObjectsV2 (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) // your application to parse the contents of the response and handle it
// , when developing applications. For backward compatibility, Amazon S3 continues // appropriately.
// to support ListObjects . The following operations are related to ListObjects : //
// - ListObjectsV2 (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) // This action has been revised. We recommend that you use the newer version, [ListObjectsV2],
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // when developing applications. For backward compatibility, Amazon S3 continues to
// - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) // support ListObjects .
// - CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) //
// - ListBuckets (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html) // The following operations are related to ListObjects :
//
// [ListObjectsV2]
//
// [GetObject]
//
// [PutObject]
//
// [CreateBucket]
//
// [ListBuckets]
//
// [ListBuckets]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
// [PutObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
// [GetObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
// [CreateBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
// [ListObjectsV2]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html
func (c *Client) ListObjects(ctx context.Context, params *ListObjectsInput, optFns ...func(*Options)) (*ListObjectsOutput, error) { func (c *Client) ListObjects(ctx context.Context, params *ListObjectsInput, optFns ...func(*Options)) (*ListObjectsOutput, error) {
if params == nil { if params == nil {
params = &ListObjectsInput{} params = &ListObjectsInput{}
@ -43,31 +59,39 @@ func (c *Client) ListObjects(ctx context.Context, params *ListObjectsInput, optF
type ListObjectsInput struct { type ListObjectsInput struct {
// The name of the bucket containing the objects. Directory buckets - When you use // The name of the bucket containing the objects.
// this operation with a directory bucket, you must use virtual-hosted-style //
// requests in the format Bucket_name.s3express-az_id.region.amazonaws.com . // Directory buckets - When you use this operation with a directory bucket, you
// Path-style requests are not supported. Directory bucket names must be unique in // must use virtual-hosted-style requests in the format
// the chosen Availability Zone. Bucket names must follow the format // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
// bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3 // supported. Directory bucket names must be unique in the chosen Availability
// ). For information about bucket naming restrictions, see Directory bucket // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
// naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html) // example, DOC-EXAMPLE-BUCKET--usw2-az1--x-s3 ). For information about bucket
// in the Amazon S3 User Guide. Access points - When you use this action with an // naming restrictions, see [Directory bucket naming rules]in the Amazon S3 User Guide.
// access point, you must provide the alias of the access point in place of the //
// bucket name or specify the access point ARN. When using the access point ARN, // Access points - When you use this action with an access point, you must provide
// you must direct requests to the access point hostname. The access point hostname // the alias of the access point in place of the bucket name or specify the access
// takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. // point ARN. When using the access point ARN, you must direct requests to the
// When using this action with an access point through the Amazon Web Services // access point hostname. The access point hostname takes the form
// SDKs, you provide the access point ARN in place of the bucket name. For more // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // action with an access point through the Amazon Web Services SDKs, you provide
// in the Amazon S3 User Guide. Access points and Object Lambda access points are // the access point ARN in place of the bucket name. For more information about
// not supported by directory buckets. S3 on Outposts - When you use this action // access point ARNs, see [Using access points]in the Amazon S3 User Guide.
// with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts //
// hostname. The S3 on Outposts hostname takes the form // Access points and Object Lambda access points are 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 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
@ -121,14 +145,20 @@ func (in *ListObjectsInput) bindEndpointParams(p *EndpointParameters) {
type ListObjectsOutput struct { type ListObjectsOutput struct {
// All of the keys (up to 1,000) rolled up in a common prefix count as a single // All of the keys (up to 1,000) rolled up in a common prefix count as a single
// return when calculating the number of returns. A response can contain // return when calculating the number of returns.
// CommonPrefixes only if you specify a delimiter. CommonPrefixes contains all (if //
// there are any) keys between Prefix and the next occurrence of the string // A response can contain CommonPrefixes only if you specify a delimiter.
// specified by the delimiter. CommonPrefixes lists keys that act like //
// subdirectories in the directory specified by Prefix . For example, if the prefix // CommonPrefixes contains all (if there are any) keys between Prefix and the next
// is notes/ and the delimiter is a slash ( / ), as in notes/summer/july , the // occurrence of the string specified by the delimiter.
// common prefix is notes/summer/ . All of the keys that roll up into a common //
// prefix count as a single return when calculating the number of returns. // CommonPrefixes lists keys that act like subdirectories in the directory
// specified by Prefix .
//
// For example, if the prefix is notes/ and the delimiter is a slash ( / ), as in
// notes/summer/july , the common prefix is notes/summer/ . All of the keys that
// roll up into a common prefix count as a single return when calculating the
// number of returns.
CommonPrefixes []types.CommonPrefix CommonPrefixes []types.CommonPrefix
// Metadata about each object returned. // Metadata about each object returned.
@ -163,18 +193,21 @@ type ListObjectsOutput struct {
// When the response is truncated (the IsTruncated element value in the response // When the response is truncated (the IsTruncated element value in the response
// is true ), you can use the key name in this field as the marker parameter in // is true ), you can use the key name in this field as the marker parameter in
// the subsequent request to get the next set of objects. Amazon S3 lists objects // the subsequent request to get the next set of objects. Amazon S3 lists objects
// in alphabetical order. This element is returned only if you have the delimiter // in alphabetical order.
// request parameter specified. If the response does not include the NextMarker //
// element and it is truncated, you can use the value of the last Key element in // This element is returned only if you have the delimiter request parameter
// the response as the marker parameter in the subsequent request to get the next // specified. If the response does not include the NextMarker element and it is
// set of object keys. // truncated, you can use the value of the last Key element in the response as the
// marker parameter in the subsequent request to get the next set of object keys.
NextMarker *string NextMarker *string
// Keys that begin with the indicated prefix. // Keys that begin with the indicated prefix.
Prefix *string Prefix *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
// Metadata pertaining to the operation's result. // Metadata pertaining to the operation's result.

View file

@ -17,26 +17,29 @@ import (
// You can use the request parameters as selection criteria to return a subset of // You can use the request parameters as selection criteria to return a subset of
// the objects in a bucket. A 200 OK response can contain valid or invalid XML. // the objects in a bucket. A 200 OK response can contain valid or invalid XML.
// Make sure to design your application to parse the contents of the response and // Make sure to design your application to parse the contents of the response and
// handle it appropriately. For more information about listing objects, see // handle it appropriately.
// Listing object keys programmatically (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html) //
// in the Amazon S3 User Guide. To get a list of your buckets, see ListBuckets (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html) // For more information about listing objects, see [Listing object keys programmatically] in the Amazon S3 User Guide.
// . Directory buckets - For directory buckets, you must make requests for this API // To get a list of your buckets, see [ListBuckets].
//
// Directory buckets - For directory buckets, you must make requests for this API
// operation to the Zonal endpoint. These endpoints support virtual-hosted-style // operation to the Zonal endpoint. These endpoints support virtual-hosted-style
// requests in the format // 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 - To use this operation, you must have // - General purpose bucket permissions - To use this operation, you must have
// READ access to the bucket. You must have permission to perform the // READ access to the bucket. You must have permission to perform the
// s3:ListBucket action. The bucket owner has this permission by default and can // s3:ListBucket action. The bucket owner has this permission by default and can
// grant this permission to others. For more information about permissions, see // grant this permission to others. For more information about permissions, see [Permissions Related to Bucket Subresource Operations]
// 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) // and [Managing Access Permissions to Your Amazon S3 Resources]in the Amazon S3 User Guide.
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) //
// 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
@ -44,24 +47,42 @@ 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 .
// .
// //
// Sorting order of returned objects // Sorting order of returned objects
//
// - General purpose bucket - For general purpose buckets, ListObjectsV2 returns // - General purpose bucket - For general purpose buckets, ListObjectsV2 returns
// objects in lexicographical order based on their key names. // objects in lexicographical order based on their key names.
//
// - Directory bucket - For directory buckets, ListObjectsV2 does not return // - Directory bucket - For directory buckets, ListObjectsV2 does not return
// objects in lexicographical order. // objects in lexicographical order.
// //
// 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 . This section describes the // Bucket_name.s3express-az_id.region.amazonaws.com .
// latest revision of this action. We recommend that you use this revised API //
// operation for application development. For backward compatibility, Amazon S3 // This section describes the latest revision of this action. We recommend that
// continues to support the prior version of this API operation, ListObjects (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html) // you use this revised API operation for application development. For backward
// . The following operations are related to ListObjectsV2 : // compatibility, Amazon S3 continues to support the prior version of this API
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // operation, [ListObjects].
// - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) //
// - CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // The following operations are related to ListObjectsV2 :
//
// [GetObject]
//
// [PutObject]
//
// [CreateBucket]
//
// [ListObjects]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.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
// [Listing object keys programmatically]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html
// [Regional and Zonal endpoints]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html
// [ListBuckets]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html
// [PutObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
// [Managing Access Permissions to Your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
// [CreateSession]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
// [GetObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html
// [CreateBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
func (c *Client) ListObjectsV2(ctx context.Context, params *ListObjectsV2Input, optFns ...func(*Options)) (*ListObjectsV2Output, error) { func (c *Client) ListObjectsV2(ctx context.Context, params *ListObjectsV2Input, optFns ...func(*Options)) (*ListObjectsV2Output, error) {
if params == nil { if params == nil {
params = &ListObjectsV2Input{} params = &ListObjectsV2Input{}
@ -79,30 +100,37 @@ func (c *Client) ListObjectsV2(ctx context.Context, params *ListObjectsV2Input,
type ListObjectsV2Input struct { type ListObjectsV2Input struct {
// Directory buckets - When you use this operation with a directory bucket, you // Directory buckets - When you use this operation with a directory bucket, you
// must use virtual-hosted-style requests in the format // 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-az1--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
@ -113,13 +141,15 @@ type ListObjectsV2Input struct {
ContinuationToken *string ContinuationToken *string
// A delimiter is a character that you use to group keys. // A delimiter is a character that you use to group keys.
// - Directory buckets - For directory buckets, / is the only supported //
// delimiter. // - Directory buckets - For directory buckets, / is the only supported delimiter.
//
// - Directory buckets - When you query ListObjectsV2 with a delimiter during // - Directory buckets - When you query ListObjectsV2 with a delimiter during
// in-progress multipart uploads, the CommonPrefixes response parameter contains // in-progress multipart uploads, the CommonPrefixes response parameter contains
// the prefixes that are associated with the in-progress multipart uploads. For // the prefixes that are associated with the in-progress multipart uploads. For
// more information about multipart uploads, see Multipart Upload Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html) // more information about multipart uploads, see [Multipart Upload Overview]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// [Multipart Upload Overview]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
Delimiter *string Delimiter *string
// Encoding type used by Amazon S3 to encode object keys in the response. If using // Encoding type used by Amazon S3 to encode object keys in the response. If using
@ -134,8 +164,10 @@ type ListObjectsV2Input struct {
// The owner field is not present in ListObjectsV2 by default. If you want to // The owner field is not present in ListObjectsV2 by default. If you want to
// return the owner field with each key in the result, then set the FetchOwner // return the owner field with each key in the result, then set the FetchOwner
// field to true . Directory buckets - For directory buckets, the bucket owner is // field to true .
// returned as the object owner for all objects. //
// Directory buckets - For directory buckets, the bucket owner is returned as the
// object owner for all objects.
FetchOwner *bool FetchOwner *bool
// Sets the maximum number of keys returned in the response. By default, the // Sets the maximum number of keys returned in the response. By default, the
@ -144,23 +176,28 @@ type ListObjectsV2Input struct {
MaxKeys *int32 MaxKeys *int32
// Specifies the optional fields that you want returned in the response. Fields // Specifies the optional fields that you want returned in the response. Fields
// that you do not specify are not returned. This functionality is not supported // that you do not specify are not returned.
// for directory buckets. //
// This functionality is not supported for directory buckets.
OptionalObjectAttributes []types.OptionalObjectAttributes OptionalObjectAttributes []types.OptionalObjectAttributes
// Limits the response to keys that begin with the specified prefix. Directory // Limits the response to keys that begin with the specified prefix.
// buckets - For directory buckets, only prefixes that end in a delimiter ( / ) are //
// supported. // Directory buckets - For directory buckets, only prefixes that end in a
// delimiter ( / ) are supported.
Prefix *string Prefix *string
// Confirms that the requester knows that she or he will be charged for the list // Confirms that the requester knows that she or he will be charged for the list
// objects request in V2 style. Bucket owners need not specify this parameter in // objects request in V2 style. Bucket owners need not specify this parameter in
// their requests. This functionality is not supported for directory buckets. // their requests.
//
// This functionality is not supported for directory buckets.
RequestPayer types.RequestPayer RequestPayer types.RequestPayer
// StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts // StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts
// listing after this specified key. StartAfter can be any key in the bucket. This // listing after this specified key. StartAfter can be any key in the bucket.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
StartAfter *string StartAfter *string
noSmithyDocumentSerde noSmithyDocumentSerde
@ -176,43 +213,57 @@ type ListObjectsV2Output struct {
// All of the keys (up to 1,000) that share the same prefix are grouped together. // All of the keys (up to 1,000) that share the same prefix are grouped together.
// When counting the total numbers of returns by this API operation, this group of // When counting the total numbers of returns by this API operation, this group of
// keys is considered as one item. A response can contain CommonPrefixes only if // keys is considered as one item.
// you specify a delimiter. CommonPrefixes contains all (if there are any) keys //
// between Prefix and the next occurrence of the string specified by a delimiter. // A response can contain CommonPrefixes only if you specify a delimiter.
//
// CommonPrefixes contains all (if there are any) keys between Prefix and the next
// occurrence of the string specified by a delimiter.
//
// CommonPrefixes lists keys that act like subdirectories in the directory // CommonPrefixes lists keys that act like subdirectories in the directory
// specified by Prefix . For example, if the prefix is notes/ and the delimiter is // specified by Prefix .
// a slash ( / ) as in notes/summer/july , the common prefix is notes/summer/ . All //
// of the keys that roll up into a common prefix count as a single return when // For example, if the prefix is notes/ and the delimiter is a slash ( / ) as in
// calculating the number of returns. // notes/summer/july , the common prefix is notes/summer/ . All of the keys that
// roll up into a common prefix count as a single return when calculating the
// number of returns.
//
// - Directory buckets - For directory buckets, only prefixes that end in a // - Directory buckets - For directory buckets, only prefixes that end in a
// delimiter ( / ) are supported. // delimiter ( / ) are supported.
//
// - Directory buckets - When you query ListObjectsV2 with a delimiter during // - Directory buckets - When you query ListObjectsV2 with a delimiter during
// in-progress multipart uploads, the CommonPrefixes response parameter contains // in-progress multipart uploads, the CommonPrefixes response parameter contains
// the prefixes that are associated with the in-progress multipart uploads. For // the prefixes that are associated with the in-progress multipart uploads. For
// more information about multipart uploads, see Multipart Upload Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html) // more information about multipart uploads, see [Multipart Upload Overview]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// [Multipart Upload Overview]: https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
CommonPrefixes []types.CommonPrefix CommonPrefixes []types.CommonPrefix
// Metadata about each object returned. // Metadata about each object returned.
Contents []types.Object Contents []types.Object
// If ContinuationToken was sent with the request, it is included in the response. // If ContinuationToken was sent with the request, it is included in the
// You can use the returned ContinuationToken for pagination of the list response. // response. You can use the returned ContinuationToken for pagination of the list
// You can use this ContinuationToken for pagination of the list results. // response. You can use this ContinuationToken for pagination of the list
// results.
ContinuationToken *string ContinuationToken *string
// Causes keys that contain the same string between the prefix and the first // Causes keys that contain the same string between the prefix and the first
// occurrence of the delimiter to be rolled up into a single result element in the // occurrence of the delimiter to be rolled up into a single result element in the
// CommonPrefixes collection. These rolled-up keys are not returned elsewhere in // CommonPrefixes collection. These rolled-up keys are not returned elsewhere in
// the response. Each rolled-up result counts as only one return against the // the response. Each rolled-up result counts as only one return against the
// MaxKeys value. Directory buckets - For directory buckets, / is the only // MaxKeys value.
// supported delimiter. //
// Directory buckets - For directory buckets, / is the only supported delimiter.
Delimiter *string Delimiter *string
// Encoding type used by Amazon S3 to encode object key names in the XML response. // Encoding type used by Amazon S3 to encode object key names in the XML response.
//
// If you specify the encoding-type request parameter, Amazon S3 includes this // If you specify the encoding-type request parameter, Amazon S3 includes this
// element in the response, and returns encoded key name values in the following // element in the response, and returns encoded key name values in the following
// response elements: Delimiter, Prefix, Key, and StartAfter . // response elements:
//
// Delimiter, Prefix, Key, and StartAfter .
EncodingType types.EncodingType EncodingType types.EncodingType
// Set to false if all of the results were returned. Set to true if more keys are // Set to false if all of the results were returned. Set to true if more keys are
@ -239,16 +290,21 @@ type ListObjectsV2Output struct {
// obfuscated and is not a real key // obfuscated and is not a real key
NextContinuationToken *string NextContinuationToken *string
// Keys that begin with the indicated prefix. Directory buckets - For directory // Keys that begin with the indicated prefix.
// buckets, only prefixes that end in a delimiter ( / ) are supported. //
// Directory buckets - For directory buckets, only prefixes that end in a
// delimiter ( / ) are supported.
Prefix *string Prefix *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 StartAfter was sent with the request, it is included in the response. This // If StartAfter was sent with the request, it is included in the response.
// functionality is not supported for directory buckets. //
// This functionality is not supported for directory buckets.
StartAfter *string StartAfter *string
// Metadata pertaining to the operation's result. // Metadata pertaining to the operation's result.

View file

@ -14,55 +14,79 @@ import (
"time" "time"
) )
// Lists the parts that have been uploaded for a specific multipart upload. To use // Lists the parts that have been uploaded for a specific multipart upload.
// this operation, you must provide the upload ID in the request. You obtain this //
// uploadID by sending the initiate multipart upload request through // To use this operation, you must provide the upload ID in the request. You
// CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) // obtain this uploadID by sending the initiate multipart upload request through [CreateMultipartUpload].
// . The ListParts request returns a maximum of 1,000 uploaded parts. The limit of //
// The ListParts request returns a maximum of 1,000 uploaded parts. The limit of
// 1,000 parts is also the default value. You can restrict the number of parts in a // 1,000 parts is also the default value. You can restrict the number of parts in a
// response by specifying the max-parts request parameter. If your multipart // response by specifying the max-parts request parameter. If your multipart
// upload consists of more than 1,000 parts, the response returns an IsTruncated // upload consists of more than 1,000 parts, the response returns an IsTruncated
// field with the value of true , and a NextPartNumberMarker element. To list // field with the value of true , and a NextPartNumberMarker element. To list
// remaining uploaded parts, in subsequent ListParts requests, include the // remaining uploaded parts, in subsequent ListParts requests, include the
// part-number-marker query string parameter and set its value to the // part-number-marker query string parameter and set its value to the
// NextPartNumberMarker field value from the previous response. For more // NextPartNumberMarker field value from the previous response.
// information on multipart uploads, see Uploading Objects Using Multipart Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html)
// 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
// 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 (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
// in the Amazon S3 User Guide. 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)
// in the Amazon S3 User Guide. If the upload was created using server-side
// encryption with Key Management Service (KMS) keys (SSE-KMS) or dual-layer
// server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), you must
// have permission to the kms:Decrypt action for the ListParts request to
// succeed.
// - 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)
// API operation for session-based authorization. Specifically, you grant the
// 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
// the bucket to obtain a session token. With the session token in your request
// header, you can make API requests to this operation. After the session token
// 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
// 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)
// .
// //
// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is // For more information on multipart uploads, see [Uploading Objects Using Multipart Upload] in the Amazon S3 User Guide.
// Bucket_name.s3express-az_id.region.amazonaws.com . The following operations are //
// related to ListParts : // Directory buckets - For directory buckets, you must make requests for this API
// - CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html) // operation to the Zonal endpoint. These endpoints support virtual-hosted-style
// - UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) // requests in the format
// - CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html) // https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style
// - AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html) // requests are not supported. For more information, see [Regional and Zonal endpoints]in the Amazon S3 User
// - GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html) // Guide.
// - ListMultipartUploads (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html) //
// Permissions
// - General purpose bucket permissions - For information about permissions
// required to use the multipart upload API, see [Multipart Upload and Permissions]in the Amazon S3 User Guide.
//
// If the upload was created using server-side encryption with Key Management
//
// Service (KMS) keys (SSE-KMS) or dual-layer server-side encryption with Amazon
// Web Services KMS keys (DSSE-KMS), you must have permission to the kms:Decrypt
// action for the ListParts request to succeed.
//
// - Directory bucket permissions - To grant access to this API operation on a
// directory bucket, we recommend that you use the [CreateSession]CreateSession API operation
// for session-based authorization. Specifically, you grant the
// 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
// the bucket to obtain a session token. With the session token in your request
// header, you can make API requests to this operation. After the session token
// 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
// session token automatically to avoid service interruptions when a session
// expires. For more information about authorization, see [CreateSession]CreateSession .
//
// 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 ListParts :
//
// [CreateMultipartUpload]
//
// [UploadPart]
//
// [CompleteMultipartUpload]
//
// [AbortMultipartUpload]
//
// [GetObjectAttributes]
//
// [ListMultipartUploads]
//
// [Uploading Objects Using Multipart Upload]: https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html
// [AbortMultipartUpload]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.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
// [GetObjectAttributes]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html
// [ListMultipartUploads]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.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
//
// [CreateSession]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html
func (c *Client) ListParts(ctx context.Context, params *ListPartsInput, optFns ...func(*Options)) (*ListPartsOutput, error) { func (c *Client) ListParts(ctx context.Context, params *ListPartsInput, optFns ...func(*Options)) (*ListPartsOutput, error) {
if params == nil { if params == nil {
params = &ListPartsInput{} params = &ListPartsInput{}
@ -80,31 +104,39 @@ func (c *Client) ListParts(ctx context.Context, params *ListPartsInput, optFns .
type ListPartsInput struct { type ListPartsInput struct {
// The name of the bucket to which the parts are being uploaded. Directory buckets // The name of the bucket to which the parts are being uploaded.
// - 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-az1--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
@ -135,31 +167,39 @@ type ListPartsInput 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 needed only when the object was created using a checksum algorithm. // parameter is 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) // For more 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
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
@ -177,17 +217,21 @@ type ListPartsOutput 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, then the response includes this header indicating // object name in the request, then the response includes this header indicating
// when the initiated multipart upload will become eligible for abort operation. // when the initiated multipart upload will become eligible for abort operation.
// For more information, see Aborting Incomplete Multipart Uploads Using a Bucket // For more information, see [Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration].
// Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config) //
// . The response will also include the x-amz-abort-rule-id header that will // The response will also include the x-amz-abort-rule-id header that will provide
// provide the ID of the lifecycle configuration rule that defines this action. // the ID of the lifecycle configuration rule that defines this 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
// applicable lifecycle configuration rule that defines the action to abort // 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
@ -203,7 +247,7 @@ type ListPartsOutput struct {
// provides the user ARN and display name. // provides the user ARN and display name.
Initiator *types.Initiator Initiator *types.Initiator
// Indicates whether the returned list of parts is truncated. A true value // Indicates whether the returned list of parts is truncated. A true value
// indicates that the list was truncated. A list can be truncated if the number of // indicates that the list was truncated. A list can be truncated if the number of
// parts exceeds the limit returned in the MaxParts element. // parts exceeds the limit returned in the MaxParts element.
IsTruncated *bool IsTruncated *bool
@ -221,8 +265,10 @@ type ListPartsOutput struct {
// Container element that identifies the object owner, after the object is // Container element that identifies the object owner, after the object is
// created. If multipart upload is initiated by an IAM user, this element provides // created. If multipart upload is initiated by an IAM user, this element provides
// the parent account ID and display name. Directory buckets - The bucket owner is // the parent account ID and display name.
// returned as the object owner for all the parts. //
// Directory buckets - The bucket owner is returned as the object owner for all
// the parts.
Owner *types.Owner Owner *types.Owner
// Specifies the part after which listing should begin. Only parts with higher // Specifies the part after which listing should begin. Only parts with higher
@ -234,12 +280,15 @@ type ListPartsOutput struct {
Parts []types.Part Parts []types.Part
// 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
// The class of storage used to store the uploaded object. Directory buckets - // The class of storage used to store the uploaded object.
// Only the S3 Express One Zone storage class is supported by directory buckets to //
// store objects. // Directory buckets - Only the S3 Express One Zone storage class is supported by
// directory buckets to store objects.
StorageClass types.StorageClass StorageClass types.StorageClass
// Upload ID identifying the multipart upload whose parts are being listed. // Upload ID identifying the multipart upload whose parts are being listed.

View file

@ -15,30 +15,45 @@ 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. Sets the accelerate // This operation is not supported by directory buckets.
// configuration of an existing bucket. Amazon S3 Transfer Acceleration is a //
// bucket-level feature that enables you to perform faster data transfers to Amazon // Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer
// S3. To use this operation, you must have permission to perform the // Acceleration is a bucket-level feature that enables you to perform faster data
// transfers to Amazon S3.
//
// To use this operation, you must have permission to perform the
// s3:PutAccelerateConfiguration action. The bucket owner has this permission by // s3:PutAccelerateConfiguration 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) // The Transfer Acceleration state of a bucket can be set to one of the following
// . The Transfer Acceleration state of a bucket can be set to one of the following
// two values: // two values:
//
// - Enabled Enables accelerated data transfers to the bucket. // - Enabled Enables accelerated data transfers to the bucket.
//
// - Suspended Disables accelerated data transfers to the bucket. // - Suspended Disables accelerated data transfers to the bucket.
// //
// The GetBucketAccelerateConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html) // The [GetBucketAccelerateConfiguration] action returns the transfer acceleration state of a bucket.
// action returns the transfer acceleration state of a bucket. After setting the //
// Transfer Acceleration state of a bucket to Enabled, it might take up to thirty // After setting the Transfer Acceleration state of a bucket to Enabled, it might
// minutes before the data transfer rates to the bucket increase. The name of the // take up to thirty minutes before the data transfer rates to the bucket increase.
// bucket used for Transfer Acceleration must be DNS-compliant and must not contain //
// periods ("."). For more information about transfer acceleration, see Transfer // The name of the bucket used for Transfer Acceleration must be DNS-compliant and
// Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html) // must not contain periods (".").
// . The following operations are related to PutBucketAccelerateConfiguration : //
// - GetBucketAccelerateConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html) // For more information about transfer acceleration, see [Transfer Acceleration].
// - CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) //
// The following operations are related to PutBucketAccelerateConfiguration :
//
// [GetBucketAccelerateConfiguration]
//
// [CreateBucket]
//
// [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
// [Transfer Acceleration]: https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html
// [GetBucketAccelerateConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAccelerateConfiguration.html
// [Managing Access Permissions to Your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
// [CreateBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
func (c *Client) PutBucketAccelerateConfiguration(ctx context.Context, params *PutBucketAccelerateConfigurationInput, optFns ...func(*Options)) (*PutBucketAccelerateConfigurationOutput, error) { func (c *Client) PutBucketAccelerateConfiguration(ctx context.Context, params *PutBucketAccelerateConfigurationInput, optFns ...func(*Options)) (*PutBucketAccelerateConfigurationOutput, error) {
if params == nil { if params == nil {
params = &PutBucketAccelerateConfigurationInput{} params = &PutBucketAccelerateConfigurationInput{}
@ -70,10 +85,13 @@ type PutBucketAccelerateConfigurationInput struct {
// the SDK. This header will not provide any additional functionality if you don't // the SDK. This header will not provide any additional functionality if you don't
// use the SDK. When you send this header, there must be a corresponding // use the SDK. When you send this header, there must be a corresponding
// x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
// request with the HTTP status code 400 Bad Request . For more information, see // request with the HTTP status code 400 Bad Request . 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. If you provide an individual checksum, Amazon S3 //
// ignores any provided ChecksumAlgorithm parameter. // If you provide an individual checksum, Amazon S3 ignores any provided
// ChecksumAlgorithm parameter.
//
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
ChecksumAlgorithm types.ChecksumAlgorithm ChecksumAlgorithm types.ChecksumAlgorithm
// 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

View file

@ -15,89 +15,159 @@ 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. Sets the permissions on // This operation is not supported by directory buckets.
// an existing bucket using access control lists (ACL). For more information, see //
// Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html) // Sets the permissions on an existing bucket using access control lists (ACL).
// . To set the ACL of a bucket, you must have the WRITE_ACP permission. You can // For more information, see [Using ACLs]. To set the ACL of a bucket, you must have the
// use one of the following two ways to set a bucket's permissions: // WRITE_ACP permission.
//
// You can use one of the following two ways to set a bucket's permissions:
//
// - Specify the ACL in the request body // - Specify the ACL in the request body
//
// - Specify permissions using request headers // - Specify permissions using request headers
// //
// You cannot specify access permission using both the body and the request // You cannot specify access permission using both the body and the request
// headers. Depending on your application needs, you may choose to set the ACL on a // headers.
// bucket using either the request body or the headers. For example, if you have an //
// Depending on your application needs, you may choose to set the ACL on a bucket
// using either the request body or the headers. For example, if you have an
// existing application that updates a bucket ACL using the request body, then you // existing application that updates a bucket ACL using the request body, then you
// can continue to use that approach. If your bucket uses the bucket owner enforced // can continue to use that approach.
// setting for S3 Object Ownership, ACLs are disabled and no longer affect //
// permissions. You must use policies to grant access to your bucket and the // If your bucket uses the bucket owner enforced setting for S3 Object Ownership,
// objects in it. Requests to set ACLs or update ACLs fail and return the // ACLs are disabled and no longer affect permissions. You must use policies to
// AccessControlListNotSupported error code. Requests to read ACLs are still // grant access to your bucket and the objects in it. Requests to set ACLs or
// supported. For more information, see Controlling object ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) // update ACLs fail and return the AccessControlListNotSupported error code.
// in the Amazon S3 User Guide. Permissions You can set access permissions by using // Requests to read ACLs are still supported. For more information, see [Controlling object ownership]in the
// one of the following methods: // Amazon S3 User Guide.
//
// Permissions You can set access permissions by using one of the following
// methods:
//
// - Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a // - Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a
// set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined // set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined
// set of grantees and permissions. Specify the canned ACL name as the value of // set of grantees and permissions. Specify the canned ACL name as the value of
// x-amz-acl . If you use this header, you cannot use other access // x-amz-acl . If you use this header, you cannot use other access
// control-specific headers in your request. For more information, see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL) // control-specific headers in your request. For more information, see [Canned ACL].
// . //
// - Specify access permissions explicitly with the x-amz-grant-read , // - Specify access permissions explicitly with the x-amz-grant-read ,
// x-amz-grant-read-acp , x-amz-grant-write-acp , and x-amz-grant-full-control // x-amz-grant-read-acp , x-amz-grant-write-acp , and x-amz-grant-full-control
// headers. When using these headers, you specify explicit access permissions and // headers. When using these headers, you specify explicit access permissions and
// grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the // grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the
// permission. If you use these ACL-specific headers, you cannot use the // permission. If you use these ACL-specific headers, you cannot use the
// x-amz-acl header to set a canned ACL. These parameters map to the set of // x-amz-acl header to set a canned ACL. These parameters map to the set of
// permissions that Amazon S3 supports in an ACL. For more information, see // permissions that Amazon S3 supports in an ACL. For more information, see [Access Control List (ACL) Overview].
// Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) //
// . You specify each grantee as a type=value pair, where the type is one of the // 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 // following:
// Services account //
// - uri if you are granting permissions to a predefined group // - id if the value specified is the canonical user ID of an Amazon Web
// - emailAddress if the value specified is the email address of an Amazon Web // Services account
// Services account Using email addresses to specify a grantee is only supported in //
// the following Amazon Web Services Regions: // - uri if you are granting permissions to a predefined group
// - US East (N. Virginia) //
// - US West (N. California) // - emailAddress if the value specified is the email address of an Amazon Web
// - US West (Oregon) // Services account
// - Asia Pacific (Singapore) //
// - Asia Pacific (Sydney) // Using email addresses to specify a grantee is only supported in the following
// - Asia Pacific (Tokyo) //
// - Europe (Ireland) // Amazon Web Services Regions:
// - 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) // - US East (N. Virginia)
// in the Amazon Web Services General Reference. For example, the following //
// x-amz-grant-write header grants create, overwrite, and delete objects // - US West (N. California)
// permission to LogDelivery group predefined by Amazon S3 and two Amazon Web //
// Services accounts identified by their email addresses. x-amz-grant-write: // - US West (Oregon)
// uri="http://acs.amazonaws.com/groups/s3/LogDelivery", id="111122223333", //
// id="555566667777" // - 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-write header grants create, overwrite,
//
// and delete objects permission to LogDelivery group predefined by Amazon S3 and
// two Amazon Web Services accounts identified by their email addresses.
//
// x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery",
//
// id="111122223333", id="555566667777"
// //
// You can use either a canned ACL or specify access permissions explicitly. You // You can use either a canned ACL or specify access permissions explicitly. You
// cannot do both. Grantee Values You can specify the person (grantee) to whom // cannot do both.
// you're assigning access rights (using request elements) in the following ways: //
// - By the person's ID: <>ID<><>GranteesEmail<> DisplayName is optional and // Grantee Values You can specify the person (grantee) to whom you're assigning
// ignored in the request // access rights (using request elements) in the following ways:
// - By URI: <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<> //
// - By Email address: <>Grantees@email.com<>& The grantee is resolved to the // - By the person's ID:
// CanonicalUser and, in a response to a GET Object acl request, appears as the //
// CanonicalUser. Using email addresses to specify a grantee is only supported in // <>ID<><>GranteesEmail<>
// the following Amazon Web Services Regions: //
// - US East (N. Virginia) // DisplayName is optional and ignored in the request
// - US West (N. California) //
// - US West (Oregon) // - By URI:
// - Asia Pacific (Singapore) //
// - Asia Pacific (Sydney) // <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>
// - Asia Pacific (Tokyo) //
// - Europe (Ireland) // - By Email address:
// - 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) // <>Grantees@email.com<>&
// in the Amazon Web Services General Reference. //
// The grantee is resolved to the CanonicalUser and, in a response to a GET Object
//
// acl request, appears as the CanonicalUser.
//
// 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.
// //
// The following operations are related to PutBucketAcl : // The following operations are related to PutBucketAcl :
// - CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) //
// - DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) // [CreateBucket]
// - GetObjectAcl (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html) //
// [DeleteBucket]
//
// [GetObjectAcl]
//
// [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
// [Controlling object ownership]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html
// [DeleteBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
// [Using ACLs]: https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html
// [Canned ACL]: https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL
// [GetObjectAcl]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html
// [CreateBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
func (c *Client) PutBucketAcl(ctx context.Context, params *PutBucketAclInput, optFns ...func(*Options)) (*PutBucketAclOutput, error) { func (c *Client) PutBucketAcl(ctx context.Context, params *PutBucketAclInput, optFns ...func(*Options)) (*PutBucketAclOutput, error) {
if params == nil { if params == nil {
params = &PutBucketAclInput{} params = &PutBucketAclInput{}
@ -130,17 +200,23 @@ type PutBucketAclInput struct {
// the SDK. This header will not provide any additional functionality if you don't // the SDK. This header will not provide any additional functionality if you don't
// use the SDK. When you send this header, there must be a corresponding // use the SDK. When you send this header, there must be a corresponding
// x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
// request with the HTTP status code 400 Bad Request . For more information, see // request with the HTTP status code 400 Bad Request . 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. If you provide an individual checksum, Amazon S3 //
// ignores any provided ChecksumAlgorithm parameter. // If you provide an individual checksum, Amazon S3 ignores any provided
// ChecksumAlgorithm parameter.
//
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
ChecksumAlgorithm types.ChecksumAlgorithm ChecksumAlgorithm types.ChecksumAlgorithm
// The base64-encoded 128-bit MD5 digest of the data. This header must be used as // The base64-encoded 128-bit MD5 digest of the data. This header must be used as
// a message integrity check to verify that the request body was not corrupted in // a message integrity check to verify that the request body was not corrupted in
// transit. For more information, go to RFC 1864. (http://www.ietf.org/rfc/rfc1864.txt) // transit. For more information, go to [RFC 1864.]
//
// For requests made using the Amazon Web Services Command Line Interface (CLI) or // For requests made using the Amazon Web Services Command Line Interface (CLI) or
// Amazon Web Services SDKs, this field is calculated automatically. // Amazon Web Services SDKs, this field is calculated automatically.
//
// [RFC 1864.]: http://www.ietf.org/rfc/rfc1864.txt
ContentMD5 *string ContentMD5 *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
@ -158,9 +234,10 @@ type PutBucketAclInput struct {
// Allows grantee to read the bucket ACL. // Allows grantee to read the bucket ACL.
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. // For the bucket and object owners of existing objects, also allows deletions and
// overwrites of those objects.
GrantWrite *string GrantWrite *string
// Allows grantee to write the ACL for the applicable bucket. // Allows grantee to write the ACL for the applicable bucket.

View file

@ -14,45 +14,67 @@ 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. Sets an analytics // This operation is not supported by directory buckets.
// configuration for the bucket (specified by the analytics configuration ID). You //
// can have up to 1,000 analytics configurations per bucket. You can choose to have // Sets an analytics configuration for the bucket (specified by the analytics
// storage class analysis export analysis reports sent to a comma-separated values // configuration ID). You can have up to 1,000 analytics configurations per bucket.
// (CSV) flat file. See the DataExport request element. Reports are updated daily //
// and are based on the object filters that you configure. When selecting data // You can choose to have storage class analysis export analysis reports sent to a
// export, you specify a destination bucket and an optional destination prefix // comma-separated values (CSV) flat file. See the DataExport request element.
// where the file is written. You can export the data to a destination bucket in a // Reports are updated daily and are based on the object filters that you
// different account. However, the destination bucket must be in the same Region as // configure. When selecting data export, you specify a destination bucket and an
// the bucket that you are making the PUT analytics configuration to. For more // optional destination prefix where the file is written. You can export the data
// information, see Amazon S3 Analytics Storage Class Analysis (https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html) // to a destination bucket in a different account. However, the destination bucket
// . You must create a bucket policy on the destination bucket where the exported // must be in the same Region as the bucket that you are making the PUT analytics
// configuration to. For more information, see [Amazon S3 Analytics Storage Class Analysis].
//
// You must create a bucket policy on the destination bucket where the exported
// file is written to grant permissions to Amazon S3 to write objects to the // file is written to grant permissions to Amazon S3 to write objects to the
// bucket. For an example policy, see Granting Permissions for Amazon S3 Inventory // bucket. For an example policy, see [Granting Permissions for Amazon S3 Inventory and Storage Class Analysis].
// and Storage Class Analysis (https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9) //
// . To use this operation, you must have permissions to perform the // 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) // PutBucketAnalyticsConfiguration has the following special errors:
// . PutBucketAnalyticsConfiguration has the following special errors: //
// - HTTP Error: HTTP 400 Bad Request // - HTTP Error: HTTP 400 Bad Request
//
// - Code: InvalidArgument // - Code: InvalidArgument
//
// - Cause: Invalid argument. // - Cause: Invalid argument.
//
// - HTTP Error: HTTP 400 Bad Request // - HTTP Error: HTTP 400 Bad Request
//
// - Code: TooManyConfigurations // - Code: TooManyConfigurations
//
// - Cause: You are attempting to create a new configuration but have already // - Cause: You are attempting to create a new configuration but have already
// reached the 1,000-configuration limit. // reached the 1,000-configuration limit.
//
// - HTTP Error: HTTP 403 Forbidden // - HTTP Error: HTTP 403 Forbidden
//
// - Code: AccessDenied // - Code: AccessDenied
//
// - Cause: You are not the owner of the specified bucket, or you do not have // - Cause: You are not the owner of the specified bucket, or you do not have
// the s3:PutAnalyticsConfiguration bucket permission to set the configuration on // the s3:PutAnalyticsConfiguration bucket permission to set the configuration on
// the bucket. // the bucket.
// //
// The following operations are related to PutBucketAnalyticsConfiguration : // The following operations are related to PutBucketAnalyticsConfiguration :
// - GetBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketAnalyticsConfiguration.html) //
// - DeleteBucketAnalyticsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.html) // [GetBucketAnalyticsConfiguration]
// - ListBucketAnalyticsConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html) //
// [DeleteBucketAnalyticsConfiguration]
//
// [ListBucketAnalyticsConfigurations]
//
// [Amazon S3 Analytics Storage Class Analysis]: https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html
// [Granting Permissions for Amazon S3 Inventory and Storage Class Analysis]: https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9
// [DeleteBucketAnalyticsConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketAnalyticsConfiguration.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
// [Managing Access Permissions to Your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
func (c *Client) PutBucketAnalyticsConfiguration(ctx context.Context, params *PutBucketAnalyticsConfigurationInput, optFns ...func(*Options)) (*PutBucketAnalyticsConfigurationOutput, error) { func (c *Client) PutBucketAnalyticsConfiguration(ctx context.Context, params *PutBucketAnalyticsConfigurationInput, optFns ...func(*Options)) (*PutBucketAnalyticsConfigurationOutput, error) {
if params == nil { if params == nil {
params = &PutBucketAnalyticsConfigurationInput{} params = &PutBucketAnalyticsConfigurationInput{}

View file

@ -15,35 +15,54 @@ 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. Sets the cors // This operation is not supported by directory buckets.
// configuration for your bucket. If the configuration exists, Amazon S3 replaces //
// it. To use this operation, you must be allowed to perform the s3:PutBucketCORS // Sets the cors configuration for your bucket. If the configuration exists,
// Amazon S3 replaces it.
//
// To use this operation, you must be allowed to perform the s3:PutBucketCORS
// action. By default, the bucket owner has this permission and can grant it to // action. By default, the bucket owner has this permission and can grant it to
// others. You set this configuration on a bucket so that the bucket can service // others.
//
// You set this configuration on a bucket so that the bucket can service
// cross-origin requests. For example, you might want to enable a request whose // cross-origin requests. For example, you might want to enable a request whose
// origin is http://www.example.com to access your Amazon S3 bucket at // origin is http://www.example.com to access your Amazon S3 bucket at
// my.example.bucket.com by using the browser's XMLHttpRequest capability. To // my.example.bucket.com by using the browser's XMLHttpRequest capability.
// enable cross-origin resource sharing (CORS) on a bucket, you add the cors //
// To enable cross-origin resource sharing (CORS) on a bucket, you add the cors
// subresource to the bucket. The cors subresource is an XML document in which you // subresource to the bucket. The cors subresource is an XML document in which you
// configure rules that identify origins and the HTTP methods that can be executed // configure rules that identify origins and the HTTP methods that can be executed
// on your bucket. The document is limited to 64 KB in size. When Amazon S3 // on your bucket. The document is limited to 64 KB in size.
// receives a cross-origin request (or a pre-flight OPTIONS request) against a //
// bucket, it evaluates the cors configuration on the bucket and uses the first // When Amazon S3 receives a cross-origin request (or a pre-flight OPTIONS
// CORSRule rule that matches the incoming browser request to enable a cross-origin // request) against a bucket, it evaluates the cors configuration on the bucket
// request. For a rule to match, the following conditions must be met: // and uses the first CORSRule rule that matches the incoming browser request to
// enable a cross-origin request. For a rule to match, the following conditions
// must be met:
//
// - The request's Origin header must match AllowedOrigin elements. // - The request's Origin header must match AllowedOrigin elements.
//
// - The request method (for example, GET, PUT, HEAD, and so on) or the // - The request method (for example, GET, PUT, HEAD, and so on) or the
// Access-Control-Request-Method header in case of a pre-flight OPTIONS request // Access-Control-Request-Method header in case of a pre-flight OPTIONS request
// must be one of the AllowedMethod elements. // must be one of the AllowedMethod elements.
//
// - Every header specified in the Access-Control-Request-Headers request header // - Every header specified in the Access-Control-Request-Headers request header
// of a pre-flight request must match an AllowedHeader element. // of a pre-flight request must match an AllowedHeader element.
// //
// For more information about CORS, go to Enabling Cross-Origin Resource Sharing (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) // For more information about CORS, go to [Enabling Cross-Origin Resource Sharing] in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. The following operations are related to //
// PutBucketCors : // The following operations are related to PutBucketCors :
// - GetBucketCors (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.html) //
// - DeleteBucketCors (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html) // [GetBucketCors]
// - RESTOPTIONSobject (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html) //
// [DeleteBucketCors]
//
// [RESTOPTIONSobject]
//
// [GetBucketCors]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketCors.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
// [DeleteBucketCors]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html
func (c *Client) PutBucketCors(ctx context.Context, params *PutBucketCorsInput, optFns ...func(*Options)) (*PutBucketCorsOutput, error) { func (c *Client) PutBucketCors(ctx context.Context, params *PutBucketCorsInput, optFns ...func(*Options)) (*PutBucketCorsOutput, error) {
if params == nil { if params == nil {
params = &PutBucketCorsInput{} params = &PutBucketCorsInput{}
@ -67,8 +86,9 @@ type PutBucketCorsInput struct {
Bucket *string Bucket *string
// Describes the cross-origin access configuration for objects in an Amazon S3 // Describes the cross-origin access configuration for objects in an Amazon S3
// bucket. For more information, see Enabling Cross-Origin Resource Sharing (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) // bucket. For more information, see [Enabling Cross-Origin Resource Sharing]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// [Enabling Cross-Origin Resource Sharing]: https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html
// //
// This member is required. // This member is required.
CORSConfiguration *types.CORSConfiguration CORSConfiguration *types.CORSConfiguration
@ -77,17 +97,23 @@ type PutBucketCorsInput struct {
// the SDK. This header will not provide any additional functionality if you don't // the SDK. This header will not provide any additional functionality if you don't
// use the SDK. When you send this header, there must be a corresponding // use the SDK. When you send this header, there must be a corresponding
// x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
// request with the HTTP status code 400 Bad Request . For more information, see // request with the HTTP status code 400 Bad Request . 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. If you provide an individual checksum, Amazon S3 //
// ignores any provided ChecksumAlgorithm parameter. // If you provide an individual checksum, Amazon S3 ignores any provided
// ChecksumAlgorithm parameter.
//
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
ChecksumAlgorithm types.ChecksumAlgorithm ChecksumAlgorithm types.ChecksumAlgorithm
// The base64-encoded 128-bit MD5 digest of the data. This header must be used as // The base64-encoded 128-bit MD5 digest of the data. This header must be used as
// a message integrity check to verify that the request body was not corrupted in // a message integrity check to verify that the request body was not corrupted in
// transit. For more information, go to RFC 1864. (http://www.ietf.org/rfc/rfc1864.txt) // transit. For more information, go to [RFC 1864.]
//
// For requests made using the Amazon Web Services Command Line Interface (CLI) or // For requests made using the Amazon Web Services Command Line Interface (CLI) or
// Amazon Web Services SDKs, this field is calculated automatically. // Amazon Web Services SDKs, this field is calculated automatically.
//
// [RFC 1864.]: http://www.ietf.org/rfc/rfc1864.txt
ContentMD5 *string ContentMD5 *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

View file

@ -15,30 +15,41 @@ 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 action uses the // This operation is not supported by directory buckets.
// encryption subresource to configure default encryption and Amazon S3 Bucket Keys //
// for an existing bucket. By default, all buckets have a default encryption // This action uses the encryption subresource to configure default encryption and
// configuration that uses server-side encryption with Amazon S3 managed keys // Amazon S3 Bucket Keys for an existing bucket.
// (SSE-S3). You can optionally configure default encryption for a bucket by using //
// server-side encryption with Key Management Service (KMS) keys (SSE-KMS) or // By default, all buckets have a default encryption configuration that uses
// dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS). // server-side encryption with Amazon S3 managed keys (SSE-S3). You can optionally
// If you specify default encryption by using SSE-KMS, you can also configure // configure default encryption for a bucket by using server-side encryption with
// Amazon S3 Bucket Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) // Key Management Service (KMS) keys (SSE-KMS) or dual-layer server-side encryption
// . If you use PutBucketEncryption to set your default bucket encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) // with Amazon Web Services KMS keys (DSSE-KMS). If you specify default encryption
// to SSE-KMS, you should verify that your KMS key ID is correct. Amazon S3 does // by using SSE-KMS, you can also configure [Amazon S3 Bucket Keys]. If you use PutBucketEncryption to
// not validate the KMS key ID provided in PutBucketEncryption requests. This // set your [default bucket encryption]to SSE-KMS, you should verify that your KMS key ID is correct. Amazon
// action requires Amazon Web Services Signature Version 4. For more information, // S3 does not validate the KMS key ID provided in PutBucketEncryption requests.
// see Authenticating Requests (Amazon Web Services Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html) //
// . To use this operation, you must have permission to perform the // This action requires Amazon Web Services Signature Version 4. For more
// information, see [Authenticating Requests (Amazon Web Services Signature Version 4)].
//
// To use this operation, you must have permission to perform the
// s3:PutEncryptionConfiguration action. The bucket owner has this permission by // s3:PutEncryptionConfiguration 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] in the Amazon S3 User Guide.
// 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) // The following operations are related to PutBucketEncryption :
// in the Amazon S3 User Guide. The following operations are related to //
// PutBucketEncryption : // [GetBucketEncryption]
// - GetBucketEncryption (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html) //
// - DeleteBucketEncryption (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html) // [DeleteBucketEncryption]
//
// [Amazon S3 Bucket Keys]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html
// [GetBucketEncryption]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html
// [DeleteBucketEncryption]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.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
// [default bucket encryption]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
// [Managing Access Permissions to Your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
// [Authenticating Requests (Amazon Web Services Signature Version 4)]: https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html
func (c *Client) PutBucketEncryption(ctx context.Context, params *PutBucketEncryptionInput, optFns ...func(*Options)) (*PutBucketEncryptionOutput, error) { func (c *Client) PutBucketEncryption(ctx context.Context, params *PutBucketEncryptionInput, optFns ...func(*Options)) (*PutBucketEncryptionOutput, error) {
if params == nil { if params == nil {
params = &PutBucketEncryptionInput{} params = &PutBucketEncryptionInput{}
@ -62,8 +73,9 @@ type PutBucketEncryptionInput struct {
// (SSE-S3). You can optionally configure default encryption for a bucket by using // (SSE-S3). You can optionally configure default encryption for a bucket by using
// server-side encryption with an Amazon Web Services KMS key (SSE-KMS) or a // server-side encryption with an Amazon Web Services KMS key (SSE-KMS) or a
// customer-provided key (SSE-C). For information about the bucket default // customer-provided key (SSE-C). For information about the bucket default
// encryption feature, see Amazon S3 Bucket Default Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) // encryption feature, see [Amazon S3 Bucket Default Encryption]in the Amazon S3 User Guide.
// in the Amazon S3 User Guide. //
// [Amazon S3 Bucket Default Encryption]: https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html
// //
// This member is required. // This member is required.
Bucket *string Bucket *string
@ -77,16 +89,20 @@ type PutBucketEncryptionInput struct {
// the SDK. This header will not provide any additional functionality if you don't // the SDK. This header will not provide any additional functionality if you don't
// use the SDK. When you send this header, there must be a corresponding // use the SDK. When you send this header, there must be a corresponding
// x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
// request with the HTTP status code 400 Bad Request . For more information, see // request with the HTTP status code 400 Bad Request . 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. If you provide an individual checksum, Amazon S3 //
// ignores any provided ChecksumAlgorithm parameter. // If you provide an individual checksum, Amazon S3 ignores any provided
// ChecksumAlgorithm parameter.
//
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
ChecksumAlgorithm types.ChecksumAlgorithm ChecksumAlgorithm types.ChecksumAlgorithm
// The base64-encoded 128-bit MD5 digest of the server-side encryption // The base64-encoded 128-bit MD5 digest of the server-side encryption
// configuration. For requests made using the Amazon Web Services Command Line // configuration.
// Interface (CLI) or Amazon Web Services SDKs, this field is calculated //
// automatically. // For requests made using the Amazon Web Services Command Line Interface (CLI) or
// Amazon Web Services SDKs, this field is calculated automatically.
ContentMD5 *string ContentMD5 *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

View file

@ -14,37 +14,58 @@ 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. Puts a S3 // This operation is not supported by directory buckets.
// Intelligent-Tiering configuration to the specified bucket. You can have up to //
// 1,000 S3 Intelligent-Tiering configurations per bucket. The S3 // Puts a S3 Intelligent-Tiering configuration to the specified bucket. You can
// Intelligent-Tiering storage class is designed to optimize storage costs by // have up to 1,000 S3 Intelligent-Tiering configurations per 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 PutBucketIntelligentTieringConfiguration include: //
// - DeleteBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html) // For more information, see [Storage class for automatically optimizing frequently and infrequently accessed objects].
// - GetBucketIntelligentTieringConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html) //
// - ListBucketIntelligentTieringConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html) // Operations related to PutBucketIntelligentTieringConfiguration include:
//
// [DeleteBucketIntelligentTieringConfiguration]
//
// [GetBucketIntelligentTieringConfiguration]
//
// [ListBucketIntelligentTieringConfigurations]
// //
// You only need S3 Intelligent-Tiering enabled on a bucket if you want to // You only need S3 Intelligent-Tiering enabled on a bucket if you want to
// automatically move objects stored in the S3 Intelligent-Tiering storage class to // automatically move objects stored in the S3 Intelligent-Tiering storage class to
// the Archive Access or Deep Archive Access tier. // the Archive Access or Deep Archive Access tier.
// PutBucketIntelligentTieringConfiguration has the following special errors: HTTP //
// 400 Bad Request Error Code: InvalidArgument Cause: Invalid Argument HTTP 400 Bad // PutBucketIntelligentTieringConfiguration has the following special errors:
// Request Error Code: TooManyConfigurations Cause: You are attempting to create a //
// new configuration but have already reached the 1,000-configuration limit. HTTP // HTTP 400 Bad Request Error Code: InvalidArgument
// 403 Forbidden Error Cause: You are not the owner of the specified bucket, or you //
// do not have the s3:PutIntelligentTieringConfiguration bucket permission to set // Cause: Invalid Argument
// the configuration on the bucket. //
// HTTP 400 Bad Request Error Code: TooManyConfigurations
//
// Cause: You are attempting to create a new configuration but have already
// reached the 1,000-configuration limit.
//
// HTTP 403 Forbidden Error Cause: You are not the owner of the specified bucket,
// or you do not have the s3:PutIntelligentTieringConfiguration bucket permission
// to set the configuration on the bucket.
//
// [ListBucketIntelligentTieringConfigurations]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html
// [GetBucketIntelligentTieringConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.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
// [DeleteBucketIntelligentTieringConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketIntelligentTieringConfiguration.html
func (c *Client) PutBucketIntelligentTieringConfiguration(ctx context.Context, params *PutBucketIntelligentTieringConfigurationInput, optFns ...func(*Options)) (*PutBucketIntelligentTieringConfigurationOutput, error) { func (c *Client) PutBucketIntelligentTieringConfiguration(ctx context.Context, params *PutBucketIntelligentTieringConfigurationInput, optFns ...func(*Options)) (*PutBucketIntelligentTieringConfigurationOutput, error) {
if params == nil { if params == nil {
params = &PutBucketIntelligentTieringConfigurationInput{} params = &PutBucketIntelligentTieringConfigurationInput{}

View file

@ -14,48 +14,76 @@ 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 PUT action adds an inventory configuration (identified by the inventory ID) //
// to the bucket. You can have up to 1,000 inventory configurations per bucket. // This implementation of the PUT action adds an inventory configuration
// (identified by the inventory ID) to the bucket. You can have up to 1,000
// inventory configurations per bucket.
//
// Amazon S3 inventory generates inventories of the objects in the bucket on a // Amazon S3 inventory generates inventories of the objects in the bucket on a
// daily or weekly basis, and the results are published to a flat file. The bucket // daily or weekly basis, and the results are published to a flat file. The bucket
// that is inventoried is called the source bucket, and the bucket where the // that is inventoried is called the source bucket, and the bucket where the
// inventory flat file is stored is called the destination bucket. The destination // inventory flat file is stored is called the destination bucket. The destination
// bucket must be in the same Amazon Web Services Region as the source bucket. When // bucket must be in the same Amazon Web Services Region as the source bucket.
// you configure an inventory for a source bucket, you specify the destination //
// bucket where you want the inventory to be stored, and whether to generate the // When you configure an inventory for a source bucket, you specify the
// inventory daily or weekly. You can also configure what object metadata to // destination bucket where you want the inventory to be stored, and whether to
// include and whether to inventory all object versions or only current versions. // generate the inventory daily or weekly. You can also configure what object
// For more information, see Amazon S3 Inventory (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html) // metadata to include and whether to inventory all object versions or only current
// in the Amazon S3 User Guide. You must create a bucket policy on the destination // versions. For more information, see [Amazon S3 Inventory]in the Amazon S3 User Guide.
// bucket to grant permissions to Amazon S3 to write objects to the bucket in the //
// defined location. For an example policy, see Granting Permissions for Amazon S3 // You must create a bucket policy on the destination bucket to grant permissions
// Inventory and Storage Class Analysis (https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9) // to Amazon S3 to write objects to the bucket in the defined location. For an
// . Permissions To use this operation, you must have permission to perform the // example policy, see [Granting Permissions for Amazon S3 Inventory and Storage Class Analysis].
//
// Permissions To use this operation, you must have permission to perform the
// s3:PutInventoryConfiguration action. The bucket owner has this permission by // s3:PutInventoryConfiguration action. The bucket owner has this permission by
// default and can grant this permission to others. The // default and can grant this permission to others.
// s3:PutInventoryConfiguration permission allows a user to create an S3 Inventory (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html) //
// report that includes all object metadata fields available and to specify the // The s3:PutInventoryConfiguration permission allows a user to create an [S3 Inventory] report
// that includes all object metadata fields available and to specify the
// destination bucket to store the inventory. A user with read access to objects in // destination bucket to store the inventory. A user with read access to objects in
// the destination bucket can also access all object metadata fields that are // the destination bucket can also access all object metadata fields that are
// available in the inventory report. To restrict access to an inventory report, // available in the inventory report.
// see Restricting access to an Amazon S3 Inventory report (https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-use-case-10) //
// in the Amazon S3 User Guide. For more information about the metadata fields // To restrict access to an inventory report, see [Restricting access to an Amazon S3 Inventory report] in the Amazon S3 User Guide.
// available in S3 Inventory, see Amazon S3 Inventory lists (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html#storage-inventory-contents) // For more information about the metadata fields available in S3 Inventory, see [Amazon S3 Inventory lists]
// in the Amazon S3 User Guide. For more information about permissions, see // in the Amazon S3 User Guide. For more information about permissions, see [Permissions related to bucket subresource operations]and [Identity and access management in Amazon S3]
// 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) // in the Amazon S3 User Guide.
// and Identity and access management in Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) //
// in the Amazon S3 User Guide. PutBucketInventoryConfiguration has the following // PutBucketInventoryConfiguration has the following special errors:
// special errors: HTTP 400 Bad Request Error Code: InvalidArgument Cause: Invalid //
// Argument HTTP 400 Bad Request Error Code: TooManyConfigurations Cause: You are // HTTP 400 Bad Request Error Code: InvalidArgument
// attempting to create a new configuration but have already reached the //
// 1,000-configuration limit. HTTP 403 Forbidden Error Cause: You are not the owner // Cause: Invalid Argument
// of the specified bucket, or you do not have the s3:PutInventoryConfiguration //
// bucket permission to set the configuration on the bucket. The following // HTTP 400 Bad Request Error Code: TooManyConfigurations
// operations are related to PutBucketInventoryConfiguration : //
// - GetBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html) // Cause: You are attempting to create a new configuration but have already
// - DeleteBucketInventoryConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html) // reached the 1,000-configuration limit.
// - ListBucketInventoryConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html) //
// HTTP 403 Forbidden Error Cause: You are not the owner of the specified bucket,
// or you do not have the s3:PutInventoryConfiguration bucket permission to set
// the configuration on the bucket.
//
// The following operations are related to PutBucketInventoryConfiguration :
//
// [GetBucketInventoryConfiguration]
//
// [DeleteBucketInventoryConfiguration]
//
// [ListBucketInventoryConfigurations]
//
// [Granting Permissions for Amazon S3 Inventory and Storage Class Analysis]: https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9
// [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
// [S3 Inventory]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.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
// [DeleteBucketInventoryConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketInventoryConfiguration.html
// [Identity and access management in Amazon S3]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
// [Restricting access to an Amazon S3 Inventory report]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html#example-bucket-policies-use-case-10
// [Amazon S3 Inventory lists]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html#storage-inventory-contents
// [GetBucketInventoryConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html
func (c *Client) PutBucketInventoryConfiguration(ctx context.Context, params *PutBucketInventoryConfigurationInput, optFns ...func(*Options)) (*PutBucketInventoryConfigurationOutput, error) { func (c *Client) PutBucketInventoryConfiguration(ctx context.Context, params *PutBucketInventoryConfigurationInput, optFns ...func(*Options)) (*PutBucketInventoryConfigurationOutput, error) {
if params == nil { if params == nil {
params = &PutBucketInventoryConfigurationInput{} params = &PutBucketInventoryConfigurationInput{}

View file

@ -15,26 +15,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. Creates a new lifecycle // This operation is not supported by directory buckets.
// configuration for the bucket or replaces an existing lifecycle configuration. //
// Keep in mind that this will overwrite an existing lifecycle configuration, so if // Creates a new lifecycle configuration for the bucket or replaces an existing
// you want to retain any configuration details, they must be included in the new // lifecycle configuration. Keep in mind that this will overwrite an existing
// lifecycle configuration. For information about lifecycle configuration, see // lifecycle configuration, so if you want to retain any configuration details,
// Managing your storage lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) // they must be included in the new lifecycle configuration. For information about
// . Bucket lifecycle configuration now supports specifying a lifecycle rule using // lifecycle configuration, see [Managing your storage lifecycle].
//
// Bucket lifecycle configuration now supports specifying a lifecycle rule using
// an object key name prefix, one or more object tags, object size, or any // an object key name prefix, one or more object tags, object size, or any
// combination of these. Accordingly, this section describes the latest API. The // combination of these. Accordingly, this section describes the latest API. The
// previous version of the API supported filtering based only on an object key name // previous version of the API supported filtering based only on an object key name
// prefix, which is supported for backward compatibility. For the related API // prefix, which is supported for backward compatibility. For the related API
// description, see PutBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html) // description, see [PutBucketLifecycle].
// . Rules You specify the lifecycle configuration in your request body. The //
// Rules You specify the lifecycle configuration in your request body. The
// lifecycle configuration is specified as XML consisting of one or more rules. An // lifecycle configuration is specified as XML consisting of one or more rules. An
// Amazon S3 Lifecycle configuration can have up to 1,000 rules. This limit is not // Amazon S3 Lifecycle configuration can have up to 1,000 rules. This limit is not
// adjustable. Each rule consists of the following: // adjustable. Each rule consists of the following:
//
// - A filter identifying a subset of objects to which the rule applies. The // - A filter identifying a subset of objects to which the rule applies. The
// filter can be based on a key name prefix, object tags, object size, or any // filter can be based on a key name prefix, object tags, object size, or any
// combination of these. // combination of these.
//
// - A status indicating whether the rule is in effect. // - A status indicating whether the rule is in effect.
//
// - One or more lifecycle transition and expiration actions that you want // - One or more lifecycle transition and expiration actions that you want
// Amazon S3 to perform on the objects identified by the filter. If the state of // Amazon S3 to perform on the objects identified by the filter. If the state of
// your bucket is versioning-enabled or versioning-suspended, you can have many // your bucket is versioning-enabled or versioning-suspended, you can have many
@ -42,28 +48,44 @@ import (
// versions). Amazon S3 provides predefined actions that you can specify for // versions). Amazon S3 provides predefined actions that you can specify for
// current and noncurrent object versions. // current and noncurrent object versions.
// //
// For more information, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html) // For more information, see [Object Lifecycle Management] and [Lifecycle Configuration Elements].
// and Lifecycle Configuration Elements (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html) //
// . Permissions By default, all Amazon S3 resources are private, including // Permissions By default, all Amazon S3 resources are private, including buckets,
// buckets, objects, and related subresources (for example, lifecycle configuration // objects, and related subresources (for example, lifecycle configuration and
// and website configuration). Only the resource owner (that is, the Amazon Web // website configuration). Only the resource owner (that is, the Amazon Web
// Services account that created it) can access the resource. The resource owner // Services account that created it) can access the resource. The resource owner
// can optionally grant access permissions to others by writing an access policy. // can optionally grant access permissions to others by writing an access policy.
// For this operation, a user must get the s3:PutLifecycleConfiguration // For this operation, a user must get the s3:PutLifecycleConfiguration permission.
// permission. You can also explicitly deny permissions. An explicit deny also //
// supersedes any other permissions. If you want to block users or accounts from // You can also explicitly deny permissions. An explicit deny also supersedes any
// removing or deleting objects from your bucket, you must deny them permissions // other permissions. If you want to block users or accounts from removing or
// for the following actions: // deleting objects from your bucket, you must deny them permissions for the
// following actions:
//
// - s3:DeleteObject // - s3:DeleteObject
//
// - s3:DeleteObjectVersion // - s3:DeleteObjectVersion
//
// - s3:PutLifecycleConfiguration // - s3:PutLifecycleConfiguration
// //
// For more information about permissions, see Managing Access Permissions to Your // For more information about permissions, see [Managing Access Permissions to Your Amazon S3 Resources].
// Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) //
// . The following operations are related to PutBucketLifecycleConfiguration : // The following operations are related to PutBucketLifecycleConfiguration :
// - Examples of Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html) //
// - GetBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html) // [Examples of Lifecycle Configuration]
// - DeleteBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html) //
// [GetBucketLifecycleConfiguration]
//
// [DeleteBucketLifecycle]
//
// [Examples of Lifecycle Configuration]: https://docs.aws.amazon.com/AmazonS3/latest/dev/lifecycle-configuration-examples.html
// [Object Lifecycle Management]: https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html
// [Lifecycle Configuration Elements]: https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html
// [GetBucketLifecycleConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html
// [PutBucketLifecycle]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html
// [Managing Access Permissions to Your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
// [DeleteBucketLifecycle]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html
// [Managing your storage lifecycle]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html
func (c *Client) PutBucketLifecycleConfiguration(ctx context.Context, params *PutBucketLifecycleConfigurationInput, optFns ...func(*Options)) (*PutBucketLifecycleConfigurationOutput, error) { func (c *Client) PutBucketLifecycleConfiguration(ctx context.Context, params *PutBucketLifecycleConfigurationInput, optFns ...func(*Options)) (*PutBucketLifecycleConfigurationOutput, error) {
if params == nil { if params == nil {
params = &PutBucketLifecycleConfigurationInput{} params = &PutBucketLifecycleConfigurationInput{}
@ -90,10 +112,13 @@ type PutBucketLifecycleConfigurationInput struct {
// the SDK. This header will not provide any additional functionality if you don't // the SDK. This header will not provide any additional functionality if you don't
// use the SDK. When you send this header, there must be a corresponding // use the SDK. When you send this header, there must be a corresponding
// x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
// request with the HTTP status code 400 Bad Request . For more information, see // request with the HTTP status code 400 Bad Request . 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. If you provide an individual checksum, Amazon S3 //
// ignores any provided ChecksumAlgorithm parameter. // If you provide an individual checksum, Amazon S3 ignores any provided
// ChecksumAlgorithm parameter.
//
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
ChecksumAlgorithm types.ChecksumAlgorithm ChecksumAlgorithm types.ChecksumAlgorithm
// 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

View file

@ -15,39 +15,68 @@ 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. Set the logging // This operation is not supported by directory buckets.
// parameters for a bucket and to specify permissions for who can view and modify //
// the logging parameters. All logs are saved to buckets in the same Amazon Web // Set the logging parameters for a bucket and to specify permissions for who can
// Services Region as the source bucket. To set the logging status of a bucket, you // view and modify the logging parameters. All logs are saved to buckets in the
// must be the bucket owner. The bucket owner is automatically granted FULL_CONTROL // same Amazon Web Services Region as the source bucket. To set the logging status
// to all logs. You use the Grantee request element to grant access to other // of a bucket, you must be the bucket owner.
// people. The Permissions request element specifies the kind of access the //
// grantee has to the logs. If the target bucket for log delivery uses the bucket // The bucket owner is automatically granted FULL_CONTROL to all logs. You use the
// owner enforced setting for S3 Object Ownership, you can't use the Grantee // Grantee request element to grant access to other people. The Permissions
// request element to grant access to others. Permissions can only be granted using // request element specifies the kind of access the grantee has to the logs.
// policies. For more information, see Permissions for server access log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general) //
// in the Amazon S3 User Guide. Grantee Values You can specify the person (grantee) // If the target bucket for log delivery uses the bucket owner enforced setting
// to whom you're assigning access rights (by using request elements) in the // for S3 Object Ownership, you can't use the Grantee request element to grant
// following ways: // access to others. Permissions can only be granted using policies. For more
// - By the person's ID: <>ID<><>GranteesEmail<> DisplayName is optional and // information, see [Permissions for server access log delivery]in the Amazon S3 User Guide.
// ignored in the request. //
// - By Email address: <>Grantees@email.com<> The grantee is resolved to the // Grantee Values You can specify the person (grantee) to whom you're assigning
// CanonicalUser and, in a response to a GETObjectAcl request, appears as the // access rights (by using request elements) in the following ways:
// CanonicalUser. //
// - By URI: <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<> // - By the person's ID:
//
// <>ID<><>GranteesEmail<>
//
// DisplayName is optional and ignored in the request.
//
// - By Email address:
//
// <>Grantees@email.com<>
//
// The grantee is resolved to the CanonicalUser and, in a response to a
//
// GETObjectAcl request, appears as the CanonicalUser.
//
// - By URI:
//
// <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>
// //
// To enable logging, you use LoggingEnabled and its children request elements. To // To enable logging, you use LoggingEnabled and its children request elements. To
// disable logging, you use an empty BucketLoggingStatus request element: For // disable logging, you use an empty BucketLoggingStatus request element:
// more information about server access logging, see Server Access Logging (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html) //
// in the Amazon S3 User Guide. For more information about creating a bucket, see // For more information about server access logging, see [Server Access Logging] in the Amazon S3 User
// CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // Guide.
// . For more information about returning the logging status of a bucket, see //
// GetBucketLogging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html) // For more information about creating a bucket, see [CreateBucket]. For more information about
// . The following operations are related to PutBucketLogging : // returning the logging status of a bucket, see [GetBucketLogging].
// - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) //
// - DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) // The following operations are related to PutBucketLogging :
// - CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) //
// - GetBucketLogging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html) // [PutObject]
//
// [DeleteBucket]
//
// [CreateBucket]
//
// [GetBucketLogging]
//
// [Permissions for server access log delivery]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general
// [DeleteBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html
// [GetBucketLogging]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html
// [PutObject]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html
// [CreateBucket]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html
// [Server Access Logging]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html
func (c *Client) PutBucketLogging(ctx context.Context, params *PutBucketLoggingInput, optFns ...func(*Options)) (*PutBucketLoggingOutput, error) { func (c *Client) PutBucketLogging(ctx context.Context, params *PutBucketLoggingInput, optFns ...func(*Options)) (*PutBucketLoggingOutput, error) {
if params == nil { if params == nil {
params = &PutBucketLoggingInput{} params = &PutBucketLoggingInput{}
@ -79,15 +108,19 @@ type PutBucketLoggingInput struct {
// the SDK. This header will not provide any additional functionality if you don't // the SDK. This header will not provide any additional functionality if you don't
// use the SDK. When you send this header, there must be a corresponding // use the SDK. When you send this header, there must be a corresponding
// x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
// request with the HTTP status code 400 Bad Request . For more information, see // request with the HTTP status code 400 Bad Request . 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. If you provide an individual checksum, Amazon S3 //
// ignores any provided ChecksumAlgorithm parameter. // If you provide an individual checksum, Amazon S3 ignores any provided
// ChecksumAlgorithm parameter.
//
// [Checking object integrity]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html
ChecksumAlgorithm types.ChecksumAlgorithm ChecksumAlgorithm types.ChecksumAlgorithm
// The MD5 hash of the PutBucketLogging request body. For requests made using the // The MD5 hash of the PutBucketLogging request body.
// Amazon Web Services Command Line Interface (CLI) or Amazon Web Services SDKs, //
// this field is calculated automatically. // For requests made using the Amazon Web Services Command Line Interface (CLI) or
// Amazon Web Services SDKs, this field is calculated automatically.
ContentMD5 *string ContentMD5 *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

View file

@ -14,29 +14,44 @@ 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. Sets a metrics // This operation is not supported by directory buckets.
// configuration (specified by the metrics configuration ID) for the bucket. You //
// can have up to 1,000 metrics configurations per bucket. If you're updating an // Sets a metrics configuration (specified by the metrics configuration ID) for
// existing metrics configuration, note that this is a full replacement of the // the bucket. You can have up to 1,000 metrics configurations per bucket. If
// existing metrics configuration. If you don't include the elements you want to // you're updating an existing metrics configuration, note that this is a full
// keep, they are erased. To use this operation, you must have permissions to // replacement of the existing metrics configuration. If you don't include the
// perform the s3:PutMetricsConfiguration action. The bucket owner has this // elements you want to keep, they are erased.
// 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 PutBucketMetricsConfiguration : // For information about CloudWatch request metrics for Amazon S3, see [Monitoring Metrics with Amazon CloudWatch].
// - DeleteBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html) //
// - GetBucketMetricsConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetricsConfiguration.html) // The following operations are related to PutBucketMetricsConfiguration :
// - ListBucketMetricsConfigurations (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketMetricsConfigurations.html) //
// [DeleteBucketMetricsConfiguration]
//
// [GetBucketMetricsConfiguration]
//
// [ListBucketMetricsConfigurations]
// //
// PutBucketMetricsConfiguration has the following special error: // PutBucketMetricsConfiguration has the following special error:
//
// - Error code: TooManyConfigurations // - Error code: TooManyConfigurations
//
// - Description: You are attempting to create a new configuration but have // - Description: You are attempting to create a new configuration but have
// already reached the 1,000-configuration limit. // already reached the 1,000-configuration limit.
//
// - HTTP Status Code: HTTP 400 Bad Request // - HTTP Status Code: HTTP 400 Bad Request
//
// [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
// [DeleteBucketMetricsConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html
// [Managing Access Permissions to Your Amazon S3 Resources]: https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html
func (c *Client) PutBucketMetricsConfiguration(ctx context.Context, params *PutBucketMetricsConfigurationInput, optFns ...func(*Options)) (*PutBucketMetricsConfigurationOutput, error) { func (c *Client) PutBucketMetricsConfiguration(ctx context.Context, params *PutBucketMetricsConfigurationInput, optFns ...func(*Options)) (*PutBucketMetricsConfigurationOutput, error) {
if params == nil { if params == nil {
params = &PutBucketMetricsConfigurationInput{} params = &PutBucketMetricsConfigurationInput{}

View file

@ -14,41 +14,59 @@ 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. Enables notifications of // This operation is not supported by directory buckets.
// specified events for a bucket. For more information about event notifications, //
// see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) // Enables notifications of specified events for a bucket. For more information
// . Using this API, you can replace an existing notification configuration. The // about event notifications, see [Configuring Event Notifications].
//
// Using this API, you can replace an existing notification configuration. The
// configuration is an XML file that defines the event types that you want Amazon // configuration is an XML file that defines the event types that you want Amazon
// S3 to publish and the destination where you want Amazon S3 to publish an event // S3 to publish and the destination where you want Amazon S3 to publish an event
// notification when it detects an event of the specified type. By default, your // notification when it detects an event of the specified type.
// bucket has no event notifications configured. That is, the notification //
// configuration will be an empty NotificationConfiguration . This action // By default, your bucket has no event notifications configured. That is, the
// replaces the existing notification configuration with the configuration you // notification configuration will be an empty NotificationConfiguration .
// include in the request body. After Amazon S3 receives this request, it first //
// verifies that any Amazon Simple Notification Service (Amazon SNS) or Amazon // This action replaces the existing notification configuration with the
// Simple Queue Service (Amazon SQS) destination exists, and that the bucket owner // configuration you include in the request body.
// has permission to publish to it by sending a test notification. In the case of //
// Lambda destinations, Amazon S3 verifies that the Lambda function permissions // After Amazon S3 receives this request, it first verifies that any Amazon Simple
// grant Amazon S3 permission to invoke the function from the Amazon S3 bucket. For // Notification Service (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS)
// more information, see Configuring Notifications for Amazon S3 Events (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html) // destination exists, and that the bucket owner has permission to publish to it by
// . You can disable notifications by adding the empty NotificationConfiguration // sending a test notification. In the case of Lambda destinations, Amazon S3
// element. For more information about the number of event notification // verifies that the Lambda function permissions grant Amazon S3 permission to
// configurations that you can create per bucket, see Amazon S3 service quotas (https://docs.aws.amazon.com/general/latest/gr/s3.html#limits_s3) // invoke the function from the Amazon S3 bucket. For more information, see [Configuring Notifications for Amazon S3 Events].
// in Amazon Web Services General Reference. By default, only the bucket owner can //
// configure notifications on a bucket. However, bucket owners can use a bucket // You can disable notifications by adding the empty NotificationConfiguration
// policy to grant permission to other users to set this configuration with the // element.
// required s3:PutBucketNotification permission. The PUT notification is an atomic //
// operation. For example, suppose your notification configuration includes SNS // For more information about the number of event notification configurations that
// topic, SQS queue, and Lambda function configurations. When you send a PUT // you can create per bucket, see [Amazon S3 service quotas]in Amazon Web Services General Reference.
// request with this configuration, Amazon S3 sends test messages to your SNS //
// topic. If the message fails, the entire PUT action will fail, and Amazon S3 will // By default, only the bucket owner can configure notifications on a bucket.
// not add the configuration to your bucket. If the configuration in the request // However, bucket owners can use a bucket policy to grant permission to other
// body includes only one TopicConfiguration specifying only the // users to set this configuration with the required s3:PutBucketNotification
// s3:ReducedRedundancyLostObject event type, the response will also include the // permission.
// x-amz-sns-test-message-id header containing the message ID of the test //
// notification sent to the topic. The following action is related to // The PUT notification is an atomic operation. For example, suppose your
// PutBucketNotificationConfiguration : // notification configuration includes SNS topic, SQS queue, and Lambda function
// - GetBucketNotificationConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html) // configurations. When you send a PUT request with this configuration, Amazon S3
// sends test messages to your SNS topic. If the message fails, the entire PUT
// action will fail, and Amazon S3 will not add the configuration to your bucket.
//
// If the configuration in the request body includes only one TopicConfiguration
// specifying only the s3:ReducedRedundancyLostObject event type, the response
// will also include the x-amz-sns-test-message-id header containing the message
// ID of the test notification sent to the topic.
//
// The following action is related to PutBucketNotificationConfiguration :
//
// [GetBucketNotificationConfiguration]
//
// [Configuring Notifications for Amazon S3 Events]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
// [Amazon S3 service quotas]: https://docs.aws.amazon.com/general/latest/gr/s3.html#limits_s3
// [GetBucketNotificationConfiguration]: https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html
// [Configuring Event Notifications]: https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html
func (c *Client) PutBucketNotificationConfiguration(ctx context.Context, params *PutBucketNotificationConfigurationInput, optFns ...func(*Options)) (*PutBucketNotificationConfigurationOutput, error) { func (c *Client) PutBucketNotificationConfiguration(ctx context.Context, params *PutBucketNotificationConfigurationInput, optFns ...func(*Options)) (*PutBucketNotificationConfigurationOutput, error) {
if params == nil { if params == nil {
params = &PutBucketNotificationConfigurationInput{} params = &PutBucketNotificationConfigurationInput{}

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