vendor: make vendor-update

This commit is contained in:
Aliaksandr Valialkin 2023-03-31 23:59:18 -07:00
parent dd200409d9
commit 02b714c110
No known key found for this signature in database
GPG key ID: A72BEC6CD3D0DED1
57 changed files with 1520 additions and 828 deletions

10
go.mod
View file

@ -15,8 +15,8 @@ require (
github.com/VictoriaMetrics/metricsql v0.56.1 github.com/VictoriaMetrics/metricsql v0.56.1
github.com/aws/aws-sdk-go-v2 v1.17.7 github.com/aws/aws-sdk-go-v2 v1.17.7
github.com/aws/aws-sdk-go-v2/config v1.18.19 github.com/aws/aws-sdk-go-v2/config v1.18.19
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.59 github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.60
github.com/aws/aws-sdk-go-v2/service/s3 v1.31.0 github.com/aws/aws-sdk-go-v2/service/s3 v1.31.1
github.com/cespare/xxhash/v2 v2.2.0 github.com/cespare/xxhash/v2 v2.2.0
github.com/cheggaaa/pb/v3 v3.1.2 github.com/cheggaaa/pb/v3 v3.1.2
github.com/gogo/protobuf v1.3.2 github.com/gogo/protobuf v1.3.2
@ -47,7 +47,7 @@ require (
github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0 // indirect
github.com/VividCortex/ewma v1.2.0 // indirect github.com/VividCortex/ewma v1.2.0 // indirect
github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect
github.com/aws/aws-sdk-go v1.44.230 // indirect github.com/aws/aws-sdk-go v1.44.234 // indirect
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 // indirect
github.com/aws/aws-sdk-go-v2/credentials v1.13.18 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.13.18 // indirect
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.1 // indirect github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.1 // indirect
@ -71,7 +71,7 @@ require (
github.com/felixge/httpsnoop v1.0.3 // indirect github.com/felixge/httpsnoop v1.0.3 // indirect
github.com/go-kit/log v0.2.1 // indirect github.com/go-kit/log v0.2.1 // indirect
github.com/go-logfmt/logfmt v0.6.0 // indirect github.com/go-logfmt/logfmt v0.6.0 // indirect
github.com/go-logr/logr v1.2.3 // indirect github.com/go-logr/logr v1.2.4 // indirect
github.com/go-logr/stdr v1.2.2 // indirect github.com/go-logr/stdr v1.2.2 // indirect
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/protobuf v1.5.3 // indirect github.com/golang/protobuf v1.5.3 // indirect
@ -112,7 +112,7 @@ require (
golang.org/x/time v0.3.0 // indirect golang.org/x/time v0.3.0 // indirect
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
google.golang.org/appengine v1.6.7 // indirect google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20230327215041-6ac7f18bb9d5 // indirect google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633 // indirect
google.golang.org/grpc v1.54.0 // indirect google.golang.org/grpc v1.54.0 // indirect
google.golang.org/protobuf v1.30.0 // indirect google.golang.org/protobuf v1.30.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect

20
go.sum
View file

@ -86,8 +86,8 @@ github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu
github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
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/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.44.230 h1:dcn7TjLyx/31I+0XytMGYRxDc756BRUzsSYVcSyKZlk= github.com/aws/aws-sdk-go v1.44.234 h1:8YbQ5AhpgV/cC7jYX8qS34Am/vcn2ZoIFJ1qIgwOL+0=
github.com/aws/aws-sdk-go v1.44.230/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go v1.44.234/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI=
github.com/aws/aws-sdk-go-v2 v1.17.7 h1:CLSjnhJSTSogvqUGhIC6LqFKATMRexcxLZ0i/Nzk9Eg= github.com/aws/aws-sdk-go-v2 v1.17.7 h1:CLSjnhJSTSogvqUGhIC6LqFKATMRexcxLZ0i/Nzk9Eg=
github.com/aws/aws-sdk-go-v2 v1.17.7/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2 v1.17.7/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw=
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 h1:dK82zF6kkPeCo8J1e+tGx4JdvDIQzj7ygIoLg8WMuGs= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 h1:dK82zF6kkPeCo8J1e+tGx4JdvDIQzj7ygIoLg8WMuGs=
@ -98,8 +98,8 @@ github.com/aws/aws-sdk-go-v2/credentials v1.13.18 h1:EQMdtHwz0ILTW1hoP+EwuWhwCG1
github.com/aws/aws-sdk-go-v2/credentials v1.13.18/go.mod h1:vnwlwjIe+3XJPBYKu1et30ZPABG3VaXJYr8ryohpIyM= github.com/aws/aws-sdk-go-v2/credentials v1.13.18/go.mod h1:vnwlwjIe+3XJPBYKu1et30ZPABG3VaXJYr8ryohpIyM=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.1 h1:gt57MN3liKiyGopcqgNzJb2+d9MJaKT/q1OksHNXVE4= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.1 h1:gt57MN3liKiyGopcqgNzJb2+d9MJaKT/q1OksHNXVE4=
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.1/go.mod h1:lfUx8puBRdM5lVVMQlwt2v+ofiG/X6Ms+dy0UkG/kXw= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.13.1/go.mod h1:lfUx8puBRdM5lVVMQlwt2v+ofiG/X6Ms+dy0UkG/kXw=
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.59 h1:E3Y+OfzOK1+rmRo/K2G0ml8Vs+Xqk0kOnf4nS0kUtBc= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.60 h1:BRLcU36boYxw6BPOEvwJbDPuCtP7FqMhXMFk2NM6poM=
github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.59/go.mod h1:1M4PLSBUVfBI0aP+C9XI7SM6kZPCGYyI6izWz0TGprE= github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.60/go.mod h1:HLWzCoNyzaPkOOs9yZ3muJ91lSk8O9DJbJw5aKAWWHY=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.31 h1:sJLYcS+eZn5EeNINGHSCRAwUJMFVqklwkH36Vbyai7M= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.31 h1:sJLYcS+eZn5EeNINGHSCRAwUJMFVqklwkH36Vbyai7M=
github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.31/go.mod h1:QT0BqUvX1Bh2ABdTGnjqEjvjzrCfIniM9Sc8zn9Yndo= github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.31/go.mod h1:QT0BqUvX1Bh2ABdTGnjqEjvjzrCfIniM9Sc8zn9Yndo=
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.25 h1:1mnRASEKnkqsntcxHaysxwgVoUUp5dkiB+l3llKnqyg= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.25 h1:1mnRASEKnkqsntcxHaysxwgVoUUp5dkiB+l3llKnqyg=
@ -116,8 +116,8 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.25 h1:5LHn8JQ0q
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.25/go.mod h1:/95IA+0lMnzW6XzqYJRpjjsAbKEORVeO0anQqjd2CNU= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.25/go.mod h1:/95IA+0lMnzW6XzqYJRpjjsAbKEORVeO0anQqjd2CNU=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.0 h1:e2ooMhpYGhDnBfSvIyusvAwX7KexuZaHbQY2Dyei7VU= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.0 h1:e2ooMhpYGhDnBfSvIyusvAwX7KexuZaHbQY2Dyei7VU=
github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.0/go.mod h1:bh2E0CXKZsQN+faiKVqC40vfNMAWheoULBCnEgO9K+8= github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.14.0/go.mod h1:bh2E0CXKZsQN+faiKVqC40vfNMAWheoULBCnEgO9K+8=
github.com/aws/aws-sdk-go-v2/service/s3 v1.31.0 h1:B1G2pSPvbAtQjilPq+Y7jLIzCOwKzuVEl+aBBaNG0AQ= github.com/aws/aws-sdk-go-v2/service/s3 v1.31.1 h1:PJH4I+qYjPXclKRbVCW47iYUvtXEh1u6YmDhn5J8VQE=
github.com/aws/aws-sdk-go-v2/service/s3 v1.31.0/go.mod h1:ncltU6n4Nof5uJttDtcNQ537uNuwYqsZZQcpkd2/GUQ= github.com/aws/aws-sdk-go-v2/service/s3 v1.31.1/go.mod h1:ncltU6n4Nof5uJttDtcNQ537uNuwYqsZZQcpkd2/GUQ=
github.com/aws/aws-sdk-go-v2/service/sso v1.12.6 h1:5V7DWLBd7wTELVz5bPpwzYy/sikk0gsgZfj40X+l5OI= github.com/aws/aws-sdk-go-v2/service/sso v1.12.6 h1:5V7DWLBd7wTELVz5bPpwzYy/sikk0gsgZfj40X+l5OI=
github.com/aws/aws-sdk-go-v2/service/sso v1.12.6/go.mod h1:Y1VOmit/Fn6Tz1uFAeCO6Q7M2fmfXSCLeL5INVYsLuY= github.com/aws/aws-sdk-go-v2/service/sso v1.12.6/go.mod h1:Y1VOmit/Fn6Tz1uFAeCO6Q7M2fmfXSCLeL5INVYsLuY=
github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.6 h1:B8cauxOH1W1v7rd8RdI/MWnoR4Ze0wIHWrb90qczxj4= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.6 h1:B8cauxOH1W1v7rd8RdI/MWnoR4Ze0wIHWrb90qczxj4=
@ -182,8 +182,8 @@ github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG
github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4= github.com/go-logfmt/logfmt v0.6.0 h1:wGYYu3uicYdqXVgoYbvnkrPVXkuLM1p1ifugDMEdRi4=
github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logfmt/logfmt v0.6.0/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs=
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/logr v1.2.3 h1:2DntVwHkVopvECVRSlL5PSo9eG+cAkDCuckLubN+rq0= github.com/go-logr/logr v1.2.4 h1:g01GSCwiDw2xSZfjJ2/T9M+S6pFdcNtFYsp+Y43HYDQ=
github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE= github.com/go-openapi/jsonpointer v0.19.6 h1:eCs3fxoIi3Wh6vtgmLTOjdhSpiqphQ+DaPn38N2ZdrE=
@ -729,8 +729,8 @@ 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-20230327215041-6ac7f18bb9d5 h1:Kd6tRRHXw8z4TlPlWi+NaK10gsePL6GdZBQChptOLGA= google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633 h1:0BOZf6qNozI3pkN3fJLwNubheHJYHhMh91GRFOWWK08=
google.golang.org/genproto v0.0.0-20230327215041-6ac7f18bb9d5/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak=
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=

View file

@ -1,3 +1,7 @@
# v1.11.60 (2023-03-31)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.11.59 (2023-03-21) # v1.11.59 (2023-03-21)
* **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.11.59" const goModuleVersion = "1.11.60"

View file

@ -1,3 +1,7 @@
# v1.31.1 (2023-03-31)
* **Documentation**: Documentation updates for Amazon S3
# v1.31.0 (2023-03-21) # v1.31.0 (2023-03-21)
* **Feature**: port v1 sdk 100-continue http header customization for s3 PutObject/UploadPart request and enable user config * **Feature**: port v1 sdk 100-continue http header customization for s3 PutObject/UploadPart request and enable user config

View file

@ -70,13 +70,13 @@ type AbortMultipartUploadInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //

View file

@ -26,10 +26,16 @@ import (
// minutes to complete. After Amazon S3 begins processing the request, it sends an // minutes to complete. After Amazon S3 begins processing the request, it sends an
// HTTP response header that specifies a 200 OK response. While processing is in // HTTP response header that specifies a 200 OK response. While processing is in
// progress, Amazon S3 periodically sends white space characters to keep the // progress, Amazon S3 periodically sends white space characters to keep the
// connection from timing out. Because a request could fail after the initial 200 // connection from timing out. A request could fail after the initial 200 OK
// OK response has been sent, it is important that you check the response body to // response has been sent. This means that a 200 OK response can contain either a
// determine whether the request succeeded. Note that if CompleteMultipartUpload // success or an error. If you call the S3 API directly, make sure to design your
// fails, applications should be prepared to retry the failed requests. For more // application to parse the contents of the response and handle it appropriately.
// If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect
// the embedded error and apply error handling per your configuration settings
// (including automatically retrying the request as appropriate). If the condition
// persists, the SDKs throws an exception (or, for the SDKs that don't use
// exceptions, they return the error). Note that if CompleteMultipartUpload fails,
// applications should be prepared to retry the failed requests. For more
// information, see Amazon S3 Error Best Practices // information, see Amazon S3 Error Best Practices
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html). You // (https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html). You
// cannot use Content-Type: application/x-www-form-urlencoded with Complete // cannot use Content-Type: application/x-www-form-urlencoded with Complete
@ -123,13 +129,13 @@ type CompleteMultipartUploadInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //
@ -229,13 +235,13 @@ type CompleteMultipartUploadOutput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
Bucket *string Bucket *string
@ -302,14 +308,12 @@ type CompleteMultipartUploadOutput struct {
RequestCharged types.RequestCharged RequestCharged types.RequestCharged
// If present, specifies the ID of the Amazon Web Services Key Management Service // If present, specifies the ID of the Amazon Web Services Key Management Service
// (Amazon Web Services KMS) symmetric customer managed key that was used for the // (Amazon Web Services KMS) symmetric encryption customer managed key that was
// object. // used for the object.
SSEKMSKeyId *string SSEKMSKeyId *string
// If you specified server-side encryption either with an Amazon S3-managed // The server-side encryption algorithm used when storing this object in Amazon S3
// encryption key or an Amazon Web Services KMS key in your initiate multipart // (for example, AES256, aws:kms).
// upload request, the response includes this header. It confirms the encryption
// algorithm that Amazon S3 used to encrypt the object.
ServerSideEncryption types.ServerSideEncryption ServerSideEncryption types.ServerSideEncryption
// Version ID of the newly created object, in case the bucket has versioning turned // Version ID of the newly created object, in case the bucket has versioning turned

View file

@ -30,10 +30,15 @@ import (
// the files. If the error occurs before the copy action starts, you receive a // the files. If the error occurs before the copy action starts, you receive a
// standard Amazon S3 error. If the error occurs during the copy operation, the // standard Amazon S3 error. If the error occurs during the copy operation, the
// error response is embedded in the 200 OK response. This means that a 200 OK // error response is embedded in the 200 OK response. This means that a 200 OK
// response can contain either a success or an error. Design your application to // response can contain either a success or an error. If you call the S3 API
// parse the contents of the response and handle it appropriately. If the copy is // directly, make sure to design your application to parse the contents of the
// successful, you receive a response with information about the copied object. If // response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs
// the request is an HTTP 1.1 request, the response is chunk encoded. If it were // handle this condition. The SDKs detect the embedded error and apply error
// handling per your configuration settings (including automatically retrying the
// request as appropriate). If the condition persists, the SDKs throws an exception
// (or, for the SDKs that don't use exceptions, they return the error). If the copy
// is successful, you receive a response with information about the copied object.
// If the request is an HTTP 1.1 request, the response is chunk encoded. If it were
// not, it would not contain the content-length, and you would need to read the // not, it would not contain the content-length, and you would need to read the
// entire body. The copy request charge is based on the storage class and Region // entire body. The copy request charge is based on the storage class and Region
// that you specify for the destination object. For pricing information, see Amazon // that you specify for the destination object. For pricing information, see Amazon
@ -57,50 +62,66 @@ import (
// the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition // the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition
// keys, see Actions, Resources, and Condition Keys for Amazon S3 // keys, see Actions, Resources, and Condition Keys for Amazon S3
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html). // (https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html).
// x-amz-copy-source-if Headers To only copy an object under certain conditions, // x-amz-website-redirect-location is unique to each object and must be specified
// such as whether the Etag matches or whether the object was modified before or // in the request headers to copy the value. x-amz-copy-source-if Headers To only
// after a specified date, use the following request parameters: // copy an object under certain conditions, such as whether the Etag matches or
// whether the object was modified before or after a specified date, use the
// following request parameters:
//
// * x-amz-copy-source-if-match
// //
// * // *
// x-amz-copy-source-if-match // x-amz-copy-source-if-none-match
// //
// * x-amz-copy-source-if-none-match // * x-amz-copy-source-if-unmodified-since
// //
// * // *
// x-amz-copy-source-if-unmodified-since // x-amz-copy-source-if-modified-since
// //
// * x-amz-copy-source-if-modified-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 200 OK and copies the data:
// //
// If // *
// both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since // x-amz-copy-source-if-match condition evaluates to true
// headers are present in the request and evaluate as follows, Amazon S3 returns
// 200 OK and copies the data:
// //
// * x-amz-copy-source-if-match condition evaluates to // *
// x-amz-copy-source-if-unmodified-since condition evaluates to false
//
// 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 // true
// //
// * x-amz-copy-source-if-unmodified-since condition evaluates to false // All headers with the x-amz- prefix, including x-amz-copy-source, must be
// // signed. Server-side encryption Amazon S3 automatically encrypts all new objects
// If // that are copied to an S3 bucket. When copying an object, if you don't specify
// both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since // encryption information in your copy request, the encryption setting of the
// headers are present in the request and evaluate as follows, Amazon S3 returns // target object is set to the default encryption configuration of the destination
// the 412 Precondition Failed response code: // bucket. By default, all buckets have a base level of encryption configuration
// // that uses server-side encryption with Amazon S3 managed keys (SSE-S3). If the
// * x-amz-copy-source-if-none-match // destination bucket has a default encryption configuration that uses server-side
// condition evaluates to false // encryption with an Key Management Service (KMS) key (SSE-KMS), or a
// // customer-provided encryption key (SSE-C), Amazon S3 uses the corresponding KMS
// * x-amz-copy-source-if-modified-since condition // key, or a customer-provided key to encrypt the target object copy. When you
// evaluates to true // perform a CopyObject operation, if you want to use a different type of
// // encryption setting for the target object, you can use other appropriate
// All headers with the x-amz- prefix, including // encryption-related headers to encrypt the target object with a KMS key, an
// x-amz-copy-source, must be signed. Server-side encryption When you perform a // Amazon S3 managed key, or a customer-provided key. With server-side encryption,
// CopyObject operation, you can optionally use the appropriate encryption-related // Amazon S3 encrypts your data as it writes it to disks in its data centers and
// headers to encrypt the object using server-side encryption with Amazon Web // decrypts the data when you access it. If the encryption setting in your request
// Services managed encryption keys (SSE-S3 or SSE-KMS) or a customer-provided // is different from the default encryption configuration of the destination
// encryption key. With server-side encryption, Amazon S3 encrypts your data as it // bucket, the encryption setting in your request takes precedence. If the source
// writes it to disks in its data centers and decrypts the data when you access it. // object for the copy is stored in Amazon S3 using SSE-C, you must provide the
// For more information about server-side encryption, see Using Server-Side // necessary encryption information in your request so that Amazon S3 can decrypt
// Encryption // the object for copying. For more information about server-side encryption, see
// Using Server-Side Encryption
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html). If // (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html). If
// a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object. // a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object.
// For more information, see Amazon S3 Bucket Keys // For more information, see Amazon S3 Bucket Keys
@ -182,13 +203,13 @@ type CopyObjectInput struct {
// SDKs, you provide the access point ARN in place of the bucket name. For more // SDKs, you provide the access point ARN in place of the bucket name. For more
// information about access point ARNs, see Using access points // information about access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //
@ -404,7 +425,9 @@ type CopyObjectInput struct {
// 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. // 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 header. Instead, you
// may opt to provide this header in combination with the directive.
WebsiteRedirectLocation *string WebsiteRedirectLocation *string
noSmithyDocumentSerde noSmithyDocumentSerde
@ -444,8 +467,8 @@ type CopyObjectOutput struct {
SSEKMSEncryptionContext *string SSEKMSEncryptionContext *string
// If present, specifies the ID of the Amazon Web Services Key Management Service // If present, specifies the ID of the Amazon Web Services Key Management Service
// (Amazon Web Services KMS) symmetric customer managed key that was used for the // (Amazon Web Services KMS) symmetric encryption customer managed key that was
// object. // used for the object.
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

View file

@ -42,23 +42,41 @@ import (
// being charged for storing the uploaded parts, you must either complete or abort // being charged for storing the uploaded parts, you must either complete or abort
// the multipart upload. Amazon S3 frees up the space used to store the parts and // the multipart upload. Amazon S3 frees up the space used to store the parts and
// stop charging you for storing them only after you either complete or abort a // stop charging you for storing them only after you either complete or abort a
// multipart upload. You can optionally request server-side encryption. For // multipart upload. Server-side encryption is for data encryption at rest. Amazon
// server-side encryption, Amazon S3 encrypts your data as it writes it to disks in // S3 encrypts your data as it writes it to disks in its data centers and decrypts
// its data centers and decrypts it when you access it. You can provide your own // it when you access it. Amazon S3 automatically encrypts all new objects that are
// encryption key, or use Amazon Web Services KMS keys or Amazon S3-managed // uploaded to an S3 bucket. When doing a multipart upload, if you don't specify
// encryption keys. If you choose to provide your own encryption key, the request // encryption information in your request, the encryption setting of the uploaded
// headers you provide in UploadPart // parts is set to the default encryption configuration of the destination bucket.
// By default, all 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 default encryption configuration that uses server-side encryption
// with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided
// encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a
// customer-provided key to encrypt the uploaded parts. When you perform a
// CreateMultipartUpload operation, if you want to use a different type of
// encryption setting for the uploaded parts, you can request that Amazon S3
// encrypts the object with a KMS key, an Amazon S3 managed key, or a
// customer-provided key. If the encryption setting in your request is different
// from the default encryption configuration of the destination bucket, the
// encryption setting in your request takes precedence. If 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) and // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html) and
// UploadPartCopy // UploadPartCopy
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html) // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)
// requests must match the headers you used in the request to initiate the upload // requests must match the headers you used in the request to initiate the upload
// by using CreateMultipartUpload. To perform a multipart upload with encryption // by using CreateMultipartUpload. you can request that Amazon S3 save the uploaded
// using an Amazon Web Services KMS key, the requester must have permission to the // parts encrypted with server-side encryption with an Amazon S3 managed key
// (SSE-S3), an Key Management Service (KMS) key (SSE-KMS), or a customer-provided
// encryption key (SSE-C). 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 kms:GenerateDataKey* actions on the key. These permissions are // 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 // required because Amazon S3 must decrypt and read data from the encrypted file
// parts before it completes the multipart upload. For more information, see // parts before it completes the multipart upload. For more information, see
// Multipart upload API and permissions // Multipart upload API and permissions
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions)
// 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 // in the Amazon S3 User Guide. 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 // or role is in the same Amazon Web Services account as the KMS key, then you must
// have these permissions on the key policy. If your IAM user or role belongs to a // have these permissions on the key policy. If your IAM user or role belongs to a
@ -84,23 +102,24 @@ import (
// //
// You can // You can
// use either a canned ACL or specify access permissions explicitly. You cannot do // use either a canned ACL or specify access permissions explicitly. You cannot do
// both. Server-Side- Encryption-Specific Request Headers You can optionally tell // both. Server-Side- Encryption-Specific Request Headers Amazon S3 encrypts data
// Amazon S3 to encrypt data at rest using server-side encryption. Server-side // by using server-side encryption with an Amazon S3 managed key (SSE-S3) by
// encryption is for data encryption at rest. Amazon S3 encrypts your data as it // default. Server-side encryption is for data encryption at rest. Amazon S3
// writes it to disks in its data centers and decrypts it when you access it. The // encrypts your data as it writes it to disks in its data centers and decrypts it
// option you use depends on whether you want to use Amazon Web Services managed // when you access it. You can request that Amazon S3 encrypts data at rest by
// encryption keys or provide your own encryption key. // using server-side encryption with other key options. The option you use depends
// on whether you want to use KMS keys (SSE-KMS) or provide your own encryption
// keys (SSE-C).
// //
// * Use encryption keys // * Use KMS keys (SSE-KMS) that include the Amazon Web Services
// managed by Amazon S3 or customer managed key stored in Amazon Web Services Key // managed key (aws/s3) and KMS customer managed keys stored in Key Management
// Management Service (Amazon Web Services KMS) If you want Amazon Web Services // Service (KMS) If you want Amazon Web Services to manage the keys used to
// to manage the keys used to encrypt data, specify the following headers in the // encrypt data, specify the following headers in the request.
// request.
//
// * x-amz-server-side-encryption
// //
// * // *
// x-amz-server-side-encryption-aws-kms-key-id // x-amz-server-side-encryption
//
// * x-amz-server-side-encryption-aws-kms-key-id
// //
// * // *
// x-amz-server-side-encryption-context // x-amz-server-side-encryption-context
@ -108,15 +127,15 @@ import (
// If you specify // If you specify
// x-amz-server-side-encryption:aws:kms, but don't provide // 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 in Amazon Web Services KMS to protect the data. All GET and // Services managed key (aws/s3 key) in KMS to protect the data. All GET and PUT
// PUT requests for an object protected by Amazon Web Services KMS fail if you // requests for an object protected by KMS fail if you don't make them by using
// don't make them with SSL or by using SigV4. For more information about // Secure Sockets Layer (SSL), Transport Layer Security (TLS), or Signature Version
// server-side encryption with KMS key (SSE-KMS), see Protecting Data Using // 4. For more information about server-side encryption with KMS keys (SSE-KMS),
// Server-Side Encryption with KMS keys // see Protecting Data Using Server-Side Encryption with KMS keys
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html).
// //
// * // *
// Use customer-provided encryption keys If you want to manage your own // Use customer-provided encryption keys (SSE-C) If you want to manage your own
// encryption keys, provide all the following headers in the request. // encryption keys, provide all the following headers in the request.
// //
// * // *
@ -129,9 +148,10 @@ import (
// x-amz-server-side-encryption-customer-key-MD5 // x-amz-server-side-encryption-customer-key-MD5
// //
// For more information about // For more information about
// server-side encryption with KMS keys (SSE-KMS), see Protecting Data Using // server-side encryption with customer-provided encryption keys (SSE-C), see
// Server-Side Encryption with KMS keys // Protecting data using server-side encryption with customer-provided encryption
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html). // keys (SSE-C)
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html).
// //
// Access-Control-List // Access-Control-List
// (ACL)-Specific Request Headers You also can use the following access // (ACL)-Specific Request Headers You also can use the following access
@ -258,13 +278,13 @@ type CreateMultipartUploadInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //
@ -375,11 +395,11 @@ type CreateMultipartUploadInput struct {
// JSON with the encryption context key-value pairs. // JSON with the encryption context key-value pairs.
SSEKMSEncryptionContext *string SSEKMSEncryptionContext *string
// Specifies the ID of the symmetric customer managed key to use for object // Specifies the ID of the symmetric encryption customer managed key to use for
// encryption. All GET and PUT requests for an object protected by Amazon Web // object encryption. All GET and PUT requests for an object protected by Amazon
// Services KMS will fail if not made via SSL or using SigV4. For information about // Web Services KMS will fail if not made via SSL or using SigV4. For information
// configuring using any of the officially supported Amazon Web Services SDKs and // about configuring using any of the officially supported Amazon Web Services SDKs
// Amazon Web Services CLI, see Specifying the Signature Version in Request // and Amazon Web Services CLI, see Specifying the Signature Version in Request
// Authentication // Authentication
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version) // (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version)
// in the Amazon S3 User Guide. // in the Amazon S3 User Guide.
@ -436,13 +456,13 @@ type CreateMultipartUploadOutput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
Bucket *string Bucket *string
@ -476,8 +496,8 @@ type CreateMultipartUploadOutput struct {
SSEKMSEncryptionContext *string SSEKMSEncryptionContext *string
// If present, specifies the ID of the Amazon Web Services Key Management Service // If present, specifies the ID of the Amazon Web Services Key Management Service
// (Amazon Web Services KMS) symmetric customer managed key that was used for the // (Amazon Web Services KMS) symmetric encryption customer managed key that was
// object. // used for the object.
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

View file

@ -11,9 +11,10 @@ import (
smithyhttp "github.com/aws/smithy-go/transport/http" smithyhttp "github.com/aws/smithy-go/transport/http"
) )
// This implementation of the DELETE action removes default encryption from the // This implementation of the DELETE action resets the default encryption for the
// bucket. For information about the Amazon S3 default encryption feature, see // bucket as server-side encryption with Amazon S3 managed keys (SSE-S3). For
// Amazon S3 Default Bucket Encryption // information about the bucket default encryption feature, see Amazon S3 Bucket
// Default Encryption
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the
// Amazon S3 User Guide. To use this operation, you must have permissions to // Amazon S3 User Guide. To use this operation, you must have permissions to
// perform the s3:PutEncryptionConfiguration action. The bucket owner has this // perform the s3:PutEncryptionConfiguration action. The bucket owner has this

View file

@ -63,7 +63,8 @@ type DeleteBucketMetricsConfigurationInput struct {
// This member is required. // This member is required.
Bucket *string Bucket *string
// The ID used to identify the metrics configuration. // The ID used to identify the metrics configuration. The ID has a 64 character
// limit and can only contain letters, numbers, periods, dashes, and underscores.
// //
// This member is required. // This member is required.
Id *string Id *string

View file

@ -15,14 +15,14 @@ import (
// Removes the null version (if there is one) of an object and inserts a delete // Removes the null version (if there is one) of an object and inserts a delete
// marker, which becomes the latest version of the object. If there isn't a null // marker, which becomes the latest version of the object. If there isn't a null
// version, Amazon S3 does not remove any objects but will still respond that the // version, Amazon S3 does not remove any objects but will still respond that the
// command was successful. To remove a specific version, you must be the bucket // command was successful. To remove a specific version, you must use the version
// owner and you must use the version Id subresource. Using this subresource // Id subresource. Using this subresource permanently deletes the version. If the
// permanently deletes the version. If the object deleted is a delete marker, // object deleted is a delete marker, Amazon S3 sets the response header,
// Amazon S3 sets the response header, x-amz-delete-marker, to true. If the object // x-amz-delete-marker, to true. If the object you want to delete is in a bucket
// you want to delete is in a bucket where the bucket versioning configuration is // where the bucket versioning configuration is MFA Delete enabled, you must
// MFA Delete enabled, you must include the x-amz-mfa request header in the DELETE // include the x-amz-mfa request header in the DELETE versionId request. Requests
// versionId request. Requests that include x-amz-mfa must use HTTPS. For more // that include x-amz-mfa must use HTTPS. For more information about MFA Delete,
// information about MFA Delete, see Using MFA Delete // see Using MFA Delete
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html). To see // (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html). To see
// sample requests that use versioning, see Sample Request // sample requests that use versioning, see Sample Request
// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete). // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete).
@ -61,13 +61,13 @@ type DeleteObjectInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //

View file

@ -18,7 +18,7 @@ import (
// action. To delete tags of a specific object version, add the versionId query // action. To delete tags of a specific object version, add the versionId query
// parameter in the request. You will need permission for the // parameter in the request. You will need permission for the
// s3:DeleteObjectVersionTagging action. The following operations are related to // s3:DeleteObjectVersionTagging action. The following operations are related to
// DeleteBucketMetricsConfiguration: // DeleteObjectTagging:
// //
// * PutObjectTagging // * PutObjectTagging
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html) // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)
@ -51,13 +51,13 @@ type DeleteObjectTaggingInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //

View file

@ -83,13 +83,13 @@ type DeleteObjectsInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //

View file

@ -16,11 +16,12 @@ import (
// access control list (ACL) of a bucket. To use GET to return the ACL of the // access control list (ACL) of a bucket. To use GET to return the ACL of the
// bucket, you must have READ_ACP access to the bucket. If READ_ACP permission is // bucket, you must have READ_ACP access to the bucket. If READ_ACP permission is
// granted to the anonymous user, you can return the ACL of the bucket without // granted to the anonymous user, you can return the ACL of the bucket without
// using an authorization header. If your bucket uses the bucket owner enforced // using an authorization header. To use this API against an access point, provide
// setting for S3 Object Ownership, requests to read ACLs are still supported and // the alias of the access point in place of the bucket name. If your bucket uses
// return the bucket-owner-full-control ACL with the owner being the account that // the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs
// created the bucket. For more information, see Controlling object ownership and // are still supported and return the bucket-owner-full-control ACL with the owner
// disabling ACLs // being the account that created the bucket. For more information, see
// Controlling object ownership and disabling ACLs
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
// in the Amazon S3 User Guide. Related Resources // in the Amazon S3 User Guide. Related Resources
// //

View file

@ -15,8 +15,9 @@ import (
// Returns the Cross-Origin Resource Sharing (CORS) configuration information set // Returns the Cross-Origin Resource Sharing (CORS) configuration information set
// for the bucket. To use this operation, you must have permission to perform the // 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 // s3:GetBucketCORS action. By default, the bucket owner has this permission and
// can grant it to others. For more information about CORS, see Enabling // can grant it to others. To use this API against an access point, provide the
// Cross-Origin Resource Sharing // alias of the access point in place of the bucket name. For more information
// about CORS, see Enabling Cross-Origin Resource Sharing
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html). The following // (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html). The following
// operations are related to GetBucketCors: // operations are related to GetBucketCors:
// //

View file

@ -12,15 +12,15 @@ import (
smithyhttp "github.com/aws/smithy-go/transport/http" smithyhttp "github.com/aws/smithy-go/transport/http"
) )
// Returns the default encryption configuration for an Amazon S3 bucket. If the // Returns the default encryption configuration for an Amazon S3 bucket. By
// bucket does not have a default encryption configuration, GetBucketEncryption // default, all buckets have a default encryption configuration that uses
// returns ServerSideEncryptionConfigurationNotFoundError. For information about // server-side encryption with Amazon S3 managed keys (SSE-S3). For information
// the Amazon S3 default encryption feature, see Amazon S3 Default Bucket // about the bucket default encryption feature, see Amazon S3 Bucket Default
// Encryption // Encryption
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html). To use // (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the
// this operation, you must have permission to perform the // Amazon S3 User Guide. To use this operation, you must have permission to perform
// s3:GetEncryptionConfiguration action. The bucket owner has this permission by // the s3:GetEncryptionConfiguration action. The bucket owner has this permission
// default. The bucket owner can grant this permission to others. For more // by 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 // Operations
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)

View file

@ -25,10 +25,13 @@ import (
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html). To use // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html). To use
// this implementation of the operation, you must be the bucket owner. To use this // this implementation of the operation, you must be the bucket owner. To use this
// API against an access point, provide the alias of the access point in place of // API against an access point, provide the alias of the access point in place of
// the bucket name. The following operations are related to GetBucketLocation: // the bucket name. For requests made using Amazon Web Services Signature Version 4
// (SigV4), we recommend that you use HeadBucket
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html) to return
// the bucket Region instead of GetBucketLocation. The following operations are
// related to GetBucketLocation:
// //
// * // * GetObject
// GetObject
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
// //
// * // *

View file

@ -13,8 +13,8 @@ import (
) )
// Returns the logging status of a bucket and the permissions users have to view // Returns the logging status of a bucket and the permissions users have to view
// and modify that status. To use GET, you must be the bucket owner. The following // and modify that status. The following operations are related to
// operations are related to GetBucketLogging: // GetBucketLogging:
// //
// * CreateBucket // * CreateBucket
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)

View file

@ -64,7 +64,8 @@ type GetBucketMetricsConfigurationInput struct {
// This member is required. // This member is required.
Bucket *string Bucket *string
// The ID used to identify the metrics configuration. // The ID used to identify the metrics configuration. The ID has a 64 character
// limit and can only contain letters, numbers, periods, dashes, and underscores.
// //
// This member is required. // This member is required.
Id *string Id *string

View file

@ -17,9 +17,10 @@ import (
// element. By default, you must be the bucket owner to read the notification // element. By default, you must be the bucket owner to read the notification
// configuration of a bucket. However, the bucket owner can use a bucket policy to // configuration of a bucket. However, the bucket owner can use a bucket policy to
// grant permission to other users to read this configuration with the // grant permission to other users to read this configuration with the
// s3:GetBucketNotification permission. For more information about setting and // s3:GetBucketNotification permission. To use this API against an access point,
// reading the notification configuration on a bucket, see Setting Up Notification // provide the alias of the access point in place of the bucket name. For more
// of Bucket Events // information about setting and reading the notification configuration on a
// bucket, see Setting Up Notification of Bucket Events
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html). For // (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html). For
// more information about bucket policies, see Using Bucket Policies // more information about bucket policies, see Using Bucket Policies
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html). The // (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html). The

View file

@ -21,8 +21,9 @@ import (
// Method Not Allowed error. As a security precaution, the root user of the Amazon // Method Not Allowed error. As a security precaution, the root user of the Amazon
// Web Services account that owns a bucket can always use this operation, even if // Web Services account that owns a bucket can always use this operation, even if
// the policy explicitly denies the root user the ability to perform this action. // the policy explicitly denies the root user the ability to perform this action.
// For more information about bucket policies, see Using Bucket Policies and User // To use this API against an access point, provide the alias of the access point
// Policies // in place of the bucket name. For more information about bucket policies, see
// Using Bucket Policies and User Policies
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html). The // (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html). The
// following action is related to GetBucketPolicy: // following action is related to GetBucketPolicy:
// //

View file

@ -37,7 +37,7 @@ import (
// Archive tiers, before you can retrieve the object you must first restore a copy // Archive tiers, before you can retrieve the object you must first restore a copy
// using RestoreObject // using RestoreObject
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html). // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html).
// Otherwise, this action returns an InvalidObjectStateError error. For information // Otherwise, this action returns an InvalidObjectState error. For information
// about restoring archived objects, see Restoring Archived Objects // about restoring archived objects, see Restoring Archived Objects
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html). // (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html).
// Encryption request headers, like x-amz-server-side-encryption, should not be // Encryption request headers, like x-amz-server-side-encryption, should not be
@ -85,14 +85,16 @@ import (
// * If you // * If you
// supply a versionId, you need the s3:GetObjectVersion permission to access a // supply a versionId, you need the s3:GetObjectVersion permission to access a
// specific version of an object. If you request a specific version, you do not // specific version of an object. If you request a specific version, you do not
// need to have the s3:GetObject permission. // need to have the s3:GetObject permission. If you request the current version
// without a specific version ID, only s3:GetObject permission is required.
// s3:GetObjectVersion permission won't be required.
// //
// * If the current version of the // * If the current version of
// object is a delete marker, Amazon S3 behaves as if the object was deleted and // the object is a delete marker, Amazon S3 behaves as if the object was deleted
// includes x-amz-delete-marker: true in the response. // and includes x-amz-delete-marker: true in the response.
// //
// For more information about // For more information
// versioning, see PutBucketVersioning // about versioning, see PutBucketVersioning
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html). // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html).
// Overriding Response Header Values There are times when you want to override // Overriding Response Header Values There are times when you want to override
// certain response header values in a GET response. For example, you might // certain response header values in a GET response. For example, you might
@ -167,13 +169,13 @@ type GetObjectInput struct {
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using an Object Lambda access point the // in the Amazon S3 User Guide. When using an Object Lambda access point the
// hostname takes the form // hostname takes the form
// AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com. When using this // AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com. When you use
// action with Amazon S3 on Outposts, you must direct requests to the S3 on // 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 // Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //
@ -215,10 +217,9 @@ type GetObjectInput struct {
PartNumber int32 PartNumber int32
// Downloads the specified range bytes of an object. For more information about the // Downloads the specified range bytes of an object. For more information about the
// HTTP Range header, see // HTTP Range header, see https://www.rfc-editor.org/rfc/rfc9110.html#name-range
// https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35 // (https://www.rfc-editor.org/rfc/rfc9110.html#name-range). Amazon S3 doesn't
// (https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35). Amazon S3 // support retrieving multiple ranges of data per GET request.
// doesn't support retrieving multiple ranges of data per GET request.
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.
@ -403,8 +404,8 @@ type GetObjectOutput struct {
SSECustomerKeyMD5 *string SSECustomerKeyMD5 *string
// If present, specifies the ID of the Amazon Web Services Key Management Service // If present, specifies the ID of the Amazon Web Services Key Management Service
// (Amazon Web Services KMS) symmetric customer managed key that was used for the // (Amazon Web Services KMS) symmetric encryption customer managed key that was
// object. // used for the object.
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

View file

@ -16,16 +16,15 @@ 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 action is useful if you're interested only in an object's metadata. To use // This action is useful if you're interested only in an object's metadata. To use
// GetObjectAttributes, you must have READ access to the object. // GetObjectAttributes, you must have READ access to the object.
// GetObjectAttributes combines the functionality of GetObjectAcl, // GetObjectAttributes combines the functionality of HeadObject and ListParts. All
// GetObjectLegalHold, GetObjectLockConfiguration, GetObjectRetention, // of the data returned with each of those individual calls can be returned with a
// GetObjectTagging, HeadObject, and ListParts. All of the data returned with each // single call to GetObjectAttributes. If you encrypt an object by using
// of those individual calls can be returned with a single call to // server-side encryption with customer-provided encryption keys (SSE-C) when you
// GetObjectAttributes. If you encrypt an object by using server-side encryption // store the object in Amazon S3, then when you retrieve the metadata from the
// with customer-provided encryption keys (SSE-C) when you store the object in // object, you must use the following headers:
// Amazon S3, then when you retrieve the metadata from 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
@ -42,23 +41,23 @@ import (
// x-amz-server-side-encryption, should not be sent for GET requests if your object // x-amz-server-side-encryption, should not be sent for GET requests if your object
// uses server-side encryption with Amazon Web Services KMS keys stored in Amazon // uses server-side encryption with Amazon Web Services KMS keys stored in Amazon
// Web Services Key Management Service (SSE-KMS) or server-side encryption with // Web Services Key Management Service (SSE-KMS) or server-side encryption with
// Amazon S3 managed encryption keys (SSE-S3). If your object does use these types // Amazon S3 managed keys (SSE-S3). If your object does use these types of keys,
// of keys, you'll get an HTTP 400 Bad Request error. // you'll get an HTTP 400 Bad Request error.
// //
// * The last modified property // * The last modified property in this
// in this case is the creation date of the object. // case is the creation date of the object.
// //
// Consider the following when // Consider the following when using
// using request headers: // request headers:
// //
// * If both of the If-Match and If-Unmodified-Since // * If both of the If-Match and If-Unmodified-Since headers are
// headers are present in the request as follows, then Amazon S3 returns the HTTP // present in the request as follows, then Amazon S3 returns the HTTP status code
// status code 200 OK and the data requested: // 200 OK and the data requested:
// //
// * If-Match condition evaluates to // * If-Match condition evaluates to true.
// true.
// //
// * If-Unmodified-Since condition evaluates to false. // *
// If-Unmodified-Since condition evaluates to false.
// //
// * If both of the // * If both of the
// If-None-Match and If-Modified-Since headers are present in the request as // If-None-Match and If-Modified-Since headers are present in the request as
@ -146,13 +145,13 @@ type GetObjectAttributesInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //

View file

@ -59,13 +59,13 @@ type GetObjectTaggingInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //

View file

@ -14,14 +14,11 @@ import (
) )
// Returns torrent files from a bucket. BitTorrent can save you bandwidth when // Returns torrent files from a bucket. BitTorrent can save you bandwidth when
// you're distributing large files. For more information about BitTorrent, see // you're distributing large files. You can get torrent only for objects that are
// Using BitTorrent with Amazon S3 // less than 5 GB in size, and that are not encrypted using server-side encryption
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html). You can get // with a customer-provided encryption key. To use GET, you must have READ access
// torrent only for objects that are less than 5 GB in size, and that are not // to the object. This action is not supported by Amazon S3 on Outposts. The
// encrypted using server-side encryption with a customer-provided encryption key. // following action is related to GetObjectTorrent:
// To use GET, you must have READ access to the object. This action is not
// supported by Amazon S3 on Outposts. The following action is related to
// GetObjectTorrent:
// //
// * GetObject // * GetObject
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)

View file

@ -20,11 +20,11 @@ import (
// This action is useful to determine if a bucket exists and you have permission to // This action is useful to determine if a bucket exists and you have permission to
// access it. The action returns a 200 OK if the bucket exists and you have // 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 have // permission to access it. If the bucket does not exist or you do not have
// permission to access it, the HEAD request returns a generic 404 Not Found or 403 // permission to access it, the HEAD request returns a generic 400 Bad Request, 403
// Forbidden code. A message body is not included, so you cannot determine the // Forbidden or 404 Not Found code. A message body is not included, so you cannot
// exception beyond these error codes. To use this operation, you must have // determine the exception beyond these error codes. To use this operation, you
// permissions to perform the s3:ListBucket action. The bucket owner has this // must have permissions to perform the s3:ListBucket action. The bucket owner has
// permission by default and can grant this permission to others. For more // this permission by default and 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 // Operations
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
@ -62,13 +62,13 @@ type HeadBucketInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //

View file

@ -23,9 +23,9 @@ import (
// To use HEAD, you must have READ access to the object. A HEAD request has the // To use HEAD, you must have READ access to the object. A HEAD request has the
// same options as a GET action on an object. The response is identical to the GET // same options as a GET action on an object. The response is identical to the GET
// response except that there is no response body. Because of this, if the HEAD // response except that there is no response body. Because of this, if the HEAD
// request generates an error, it returns a generic 404 Not Found or 403 Forbidden // request generates an error, it returns a generic 400 Bad Request, 403 Forbidden
// code. It is not possible to retrieve the exact exception beyond these error // or 404 Not Found code. It is not possible to retrieve the exact exception beyond
// codes. If you encrypt an object by using server-side encryption with // these error codes. If you encrypt an object by using server-side encryption with
// customer-provided encryption keys (SSE-C) when you store the object in Amazon // 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 // S3, then when you retrieve the metadata from the object, you must use the
// following headers: // following headers:
@ -130,13 +130,13 @@ type HeadObjectInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //
@ -181,8 +181,9 @@ type HeadObjectInput struct {
// object. // object.
PartNumber int32 PartNumber int32
// Because HeadObject returns only the metadata for an object, this parameter has // HeadObject returns only the metadata for an object. If the Range is satisfiable,
// no effect. // only the ContentLength is affected in the response. If the Range is not
// satisfiable, S3 returns a 416 - Requested Range Not Satisfiable error.
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.
@ -393,14 +394,12 @@ type HeadObjectOutput struct {
SSECustomerKeyMD5 *string SSECustomerKeyMD5 *string
// If present, specifies the ID of the Amazon Web Services Key Management Service // If present, specifies the ID of the Amazon Web Services Key Management Service
// (Amazon Web Services KMS) symmetric customer managed key that was used for the // (Amazon Web Services KMS) symmetric encryption customer managed key that was
// object. // used for the object.
SSEKMSKeyId *string SSEKMSKeyId *string
// If the object is stored using server-side encryption either with an Amazon Web // The server-side encryption algorithm used when storing this object in Amazon S3
// Services KMS key or an Amazon S3-managed encryption key, the response includes // (for example, AES256, aws:kms).
// this header with the value of the server-side encryption algorithm used when
// storing this object in Amazon S3 (for example, AES256, aws:kms).
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

View file

@ -13,7 +13,10 @@ import (
) )
// Returns a list of all buckets owned by the authenticated sender of the request. // Returns a list of all buckets owned by the authenticated sender of the request.
// To use this operation, you must have the s3:ListAllMyBuckets permission. // 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
// (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

@ -77,13 +77,13 @@ type ListMultipartUploadsInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //

View file

@ -66,13 +66,13 @@ type ListObjectsInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //

View file

@ -72,13 +72,13 @@ type ListObjectsV2Input struct {
// provide the access point ARN in place of the bucket name. For more information // provide the access point ARN in place of the bucket name. For more information
// about access point ARNs, see Using access points // about access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //
@ -162,8 +162,8 @@ type ListObjectsV2Output struct {
IsTruncated bool IsTruncated bool
// KeyCount is the number of keys returned with this request. KeyCount will always // KeyCount is the number of keys returned with this request. KeyCount will always
// be less than or equals to MaxKeys field. Say you ask for 50 keys, your result // be less than or equal to the MaxKeys field. Say you ask for 50 keys, your result
// will include less than equals 50 keys // will include 50 keys or fewer.
KeyCount int32 KeyCount int32
// Sets the maximum number of keys returned in the response. By default the action // Sets the maximum number of keys returned in the response. By default the action
@ -178,13 +178,13 @@ type ListObjectsV2Output struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
Name *string Name *string

View file

@ -81,13 +81,13 @@ type ListPartsInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //

View file

@ -113,15 +113,15 @@ import (
// <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<> // <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>
// //
// * By Email // * By Email
// address: <>Grantees@email.com<>lt;/Grantee> The grantee is resolved to the // address: <>Grantees@email.com<>& The grantee is resolved to the CanonicalUser
// CanonicalUser and, in a response to a GET Object acl request, appears as the // and, in a response to a GET Object acl request, appears as the CanonicalUser.
// CanonicalUser. Using email addresses to specify a grantee is only supported in // Using email addresses to specify a grantee is only supported in the following
// the following Amazon Web Services Regions: // Amazon Web Services Regions:
// //
// * US East (N. Virginia) // * US East (N. Virginia)
// //
// * US West // * US West (N.
// (N. California) // California)
// //
// * US West (Oregon) // * US West (Oregon)
// //

View file

@ -14,14 +14,13 @@ import (
) )
// This action uses the encryption subresource to configure default encryption and // This action uses the encryption subresource to configure default encryption and
// Amazon S3 Bucket Key for an existing bucket. Default encryption for a bucket can // Amazon S3 Bucket Keys for an existing bucket. By default, all buckets have a
// use server-side encryption with Amazon S3-managed keys (SSE-S3) or customer // default encryption configuration that uses server-side encryption with Amazon S3
// managed keys (SSE-KMS). If you specify default encryption using SSE-KMS, you can // managed keys (SSE-S3). You can optionally configure default encryption for a
// also configure Amazon S3 Bucket Key. When the default encryption is SSE-KMS, if // bucket by using server-side encryption with an Amazon Web Services KMS key
// you upload an object to the bucket and do not specify the KMS key to use for // (SSE-KMS) or a customer-provided key (SSE-C). If you specify default encryption
// encryption, Amazon S3 uses the default Amazon Web Services managed KMS key for // by using SSE-KMS, you can also configure Amazon S3 Bucket Keys. For information
// your account. For information about default encryption, see Amazon S3 default // about bucket default encryption, see Amazon S3 bucket default encryption
// bucket encryption
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the
// Amazon S3 User Guide. For more information about S3 Bucket Keys, see Amazon S3 // Amazon S3 User Guide. For more information about S3 Bucket Keys, see Amazon S3
// Bucket Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in // Bucket Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in
@ -63,9 +62,12 @@ func (c *Client) PutBucketEncryption(ctx context.Context, params *PutBucketEncry
type PutBucketEncryptionInput struct { type PutBucketEncryptionInput struct {
// Specifies default encryption for a bucket using server-side encryption with // Specifies default encryption for a bucket using server-side encryption with
// Amazon S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). For // different key options. By default, all buckets have a default encryption
// information about the Amazon S3 default encryption feature, see Amazon S3 // configuration that uses server-side encryption with Amazon S3 managed keys
// Default Bucket Encryption // (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
// 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) in the // (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //

View file

@ -31,12 +31,24 @@ import (
// location. For an example policy, see Granting Permissions for Amazon S3 // location. For an example policy, see Granting Permissions for Amazon S3
// Inventory and Storage Class Analysis // Inventory and Storage Class Analysis
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9). // (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 // 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. For more information about // default and can grant this permission to others. The
// permissions, see Permissions Related to Bucket Subresource Operations // 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
// 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
// available in the inventory report. To restrict access to an 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
// available in S3 Inventory, see Amazon S3 Inventory lists
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-inventory.html#storage-inventory-contents)
// in the Amazon S3 User Guide. 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) // (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 // and Identity and access management in Amazon S3
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
// in the Amazon S3 User Guide. Special Errors // in the Amazon S3 User Guide. Special Errors
// //

View file

@ -73,7 +73,8 @@ type PutBucketMetricsConfigurationInput struct {
// This member is required. // This member is required.
Bucket *string Bucket *string
// The ID used to identify the metrics configuration. // The ID used to identify the metrics configuration. The ID has a 64 character
// limit and can only contain letters, numbers, periods, dashes, and underscores.
// //
// This member is required. // This member is required.
Id *string Id *string

View file

@ -18,22 +18,29 @@ import (
// Adds an object to a bucket. You must have WRITE permissions on a bucket to add // Adds an object to a bucket. You must have WRITE permissions on a bucket to add
// an object to it. Amazon S3 never adds partial objects; if you receive a success // an object to it. Amazon S3 never adds partial objects; if you receive a success
// response, Amazon S3 added the entire object to the bucket. Amazon S3 is a // response, Amazon S3 added the entire object to the bucket. You cannot use
// distributed system. If it receives multiple write requests for the same object // PutObject to only update a single piece of metadata for an existing object. You
// simultaneously, it overwrites all but the last object written. Amazon S3 does // must put the entire object with updated metadata if you want to update some
// not provide object locking; if you need this, make sure to build it into your // values. Amazon S3 is a distributed system. If it receives multiple write
// application layer or use versioning instead. To ensure that data is not // requests for the same object simultaneously, it overwrites all but the last
// corrupted traversing the network, use the Content-MD5 header. When you use this // object written. To prevent objects from being deleted or overwritten, you can
// header, Amazon S3 checks the object against the provided MD5 value and, if they // use Amazon S3 Object Lock
// do not match, returns an error. Additionally, you can calculate the MD5 while // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html). To
// putting an object to Amazon S3 and compare the returned ETag to the calculated // ensure that data is not corrupted traversing the network, use the Content-MD5
// MD5 value. // header. When you use this header, Amazon S3 checks the object against the
// provided MD5 value and, if they do not match, returns an error. Additionally,
// you can calculate the MD5 while putting an object to Amazon S3 and compare the
// returned ETag to the calculated MD5 value.
// //
// * To successfully complete the PutObject request, you must have the // * To successfully complete the
// s3:PutObject in your IAM permissions. // PutObject request, you must have the s3:PutObject in your IAM permissions.
// //
// * To successfully change the objects acl // * To
// of your PutObject request, you must have the s3:PutObjectAcl in your IAM // successfully change the objects acl of your PutObject request, you must have the
// s3:PutObjectAcl in your IAM permissions.
//
// * To successfully set the tag-set with
// your PutObject request, you must have the s3:PutObjectTagging in your IAM
// permissions. // permissions.
// //
// * The Content-MD5 header is required for any request to upload an // * The Content-MD5 header is required for any request to upload an
@ -42,23 +49,21 @@ import (
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html) in // (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html) in
// the Amazon S3 User Guide. // the Amazon S3 User Guide.
// //
// Server-side Encryption You can optionally request // You have three mutually exclusive options to protect
// server-side encryption. With server-side encryption, Amazon S3 encrypts your // data using server-side encryption in Amazon S3, depending on how you choose to
// data as it writes it to disks in its data centers and decrypts the data when you // manage the encryption keys. Specifically, the encryption key options are Amazon
// access it. You have the option to provide your own encryption key or use Amazon // S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and
// Web Services managed encryption keys (SSE-S3 or SSE-KMS). For more information, // customer-provided keys (SSE-C). Amazon S3 encrypts data with server-side
// see Using Server-Side Encryption // encryption by using Amazon S3 managed keys (SSE-S3) by default. You can
// optionally tell Amazon S3 to encrypt data at by rest using server-side
// encryption with other key options. For more information, see Using Server-Side
// Encryption
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html). // (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html).
// If you request server-side encryption using Amazon Web Services Key Management // When adding a new object, you can use headers to grant ACL-based permissions to
// Service (SSE-KMS), you can enable an S3 Bucket Key at the object-level. For more // individual Amazon Web Services accounts or to predefined groups defined by
// information, see Amazon S3 Bucket Keys // Amazon S3. These permissions are then added to the ACL on the object. By
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html) in the Amazon // default, all objects are private. Only the owner has full access control. For
// S3 User Guide. Access Control List (ACL)-Specific Request Headers You can use // more information, see Access Control List (ACL) Overview
// headers to grant ACL- based permissions. By default, all objects are private.
// Only the owner has full access control. When adding a new object, you can grant
// permissions to individual Amazon Web Services accounts or to predefined groups
// defined by Amazon S3. These permissions are then added to the ACL on the object.
// For more information, see Access Control List (ACL) Overview
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) and Managing // (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) and Managing
// ACLs Using the REST API // ACLs Using the REST API
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html). If // (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html). If
@ -74,26 +79,26 @@ import (
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
// in the Amazon S3 User Guide. If your bucket uses the bucket owner enforced // in the Amazon S3 User Guide. If your bucket uses the bucket owner enforced
// setting for Object Ownership, all objects written to the bucket by any account // setting for Object Ownership, all objects written to the bucket by any account
// will be owned by the bucket owner. Storage Class Options By default, Amazon S3 // will be owned by the bucket owner. By default, Amazon S3 uses the STANDARD
// uses the STANDARD Storage Class to store newly created objects. The STANDARD // Storage Class to store newly created objects. The STANDARD storage class
// storage class provides high durability and high availability. Depending on // provides high durability and high availability. Depending on performance needs,
// performance needs, you can specify a different Storage Class. Amazon S3 on // you can specify a different Storage Class. Amazon S3 on Outposts only uses the
// Outposts only uses the OUTPOSTS Storage Class. For more information, see Storage // OUTPOSTS Storage Class. For more information, see Storage Classes
// Classes
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) in // (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html) in
// the Amazon S3 User Guide. Versioning If you enable versioning for a bucket, // the Amazon S3 User Guide. If you enable versioning for a bucket, Amazon S3
// Amazon S3 automatically generates a unique version ID for the object being // automatically generates a unique version ID for the object being stored. Amazon
// stored. Amazon S3 returns this ID in the response. When you enable versioning // S3 returns this ID in the response. When you enable versioning for a bucket, if
// for a bucket, if Amazon S3 receives multiple write requests for the same object // Amazon S3 receives multiple write requests for the same object simultaneously,
// simultaneously, it stores all of the objects. For more information about // it stores all of the objects. For more information about versioning, see Adding
// versioning, see Adding Objects to Versioning Enabled Buckets // Objects to Versioning Enabled Buckets
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html). // (https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html).
// For information about returning the versioning state of a bucket, see // For information about returning the versioning state of a bucket, see
// GetBucketVersioning // GetBucketVersioning
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html). // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html).
// Related Resources // For more information about related Amazon S3 APIs, see the following:
// //
// * CopyObject // *
// CopyObject
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)
// //
// * // *
@ -124,13 +129,13 @@ type PutObjectInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //
@ -206,15 +211,15 @@ type PutObjectInput struct {
ChecksumSHA256 *string ChecksumSHA256 *string
// Specifies presentational information for the object. For more information, see // Specifies presentational information for the object. For more information, see
// http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1 // https://www.rfc-editor.org/rfc/rfc6266#section-4
// (http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1). // (https://www.rfc-editor.org/rfc/rfc6266#section-4).
ContentDisposition *string ContentDisposition *string
// 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 more information, see // Content-Type header field. For more information, see
// http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11 // https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding
// (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.11). // (https://www.rfc-editor.org/rfc/rfc9110.html#field.content-encoding).
ContentEncoding *string ContentEncoding *string
// The language the content is in. // The language the content is in.
@ -222,8 +227,8 @@ type PutObjectInput struct {
// Size of the body in bytes. This parameter is useful when the size of the body // Size of the body in bytes. This parameter is useful when the size of the body
// cannot be determined automatically. For more information, see // cannot be determined automatically. For more information, see
// http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13 // https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length
// (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.13). // (https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length).
ContentLength int64 ContentLength int64
// The base64-encoded 128-bit MD5 digest of the message (without the headers) // The base64-encoded 128-bit MD5 digest of the message (without the headers)
@ -236,8 +241,8 @@ type PutObjectInput struct {
ContentMD5 *string ContentMD5 *string
// A standard MIME type describing the format of the contents. For more // A standard MIME type describing the format of the contents. For more
// information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17 // information, see https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type
// (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.17). // (https://www.rfc-editor.org/rfc/rfc9110.html#name-content-type).
ContentType *string ContentType *string
// The account ID of the expected bucket owner. If the bucket is owned by a // The account ID of the expected bucket owner. If the bucket is owned by a
@ -246,8 +251,8 @@ type PutObjectInput struct {
ExpectedBucketOwner *string ExpectedBucketOwner *string
// The date and time at which the object is no longer cacheable. For more // The date and time at which the object is no longer cacheable. For more
// information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21 // information, see https://www.rfc-editor.org/rfc/rfc7234#section-5.3
// (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.21). // (https://www.rfc-editor.org/rfc/rfc7234#section-5.3).
Expires *time.Time Expires *time.Time
// Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. This // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. This
@ -307,12 +312,14 @@ type PutObjectInput struct {
// 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. // JSON with the encryption context key-value pairs. This value is stored as object
// metadata and automatically gets passed on to Amazon Web Services KMS for future
// GetObject or CopyObject operations on this object.
SSEKMSEncryptionContext *string SSEKMSEncryptionContext *string
// If x-amz-server-side-encryption is present and has the value of aws:kms, this // If x-amz-server-side-encryption has a valid value of aws:kms, this header
// header specifies the ID of the Amazon Web Services Key Management Service // specifies the ID of the Amazon Web Services Key Management Service (Amazon Web
// (Amazon Web Services KMS) symmetrical customer managed key that was used for the // Services KMS) symmetric encryption customer managed key that was used for the
// object. If you specify x-amz-server-side-encryption:aws:kms, but do not provide // object. If you specify x-amz-server-side-encryption:aws:kms, but do not 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 to protect the data. If the KMS key does not exist in the // Services managed key to protect the data. If the KMS key does not exist in the
@ -419,19 +426,19 @@ type PutObjectOutput struct {
// If present, specifies the Amazon Web Services KMS Encryption Context to use for // If present, 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 // object encryption. The value of this header is a base64-encoded UTF-8 string
// holding JSON with the encryption context key-value pairs. // holding JSON with the encryption context key-value pairs. This value is stored
// as object metadata and automatically gets passed on to Amazon Web Services KMS
// for future GetObject or CopyObject operations on this object.
SSEKMSEncryptionContext *string SSEKMSEncryptionContext *string
// If x-amz-server-side-encryption is present and has the value of aws:kms, this // If x-amz-server-side-encryption is has a valid value of aws:kms, this header
// header specifies the ID of the Amazon Web Services Key Management Service // specifies the ID of the Amazon Web Services Key Management Service (Amazon Web
// (Amazon Web Services KMS) symmetric customer managed key that was used for the // Services KMS) symmetric encryption customer managed key that was used for the
// object. // object.
SSEKMSKeyId *string SSEKMSKeyId *string
// If you specified server-side encryption either with an Amazon Web Services KMS // The server-side encryption algorithm used when storing this object in Amazon S3
// key or Amazon S3-managed encryption key in your PUT request, the response // (for example, AES256, aws:kms).
// includes this header. It confirms the encryption algorithm that Amazon S3 used
// to encrypt the object.
ServerSideEncryption types.ServerSideEncryption ServerSideEncryption types.ServerSideEncryption
// Version of the object. // Version of the object.

View file

@ -185,13 +185,13 @@ type PutObjectAclInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //

View file

@ -88,13 +88,13 @@ type PutObjectTaggingInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //

View file

@ -30,24 +30,6 @@ import (
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) // (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 // and Managing Access Permissions to Your Amazon S3 Resources
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
// in the Amazon S3 User Guide. Querying Archives with Select Requests You use a
// select type of request to perform SQL queries on archived objects. The archived
// objects that are being queried by the select request must be formatted as
// uncompressed comma-separated values (CSV) files. You can run queries and custom
// analytics on your archived data without having to restore your data to a hotter
// Amazon S3 tier. For an overview about select requests, see Querying Archived
// Objects
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html)
// in the Amazon S3 User Guide. When making a select request, do the following:
//
// *
// Define an output location for the select query's output. This must be an Amazon
// S3 bucket in the same Amazon Web Services Region as the bucket that contains the
// archive object that is being queried. The Amazon Web Services account that
// initiates the job must have permissions to write to the S3 bucket. You can
// specify the storage class and encryption for the output objects stored in the
// bucket. For more information about output, see Querying Archived Objects
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/querying-glacier-archives.html)
// in the Amazon S3 User Guide. For more information about the S3 structure in the // in the Amazon S3 User Guide. For more information about the S3 structure in the
// request body, see the following: // request body, see the following:
// //
@ -81,15 +63,11 @@ import (
// query.) You cannot mix ordinal positions with header column names. SELECT s.Id, // query.) You cannot mix ordinal positions with header column names. SELECT s.Id,
// s.FirstName, s.SSN FROM S3Object s // s.FirstName, s.SSN FROM S3Object s
// //
// For more information about using SQL with S3 // When making a select request, you can also
// Glacier Select restore, see SQL Reference for Amazon S3 Select and S3 Glacier // do the following:
// Select
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html)
// in the Amazon S3 User Guide. When making a select request, you can also do the
// following:
// //
// * To expedite your queries, specify the Expedited tier. For more // * To expedite your queries, specify the Expedited tier. For
// information about tiers, see "Restoring Archives," later in this topic. // more information about tiers, see "Restoring Archives," later in this topic.
// //
// * // *
// Specify details about the data serialization format of both the input object // Specify details about the data serialization format of both the input object
@ -104,59 +82,62 @@ import (
// lifecycle policy. // lifecycle policy.
// //
// * You can issue more than one select request on the same // * You can issue more than one select request on the same
// Amazon S3 object. Amazon S3 doesn't deduplicate requests, so avoid issuing // Amazon S3 object. Amazon S3 doesn't duplicate requests, so avoid issuing
// duplicate requests. // duplicate requests.
// //
// * Amazon S3 accepts a select request even if the object has // * Amazon S3 accepts a select request even if the object has
// already been restored. A select request doesnt return error response // already been restored. A select request doesnt return error response
// 409. // 409.
// //
// Restoring objects Objects that you archive to the S3 Glacier or S3 Glacier // Restoring objects Objects that you archive to the S3 Glacier Flexible
// Deep Archive storage class, and S3 Intelligent-Tiering Archive or S3 // Retrieval or S3 Glacier Deep Archive storage class, and S3 Intelligent-Tiering
// Intelligent-Tiering Deep Archive tiers are not accessible in real time. For // Archive or S3 Intelligent-Tiering Deep Archive tiers, are not accessible in real
// objects in Archive Access or Deep Archive Access tiers you must first initiate a // time. For objects in the S3 Glacier Flexible Retrieval or S3 Glacier Deep
// restore request, and then wait until the object is moved into the Frequent // Archive storage classes, you must first initiate a restore request, and then
// Access tier. For objects in S3 Glacier or S3 Glacier Deep Archive storage // wait until a temporary copy of the object is available. If you want a permanent
// classes you must first initiate a restore request, and then wait until a // copy of the object, create a copy of it in the Amazon S3 Standard storage class
// temporary copy of the object is available. To access an archived object, you // in your S3 bucket. To access an archived object, you must restore the object for
// must restore the object for the duration (number of days) that you specify. To // the duration (number of days) that you specify. For objects in the Archive
// restore a specific object version, you can provide a version ID. If you don't // Access or Deep Archive Access tiers of S3 Intelligent-Tiering, you must first
// provide a version ID, Amazon S3 restores the current version. When restoring an // initiate a restore request, and then wait until the object is moved into the
// archived object (or using a select request), you can specify one of the // Frequent Access tier. To restore a specific object version, you can provide a
// following data access tier options in the Tier element of the request body: // version ID. If you don't provide a version ID, Amazon S3 restores the current
// version. When restoring an archived object, you can specify one of the following
// data access tier options in the Tier element of the request body:
// //
// * // * Expedited -
// Expedited - Expedited retrievals allow you to quickly access your data stored in // Expedited retrievals allow you to quickly access your data stored in the S3
// the S3 Glacier storage class or S3 Intelligent-Tiering Archive tier when // Glacier Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier
// occasional urgent requests for a subset of archives are required. For all but // when occasional urgent requests for a subset of archives are required. For all
// the largest archived objects (250 MB+), data accessed using Expedited retrievals // but the largest archived objects (250 MB+), data accessed using Expedited
// is typically made available within 15 minutes. Provisioned capacity ensures // retrievals is typically made available within 15 minutes. Provisioned capacity
// that retrieval capacity for Expedited retrievals is available when you need it. // ensures that retrieval capacity for Expedited retrievals is available when you
// Expedited retrievals and provisioned capacity are not available for objects // need it. Expedited retrievals and provisioned capacity are not available for
// stored in the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering
// Deep Archive tier.
//
// * Standard - Standard retrievals allow you to access any of
// your archived objects within several hours. This is the default option for
// retrieval requests that do not specify the retrieval option. Standard retrievals
// typically finish within 35 hours for objects stored in the S3 Glacier storage
// class or S3 Intelligent-Tiering Archive tier. They typically finish within 12
// hours for objects stored in the S3 Glacier Deep Archive storage class or S3
// Intelligent-Tiering Deep Archive tier. Standard retrievals are free for objects
// stored in S3 Intelligent-Tiering.
//
// * Bulk - Bulk retrievals are the lowest-cost
// retrieval option in S3 Glacier, enabling you to retrieve large amounts, even
// petabytes, of data inexpensively. Bulk retrievals typically finish within 512
// hours for objects stored in the S3 Glacier storage class or S3
// Intelligent-Tiering Archive tier. They typically finish within 48 hours for
// objects stored in the S3 Glacier Deep Archive storage class or S3 // objects stored in the S3 Glacier Deep Archive storage class or S3
// Intelligent-Tiering Deep Archive tier. Bulk retrievals are free for objects // Intelligent-Tiering Deep Archive tier.
// stored in S3 Intelligent-Tiering.
// //
// For more information about archive retrieval // * Standard - Standard retrievals allow
// options and provisioned capacity for Expedited data access, see Restoring // you to access any of your archived objects within several hours. This is the
// Archived Objects // default option for retrieval requests that do not specify the retrieval option.
// Standard retrievals typically finish within 35 hours for objects stored in the
// S3 Glacier Flexible Retrieval storage class or S3 Intelligent-Tiering Archive
// tier. They typically finish within 12 hours for objects stored in the S3 Glacier
// Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard
// retrievals are free for objects stored in S3 Intelligent-Tiering.
//
// * Bulk - Bulk
// retrievals free for objects stored in the S3 Glacier Flexible Retrieval and S3
// Intelligent-Tiering storage classes, enabling you to retrieve large amounts,
// even petabytes, of data at no cost. Bulk retrievals typically finish within 512
// hours for objects stored in the S3 Glacier Flexible Retrieval storage class or
// S3 Intelligent-Tiering Archive tier. Bulk retrievals are also the lowest-cost
// retrieval option when restoring objects from S3 Glacier Deep Archive. They
// typically finish within 48 hours for objects stored in the S3 Glacier Deep
// Archive storage class or S3 Intelligent-Tiering Deep Archive tier.
//
// For more
// information about archive retrieval options and provisioned capacity for
// Expedited data access, see Restoring Archived Objects
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html) in the
// Amazon S3 User Guide. You can use Amazon S3 restore speed upgrade to change the // Amazon S3 User Guide. You can use Amazon S3 restore speed upgrade to change the
// restore speed to a faster speed while it is in progress. For more information, // restore speed to a faster speed while it is in progress. For more information,
@ -226,11 +207,6 @@ import (
// * // *
// GetBucketNotificationConfiguration // GetBucketNotificationConfiguration
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html) // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html)
//
// *
// SQL Reference for Amazon S3 Select and S3 Glacier Select
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html)
// in the Amazon S3 User Guide
func (c *Client) RestoreObject(ctx context.Context, params *RestoreObjectInput, optFns ...func(*Options)) (*RestoreObjectOutput, error) { func (c *Client) RestoreObject(ctx context.Context, params *RestoreObjectInput, optFns ...func(*Options)) (*RestoreObjectOutput, error) {
if params == nil { if params == nil {
params = &RestoreObjectInput{} params = &RestoreObjectInput{}
@ -256,13 +232,13 @@ type RestoreObjectInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //

View file

@ -25,9 +25,6 @@ import (
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html) // (https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html)
// and SELECT Command // and SELECT Command
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html)
// in the Amazon S3 User Guide. For more information about using SQL with Amazon S3
// Select, see SQL Reference for Amazon S3 Select and S3 Glacier Select
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html)
// in the Amazon S3 User Guide. Permissions You must have s3:GetObject permission // in the Amazon S3 User Guide. Permissions You must have s3:GetObject permission
// for this operation. Amazon S3 Select does not support anonymous access. For more // for this operation. Amazon S3 Select does not support anonymous access. For more
// information about permissions, see Specifying Permissions in a Policy // information about permissions, see Specifying Permissions in a Policy
@ -57,10 +54,10 @@ import (
// Encryption Keys) // Encryption Keys)
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html) // (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
// in the Amazon S3 User Guide. For objects that are encrypted with Amazon S3 // in the Amazon S3 User Guide. For objects that are encrypted with Amazon S3
// managed encryption keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), // managed keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS), server-side
// server-side encryption is handled transparently, so you don't need to specify // encryption is handled transparently, so you don't need to specify anything. For
// anything. For more information about server-side encryption, including SSE-S3 // more information about server-side encryption, including SSE-S3 and SSE-KMS, see
// and SSE-KMS, see Protecting Data Using Server-Side Encryption // Protecting Data Using Server-Side Encryption
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html) in // (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html) in
// the Amazon S3 User Guide. // the Amazon S3 User Guide.
// //

View file

@ -49,26 +49,33 @@ import (
// the Amazon S3 User Guide . For information on the permissions required to use // the Amazon S3 User Guide . For information on the permissions required to use
// the multipart upload API, go to Multipart Upload and Permissions // the multipart upload API, go to Multipart Upload and Permissions
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html) in the
// Amazon S3 User Guide. You can optionally request server-side encryption where // Amazon S3 User Guide. Server-side encryption is for data encryption at rest.
// Amazon S3 encrypts your data as it writes it to disks in its data centers and // Amazon S3 encrypts your data as it writes it to disks in its data centers and
// decrypts it for you when you access it. You have the option of providing your // decrypts it when you access it. You have three mutually exclusive options to
// own encryption key, or you can use the Amazon Web Services managed encryption // protect data using server-side encryption in Amazon S3, depending on how you
// keys. If you choose to provide your own encryption key, the request headers you // choose to manage the encryption keys. Specifically, the encryption key options
// provide in the request must match the headers you used in the request to // are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and
// initiate the upload by using CreateMultipartUpload // Customer-Provided Keys (SSE-C). Amazon S3 encrypts data with server-side
// encryption using Amazon S3 managed keys (SSE-S3) by default. You can optionally
// tell Amazon S3 to encrypt data at rest using server-side encryption with other
// key options. The option you use depends on whether you want to use KMS keys
// (SSE-KMS) or provide your own encryption key (SSE-C). If you choose to provide
// your own encryption key, the request headers you provide in the request must
// match the headers you used in the request to initiate the upload by using
// CreateMultipartUpload
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html). // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html).
// For more information, go to Using Server-Side Encryption // For more information, go to Using Server-Side Encryption
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html) // (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html)
// in the Amazon S3 User Guide. Server-side encryption is supported by the S3 // in the Amazon S3 User Guide. Server-side encryption is supported by the S3
// Multipart Upload actions. Unless you are using a customer-provided encryption // Multipart Upload actions. Unless you are using a customer-provided encryption
// key, you don't need to specify the encryption parameters in each UploadPart // key (SSE-C), you don't need to specify the encryption parameters in each
// request. Instead, you only need to specify the server-side encryption parameters // UploadPart request. Instead, you only need to specify the server-side encryption
// in the initial Initiate Multipart request. For more information, see // parameters in the initial Initiate Multipart request. For more information, see
// CreateMultipartUpload // CreateMultipartUpload
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html). // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html).
// If you requested server-side encryption using a customer-provided encryption key // If you requested server-side encryption using a customer-provided encryption key
// in your initiate multipart upload request, you must provide identical encryption // (SSE-C) in your initiate multipart upload request, you must provide identical
// information in each part upload using the following headers. // encryption information in each part upload using the following headers.
// //
// * // *
// x-amz-server-side-encryption-customer-algorithm // x-amz-server-side-encryption-customer-algorithm
@ -138,13 +145,13 @@ type UploadPartInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //
@ -312,8 +319,8 @@ type UploadPartOutput struct {
SSECustomerKeyMD5 *string SSECustomerKeyMD5 *string
// If present, specifies the ID of the Amazon Web Services Key Management Service // If present, specifies the ID of the Amazon Web Services Key Management Service
// (Amazon Web Services KMS) symmetric customer managed key was used for the // (Amazon Web Services KMS) symmetric encryption customer managed key was used for
// object. // the object.
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

View file

@ -145,13 +145,13 @@ type UploadPartCopyInput struct {
// 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 // access point ARNs, see Using access points
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html) // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
// in the Amazon S3 User Guide. When using this action with Amazon S3 on Outposts, // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
// you must direct requests to the S3 on Outposts hostname. The S3 on Outposts // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
// hostname takes the form // Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When using // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When you
// 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 bucket 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 Using Amazon S3 on Outposts // information about S3 on Outposts ARNs, see What is S3 on Outposts
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html) in the
// Amazon S3 User Guide. // Amazon S3 User Guide.
// //
@ -309,8 +309,8 @@ type UploadPartCopyOutput struct {
SSECustomerKeyMD5 *string SSECustomerKeyMD5 *string
// If present, specifies the ID of the Amazon Web Services Key Management Service // If present, specifies the ID of the Amazon Web Services Key Management Service
// (Amazon Web Services KMS) symmetric customer managed key that was used for the // (Amazon Web Services KMS) symmetric encryption customer managed key that was
// object. // used for the object.
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

View file

@ -243,8 +243,8 @@ type WriteGetObjectResponseInput struct {
SSECustomerKeyMD5 *string SSECustomerKeyMD5 *string
// If present, specifies the ID of the Amazon Web Services Key Management Service // If present, specifies the ID of the Amazon Web Services Key Management Service
// (Amazon Web Services KMS) symmetric customer managed key that was used for // (Amazon Web Services KMS) symmetric encryption customer managed key that was
// stored in Amazon S3 object. // used for stored in Amazon S3 object.
SSEKMSKeyId *string SSEKMSKeyId *string
// The server-side encryption algorithm used when storing requested object in // The server-side encryption algorithm used when storing requested object in

View file

@ -3,4 +3,4 @@
package s3 package s3
// goModuleVersion is the tagged release for this module // goModuleVersion is the tagged release for this module
const goModuleVersion = "1.31.0" const goModuleVersion = "1.31.1"

View file

@ -275,6 +275,37 @@ func (EncodingType) Values() []EncodingType {
type Event string type Event string
// Enum values for Event
const (
EventS3ReducedRedundancyLostObject Event = "s3:ReducedRedundancyLostObject"
EventS3ObjectCreated Event = "s3:ObjectCreated:*"
EventS3ObjectCreatedPut Event = "s3:ObjectCreated:Put"
EventS3ObjectCreatedPost Event = "s3:ObjectCreated:Post"
EventS3ObjectCreatedCopy Event = "s3:ObjectCreated:Copy"
EventS3ObjectCreatedCompleteMultipartUpload Event = "s3:ObjectCreated:CompleteMultipartUpload"
EventS3ObjectRemoved Event = "s3:ObjectRemoved:*"
EventS3ObjectRemovedDelete Event = "s3:ObjectRemoved:Delete"
EventS3ObjectRemovedDeleteMarkerCreated Event = "s3:ObjectRemoved:DeleteMarkerCreated"
EventS3ObjectRestore Event = "s3:ObjectRestore:*"
EventS3ObjectRestorePost Event = "s3:ObjectRestore:Post"
EventS3ObjectRestoreCompleted Event = "s3:ObjectRestore:Completed"
EventS3Replication Event = "s3:Replication:*"
EventS3ReplicationOperationFailedReplication Event = "s3:Replication:OperationFailedReplication"
EventS3ReplicationOperationNotTracked Event = "s3:Replication:OperationNotTracked"
EventS3ReplicationOperationMissedThreshold Event = "s3:Replication:OperationMissedThreshold"
EventS3ReplicationOperationReplicatedAfterThreshold Event = "s3:Replication:OperationReplicatedAfterThreshold"
EventS3ObjectRestoreDelete Event = "s3:ObjectRestore:Delete"
EventS3LifecycleTransition Event = "s3:LifecycleTransition"
EventS3IntelligentTiering Event = "s3:IntelligentTiering"
EventS3ObjectAclPut Event = "s3:ObjectAcl:Put"
EventS3LifecycleExpiration Event = "s3:LifecycleExpiration:*"
EventS3LifecycleExpirationDelete Event = "s3:LifecycleExpiration:Delete"
EventS3LifecycleExpirationDeleteMarkerCreated Event = "s3:LifecycleExpiration:DeleteMarkerCreated"
EventS3ObjectTagging Event = "s3:ObjectTagging:*"
EventS3ObjectTaggingPut Event = "s3:ObjectTagging:Put"
EventS3ObjectTaggingDelete Event = "s3:ObjectTagging:Delete"
)
// Values returns all known values for Event. Note that this can be expanded in the // Values returns all known values for Event. Note that this can be expanded in the
// future, and so it is only as up to date as the client. The ordering of this // future, and so it is only as up to date as the client. The ordering of this
// slice is not guaranteed to be stable across updates. // slice is not guaranteed to be stable across updates.

View file

@ -512,7 +512,7 @@ type CSVInput struct {
// A single character used to indicate that a row should be ignored when the // A single character used to indicate that a row should be ignored when the
// character is present at the start of that row. You can specify any character to // character is present at the start of that row. You can specify any character to
// indicate a comment line. // indicate a comment line. The default character is #. Default: #
Comments *string Comments *string
// A single character used to separate individual fields in a record. You can // A single character used to separate individual fields in a record. You can
@ -755,9 +755,9 @@ type Encryption struct {
KMSContext *string KMSContext *string
// If the encryption type is aws:kms, this optional value specifies the ID of the // If the encryption type is aws:kms, this optional value specifies the ID of the
// symmetric customer managed key to use for encryption of job results. Amazon S3 // symmetric encryption customer managed key to use for encryption of job results.
// only supports symmetric keys. For more information, see Using symmetric and // Amazon S3 only supports symmetric encryption KMS keys. For more information, see
// asymmetric keys // Asymmetric keys in Amazon Web Services KMS
// (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) // (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)
// in the Amazon Web Services Key Management Service Developer Guide. // in the Amazon Web Services Key Management Service Developer Guide.
KMSKeyId *string KMSKeyId *string
@ -772,8 +772,8 @@ type EncryptionConfiguration struct {
// Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web // Specifies the ID (Key ARN or Alias ARN) of the customer managed Amazon Web
// Services KMS key stored in Amazon Web Services Key Management Service (KMS) for // Services KMS key stored in Amazon Web Services Key Management Service (KMS) for
// the destination bucket. Amazon S3 uses this key to encrypt replica objects. // the destination bucket. Amazon S3 uses this key to encrypt replica objects.
// Amazon S3 only supports symmetric, customer managed KMS keys. For more // Amazon S3 only supports symmetric encryption KMS keys. For more information, see
// information, see Using symmetric and asymmetric keys // Asymmetric keys in Amazon Web Services KMS
// (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) // (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)
// in the Amazon Web Services Key Management Service Developer Guide. // in the Amazon Web Services Key Management Service Developer Guide.
ReplicaKmsKeyID *string ReplicaKmsKeyID *string
@ -1643,20 +1643,20 @@ type Error struct {
// * // *
// Code: ServiceUnavailable // Code: ServiceUnavailable
// //
// * Description: Reduce your request rate. // * Description: Service is unable to handle request.
// //
// * HTTP // *
// Status Code: 503 Service Unavailable // HTTP Status Code: 503 Service Unavailable
// //
// * SOAP Fault Code Prefix: Server // * SOAP Fault Code Prefix: Server
// //
// * Code: // *
// SlowDown // Code: SlowDown
// //
// * Description: Reduce your request rate. // * Description: Reduce your request rate.
// //
// * HTTP Status Code: 503 Slow // * HTTP Status Code:
// Down // 503 Slow Down
// //
// * SOAP Fault Code Prefix: Server // * SOAP Fault Code Prefix: Server
// //
@ -1766,7 +1766,7 @@ type EventBridgeConfiguration struct {
// in the Amazon S3 User Guide. // in the Amazon S3 User Guide.
type ExistingObjectReplication struct { type ExistingObjectReplication struct {
// // Specifies whether Amazon S3 replicates existing source bucket objects.
// //
// This member is required. // This member is required.
Status ExistingObjectReplicationStatus Status ExistingObjectReplicationStatus
@ -2180,7 +2180,10 @@ type LambdaFunctionConfiguration struct {
noSmithyDocumentSerde noSmithyDocumentSerde
} }
// Container for the expiration for the lifecycle of the object. // Container for the expiration for the lifecycle of the object. For more
// information see, Managing your storage lifecycle
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)
// in the Amazon S3 User Guide.
type LifecycleExpiration struct { type LifecycleExpiration struct {
// Indicates at what date the object is to be moved or deleted. Should be in GMT // Indicates at what date the object is to be moved or deleted. Should be in GMT
@ -2200,7 +2203,10 @@ type LifecycleExpiration struct {
noSmithyDocumentSerde noSmithyDocumentSerde
} }
// A lifecycle rule for individual objects in an Amazon S3 bucket. // A lifecycle rule for individual objects in an Amazon S3 bucket. For more
// information see, Managing your storage lifecycle
// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)
// in the Amazon S3 User Guide.
type LifecycleRule struct { type LifecycleRule struct {
// If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is // If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is
@ -2430,7 +2436,8 @@ type MetricsAndOperator struct {
// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html). // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTMetricConfiguration.html).
type MetricsConfiguration struct { type MetricsConfiguration struct {
// The ID used to identify the metrics configuration. // The ID used to identify the metrics configuration. The ID has a 64 character
// limit and can only contain letters, numbers, periods, dashes, and underscores.
// //
// This member is required. // This member is required.
Id *string Id *string
@ -2831,7 +2838,27 @@ type OutputSerialization struct {
// Container for the owner's display name and ID. // Container for the owner's display name and ID.
type Owner struct { type Owner struct {
// Container for the display name of the owner. // Container for the display name of the owner. This value 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)
DisplayName *string DisplayName *string
// Container for the ID of the owner. // Container for the ID of the owner.
@ -3171,7 +3198,10 @@ type ReplicationRule struct {
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations). // (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-add-config.html#replication-backward-compat-considerations).
DeleteMarkerReplication *DeleteMarkerReplication DeleteMarkerReplication *DeleteMarkerReplication
// // Optional configuration to replicate existing source bucket objects. For more
// information, see Replicating Existing Objects
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication)
// in the Amazon S3 User Guide.
ExistingObjectReplication *ExistingObjectReplication ExistingObjectReplication *ExistingObjectReplication
// A filter that identifies the subset of objects to which the replication rule // A filter that identifies the subset of objects to which the replication rule
@ -3568,8 +3598,8 @@ type ServerSideEncryptionByDefault struct {
// arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab // arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab
// //
// Amazon // Amazon
// S3 only supports symmetric KMS keys and not asymmetric KMS keys. For more // S3 only supports symmetric encryption KMS keys. For more information, see
// information, see Using symmetric and asymmetric keys // Asymmetric keys in Amazon Web Services KMS
// (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) // (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)
// in the Amazon Web Services Key Management Service Developer Guide. // in the Amazon Web Services Key Management Service Developer Guide.
KMSMasterKeyID *string KMSMasterKeyID *string
@ -3637,8 +3667,8 @@ type SourceSelectionCriteria struct {
type SSEKMS struct { type SSEKMS struct {
// Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web // Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web
// Services KMS) symmetric customer managed key to use for encrypting inventory // Services KMS) symmetric encryption customer managed key to use for encrypting
// reports. // inventory reports.
// //
// This member is required. // This member is required.
KeyId *string KeyId *string

View file

@ -592,6 +592,9 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "ap-south-1", Region: "ap-south-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "ap-south-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "ap-southeast-1", Region: "ap-southeast-1",
}: endpoint{}, }: endpoint{},
@ -613,12 +616,18 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "eu-central-1", Region: "eu-central-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "eu-central-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "eu-north-1", Region: "eu-north-1",
}: endpoint{}, }: endpoint{},
endpointKey{ endpointKey{
Region: "eu-south-1", Region: "eu-south-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "eu-south-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "eu-west-1", Region: "eu-west-1",
}: endpoint{}, }: endpoint{},
@ -1861,6 +1870,9 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "eu-south-1", Region: "eu-south-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "eu-south-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "eu-west-1", Region: "eu-west-1",
}: endpoint{}, }: endpoint{},
@ -3254,6 +3266,9 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "ap-northeast-1", Region: "ap-northeast-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "ap-south-1",
}: endpoint{},
endpointKey{ endpointKey{
Region: "ap-southeast-1", Region: "ap-southeast-1",
}: endpoint{}, }: endpoint{},
@ -3272,6 +3287,9 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "eu-west-1", Region: "eu-west-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "eu-west-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "us-east-1", Region: "us-east-1",
}: endpoint{}, }: endpoint{},
@ -12592,6 +12610,12 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "ca-central-1", Region: "ca-central-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "ca-central-1",
Variant: fipsVariant,
}: endpoint{
Hostname: "greengrass-fips.ca-central-1.amazonaws.com",
},
endpointKey{ endpointKey{
Region: "eu-central-1", Region: "eu-central-1",
}: endpoint{}, }: endpoint{},
@ -12601,15 +12625,69 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "eu-west-2", Region: "eu-west-2",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "fips-ca-central-1",
}: endpoint{
Hostname: "greengrass-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
Deprecated: boxedTrue,
},
endpointKey{
Region: "fips-us-east-1",
}: endpoint{
Hostname: "greengrass-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
Deprecated: boxedTrue,
},
endpointKey{
Region: "fips-us-east-2",
}: endpoint{
Hostname: "greengrass-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
Deprecated: boxedTrue,
},
endpointKey{
Region: "fips-us-west-2",
}: endpoint{
Hostname: "greengrass-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
Deprecated: boxedTrue,
},
endpointKey{ endpointKey{
Region: "us-east-1", Region: "us-east-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "us-east-1",
Variant: fipsVariant,
}: endpoint{
Hostname: "greengrass-fips.us-east-1.amazonaws.com",
},
endpointKey{ endpointKey{
Region: "us-east-2", Region: "us-east-2",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "us-east-2",
Variant: fipsVariant,
}: endpoint{
Hostname: "greengrass-fips.us-east-2.amazonaws.com",
},
endpointKey{ endpointKey{
Region: "us-west-2", Region: "us-west-2",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "us-west-2",
Variant: fipsVariant,
}: endpoint{
Hostname: "greengrass-fips.us-west-2.amazonaws.com",
},
}, },
}, },
"groundstation": service{ "groundstation": service{
@ -14239,12 +14317,42 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "eu-west-1", Region: "eu-west-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "fips-us-east-1",
}: endpoint{
Hostname: "iottwinmaker-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
Deprecated: boxedTrue,
},
endpointKey{
Region: "fips-us-west-2",
}: endpoint{
Hostname: "iottwinmaker-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
Deprecated: boxedTrue,
},
endpointKey{ endpointKey{
Region: "us-east-1", Region: "us-east-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "us-east-1",
Variant: fipsVariant,
}: endpoint{
Hostname: "iottwinmaker-fips.us-east-1.amazonaws.com",
},
endpointKey{ endpointKey{
Region: "us-west-2", Region: "us-west-2",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "us-west-2",
Variant: fipsVariant,
}: endpoint{
Hostname: "iottwinmaker-fips.us-west-2.amazonaws.com",
},
}, },
}, },
"iotwireless": service{ "iotwireless": service{
@ -15562,6 +15670,9 @@ var awsPartition = partition{
}, },
Deprecated: boxedTrue, Deprecated: boxedTrue,
}, },
endpointKey{
Region: "me-central-1",
}: endpoint{},
endpointKey{ endpointKey{
Region: "me-south-1", Region: "me-south-1",
}: endpoint{}, }: endpoint{},
@ -17571,6 +17682,9 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "eu-south-1", Region: "eu-south-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "eu-south-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "eu-west-1", Region: "eu-west-1",
}: endpoint{}, }: endpoint{},
@ -17711,6 +17825,9 @@ var awsPartition = partition{
}, },
Deprecated: boxedTrue, Deprecated: boxedTrue,
}, },
endpointKey{
Region: "me-central-1",
}: endpoint{},
endpointKey{ endpointKey{
Region: "me-south-1", Region: "me-south-1",
}: endpoint{}, }: endpoint{},
@ -21956,6 +22073,9 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "eu-south-1", Region: "eu-south-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "eu-south-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "eu-west-1", Region: "eu-west-1",
}: endpoint{}, }: endpoint{},
@ -23122,30 +23242,84 @@ var awsPartition = partition{
}, },
"scheduler": service{ "scheduler": service{
Endpoints: serviceEndpoints{ Endpoints: serviceEndpoints{
endpointKey{
Region: "af-south-1",
}: endpoint{},
endpointKey{
Region: "ap-east-1",
}: endpoint{},
endpointKey{ endpointKey{
Region: "ap-northeast-1", Region: "ap-northeast-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "ap-northeast-2",
}: endpoint{},
endpointKey{
Region: "ap-northeast-3",
}: endpoint{},
endpointKey{
Region: "ap-south-1",
}: endpoint{},
endpointKey{
Region: "ap-south-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "ap-southeast-1", Region: "ap-southeast-1",
}: endpoint{}, }: endpoint{},
endpointKey{ endpointKey{
Region: "ap-southeast-2", Region: "ap-southeast-2",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "ap-southeast-3",
}: endpoint{},
endpointKey{
Region: "ap-southeast-4",
}: endpoint{},
endpointKey{
Region: "ca-central-1",
}: endpoint{},
endpointKey{ endpointKey{
Region: "eu-central-1", Region: "eu-central-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "eu-central-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "eu-north-1", Region: "eu-north-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "eu-south-1",
}: endpoint{},
endpointKey{
Region: "eu-south-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "eu-west-1", Region: "eu-west-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "eu-west-2",
}: endpoint{},
endpointKey{
Region: "eu-west-3",
}: endpoint{},
endpointKey{
Region: "me-central-1",
}: endpoint{},
endpointKey{
Region: "me-south-1",
}: endpoint{},
endpointKey{
Region: "sa-east-1",
}: endpoint{},
endpointKey{ endpointKey{
Region: "us-east-1", Region: "us-east-1",
}: endpoint{}, }: endpoint{},
endpointKey{ endpointKey{
Region: "us-east-2", Region: "us-east-2",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "us-west-1",
}: endpoint{},
endpointKey{ endpointKey{
Region: "us-west-2", Region: "us-west-2",
}: endpoint{}, }: endpoint{},
@ -23697,6 +23871,9 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "ap-south-1", Region: "ap-south-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "ap-south-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "ap-southeast-1", Region: "ap-southeast-1",
}: endpoint{}, }: endpoint{},
@ -23706,18 +23883,27 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "ap-southeast-3", Region: "ap-southeast-3",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "ap-southeast-4",
}: endpoint{},
endpointKey{ endpointKey{
Region: "ca-central-1", Region: "ca-central-1",
}: endpoint{}, }: endpoint{},
endpointKey{ endpointKey{
Region: "eu-central-1", Region: "eu-central-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "eu-central-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "eu-north-1", Region: "eu-north-1",
}: endpoint{}, }: endpoint{},
endpointKey{ endpointKey{
Region: "eu-south-1", Region: "eu-south-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "eu-south-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "eu-west-1", Region: "eu-west-1",
}: endpoint{}, }: endpoint{},
@ -24332,6 +24518,9 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "ap-south-1", Region: "ap-south-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "ap-south-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "ap-southeast-1", Region: "ap-southeast-1",
}: endpoint{}, }: endpoint{},
@ -24341,18 +24530,27 @@ var awsPartition = partition{
endpointKey{ endpointKey{
Region: "ap-southeast-3", Region: "ap-southeast-3",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "ap-southeast-4",
}: endpoint{},
endpointKey{ endpointKey{
Region: "ca-central-1", Region: "ca-central-1",
}: endpoint{}, }: endpoint{},
endpointKey{ endpointKey{
Region: "eu-central-1", Region: "eu-central-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "eu-central-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "eu-north-1", Region: "eu-north-1",
}: endpoint{}, }: endpoint{},
endpointKey{ endpointKey{
Region: "eu-south-1", Region: "eu-south-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "eu-south-2",
}: endpoint{},
endpointKey{ endpointKey{
Region: "eu-west-1", Region: "eu-west-1",
}: endpoint{}, }: endpoint{},
@ -27554,6 +27752,31 @@ var awsPartition = partition{
}, },
}, },
}, },
"vpc-lattice": service{
Endpoints: serviceEndpoints{
endpointKey{
Region: "ap-northeast-1",
}: endpoint{},
endpointKey{
Region: "ap-southeast-1",
}: endpoint{},
endpointKey{
Region: "ap-southeast-2",
}: endpoint{},
endpointKey{
Region: "eu-west-1",
}: endpoint{},
endpointKey{
Region: "us-east-1",
}: endpoint{},
endpointKey{
Region: "us-east-2",
}: endpoint{},
endpointKey{
Region: "us-west-2",
}: endpoint{},
},
},
"waf": service{ "waf": service{
PartitionEndpoint: "aws-global", PartitionEndpoint: "aws-global",
IsRegionalized: boxedFalse, IsRegionalized: boxedFalse,
@ -27717,6 +27940,23 @@ var awsPartition = partition{
Region: "ap-south-1", Region: "ap-south-1",
}, },
}, },
endpointKey{
Region: "ap-south-2",
}: endpoint{
Hostname: "waf-regional.ap-south-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-south-2",
},
},
endpointKey{
Region: "ap-south-2",
Variant: fipsVariant,
}: endpoint{
Hostname: "waf-regional-fips.ap-south-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-south-2",
},
},
endpointKey{ endpointKey{
Region: "ap-southeast-1", Region: "ap-southeast-1",
}: endpoint{ }: endpoint{
@ -27768,6 +28008,23 @@ var awsPartition = partition{
Region: "ap-southeast-3", Region: "ap-southeast-3",
}, },
}, },
endpointKey{
Region: "ap-southeast-4",
}: endpoint{
Hostname: "waf-regional.ap-southeast-4.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-4",
},
},
endpointKey{
Region: "ap-southeast-4",
Variant: fipsVariant,
}: endpoint{
Hostname: "waf-regional-fips.ap-southeast-4.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-4",
},
},
endpointKey{ endpointKey{
Region: "ca-central-1", Region: "ca-central-1",
}: endpoint{ }: endpoint{
@ -27802,6 +28059,23 @@ var awsPartition = partition{
Region: "eu-central-1", Region: "eu-central-1",
}, },
}, },
endpointKey{
Region: "eu-central-2",
}: endpoint{
Hostname: "waf-regional.eu-central-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-2",
},
},
endpointKey{
Region: "eu-central-2",
Variant: fipsVariant,
}: endpoint{
Hostname: "waf-regional-fips.eu-central-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-2",
},
},
endpointKey{ endpointKey{
Region: "eu-north-1", Region: "eu-north-1",
}: endpoint{ }: endpoint{
@ -27836,6 +28110,23 @@ var awsPartition = partition{
Region: "eu-south-1", Region: "eu-south-1",
}, },
}, },
endpointKey{
Region: "eu-south-2",
}: endpoint{
Hostname: "waf-regional.eu-south-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-south-2",
},
},
endpointKey{
Region: "eu-south-2",
Variant: fipsVariant,
}: endpoint{
Hostname: "waf-regional-fips.eu-south-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-south-2",
},
},
endpointKey{ endpointKey{
Region: "eu-west-1", Region: "eu-west-1",
}: endpoint{ }: endpoint{
@ -27941,6 +28232,15 @@ var awsPartition = partition{
}, },
Deprecated: boxedTrue, Deprecated: boxedTrue,
}, },
endpointKey{
Region: "fips-ap-south-2",
}: endpoint{
Hostname: "waf-regional-fips.ap-south-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-south-2",
},
Deprecated: boxedTrue,
},
endpointKey{ endpointKey{
Region: "fips-ap-southeast-1", Region: "fips-ap-southeast-1",
}: endpoint{ }: endpoint{
@ -27968,6 +28268,15 @@ var awsPartition = partition{
}, },
Deprecated: boxedTrue, Deprecated: boxedTrue,
}, },
endpointKey{
Region: "fips-ap-southeast-4",
}: endpoint{
Hostname: "waf-regional-fips.ap-southeast-4.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-4",
},
Deprecated: boxedTrue,
},
endpointKey{ endpointKey{
Region: "fips-ca-central-1", Region: "fips-ca-central-1",
}: endpoint{ }: endpoint{
@ -27986,6 +28295,15 @@ var awsPartition = partition{
}, },
Deprecated: boxedTrue, Deprecated: boxedTrue,
}, },
endpointKey{
Region: "fips-eu-central-2",
}: endpoint{
Hostname: "waf-regional-fips.eu-central-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-2",
},
Deprecated: boxedTrue,
},
endpointKey{ endpointKey{
Region: "fips-eu-north-1", Region: "fips-eu-north-1",
}: endpoint{ }: endpoint{
@ -28004,6 +28322,15 @@ var awsPartition = partition{
}, },
Deprecated: boxedTrue, Deprecated: boxedTrue,
}, },
endpointKey{
Region: "fips-eu-south-2",
}: endpoint{
Hostname: "waf-regional-fips.eu-south-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-south-2",
},
Deprecated: boxedTrue,
},
endpointKey{ endpointKey{
Region: "fips-eu-west-1", Region: "fips-eu-west-1",
}: endpoint{ }: endpoint{
@ -28319,6 +28646,23 @@ var awsPartition = partition{
Region: "ap-south-1", Region: "ap-south-1",
}, },
}, },
endpointKey{
Region: "ap-south-2",
}: endpoint{
Hostname: "wafv2.ap-south-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-south-2",
},
},
endpointKey{
Region: "ap-south-2",
Variant: fipsVariant,
}: endpoint{
Hostname: "wafv2-fips.ap-south-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-south-2",
},
},
endpointKey{ endpointKey{
Region: "ap-southeast-1", Region: "ap-southeast-1",
}: endpoint{ }: endpoint{
@ -28370,6 +28714,23 @@ var awsPartition = partition{
Region: "ap-southeast-3", Region: "ap-southeast-3",
}, },
}, },
endpointKey{
Region: "ap-southeast-4",
}: endpoint{
Hostname: "wafv2.ap-southeast-4.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-4",
},
},
endpointKey{
Region: "ap-southeast-4",
Variant: fipsVariant,
}: endpoint{
Hostname: "wafv2-fips.ap-southeast-4.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-4",
},
},
endpointKey{ endpointKey{
Region: "ca-central-1", Region: "ca-central-1",
}: endpoint{ }: endpoint{
@ -28404,6 +28765,23 @@ var awsPartition = partition{
Region: "eu-central-1", Region: "eu-central-1",
}, },
}, },
endpointKey{
Region: "eu-central-2",
}: endpoint{
Hostname: "wafv2.eu-central-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-2",
},
},
endpointKey{
Region: "eu-central-2",
Variant: fipsVariant,
}: endpoint{
Hostname: "wafv2-fips.eu-central-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-2",
},
},
endpointKey{ endpointKey{
Region: "eu-north-1", Region: "eu-north-1",
}: endpoint{ }: endpoint{
@ -28438,6 +28816,23 @@ var awsPartition = partition{
Region: "eu-south-1", Region: "eu-south-1",
}, },
}, },
endpointKey{
Region: "eu-south-2",
}: endpoint{
Hostname: "wafv2.eu-south-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-south-2",
},
},
endpointKey{
Region: "eu-south-2",
Variant: fipsVariant,
}: endpoint{
Hostname: "wafv2-fips.eu-south-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-south-2",
},
},
endpointKey{ endpointKey{
Region: "eu-west-1", Region: "eu-west-1",
}: endpoint{ }: endpoint{
@ -28543,6 +28938,15 @@ var awsPartition = partition{
}, },
Deprecated: boxedTrue, Deprecated: boxedTrue,
}, },
endpointKey{
Region: "fips-ap-south-2",
}: endpoint{
Hostname: "wafv2-fips.ap-south-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-south-2",
},
Deprecated: boxedTrue,
},
endpointKey{ endpointKey{
Region: "fips-ap-southeast-1", Region: "fips-ap-southeast-1",
}: endpoint{ }: endpoint{
@ -28570,6 +28974,15 @@ var awsPartition = partition{
}, },
Deprecated: boxedTrue, Deprecated: boxedTrue,
}, },
endpointKey{
Region: "fips-ap-southeast-4",
}: endpoint{
Hostname: "wafv2-fips.ap-southeast-4.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-4",
},
Deprecated: boxedTrue,
},
endpointKey{ endpointKey{
Region: "fips-ca-central-1", Region: "fips-ca-central-1",
}: endpoint{ }: endpoint{
@ -28588,6 +29001,15 @@ var awsPartition = partition{
}, },
Deprecated: boxedTrue, Deprecated: boxedTrue,
}, },
endpointKey{
Region: "fips-eu-central-2",
}: endpoint{
Hostname: "wafv2-fips.eu-central-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-2",
},
Deprecated: boxedTrue,
},
endpointKey{ endpointKey{
Region: "fips-eu-north-1", Region: "fips-eu-north-1",
}: endpoint{ }: endpoint{
@ -28606,6 +29028,15 @@ var awsPartition = partition{
}, },
Deprecated: boxedTrue, Deprecated: boxedTrue,
}, },
endpointKey{
Region: "fips-eu-south-2",
}: endpoint{
Hostname: "wafv2-fips.eu-south-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-south-2",
},
Deprecated: boxedTrue,
},
endpointKey{ endpointKey{
Region: "fips-eu-west-1", Region: "fips-eu-west-1",
}: endpoint{ }: endpoint{
@ -34164,9 +34595,24 @@ var awsusgovPartition = partition{
}, },
"iottwinmaker": service{ "iottwinmaker": service{
Endpoints: serviceEndpoints{ Endpoints: serviceEndpoints{
endpointKey{
Region: "fips-us-gov-west-1",
}: endpoint{
Hostname: "iottwinmaker-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
Deprecated: boxedTrue,
},
endpointKey{ endpointKey{
Region: "us-gov-west-1", Region: "us-gov-west-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "us-gov-west-1",
Variant: fipsVariant,
}: endpoint{
Hostname: "iottwinmaker-fips.us-gov-west-1.amazonaws.com",
},
}, },
}, },
"kafka": service{ "kafka": service{

View file

@ -174,7 +174,6 @@ const (
// Options provides the means to control how a Session is created and what // Options provides the means to control how a Session is created and what
// configuration values will be loaded. // configuration values will be loaded.
//
type Options struct { type Options struct {
// Provides config values for the SDK to use when creating service clients // Provides config values for the SDK to use when creating service clients
// and making API requests to services. Any value set in with this field // and making API requests to services. Any value set in with this field
@ -780,16 +779,6 @@ func mergeConfigSrcs(cfg, userCfg *aws.Config,
cfg.EndpointResolver = wrapEC2IMDSEndpoint(cfg.EndpointResolver, ec2IMDSEndpoint, endpointMode) cfg.EndpointResolver = wrapEC2IMDSEndpoint(cfg.EndpointResolver, ec2IMDSEndpoint, endpointMode)
} }
// Configure credentials if not already set by the user when creating the
// Session.
if cfg.Credentials == credentials.AnonymousCredentials && userCfg.Credentials == nil {
creds, err := resolveCredentials(cfg, envCfg, sharedCfg, handlers, sessOpts)
if err != nil {
return err
}
cfg.Credentials = creds
}
cfg.S3UseARNRegion = userCfg.S3UseARNRegion cfg.S3UseARNRegion = userCfg.S3UseARNRegion
if cfg.S3UseARNRegion == nil { if cfg.S3UseARNRegion == nil {
cfg.S3UseARNRegion = &envCfg.S3UseARNRegion cfg.S3UseARNRegion = &envCfg.S3UseARNRegion
@ -812,6 +801,17 @@ func mergeConfigSrcs(cfg, userCfg *aws.Config,
} }
} }
// Configure credentials if not already set by the user when creating the Session.
// Credentials are resolved last such that all _resolved_ config values are propagated to credential providers.
// ticket: P83606045
if cfg.Credentials == credentials.AnonymousCredentials && userCfg.Credentials == nil {
creds, err := resolveCredentials(cfg, envCfg, sharedCfg, handlers, sessOpts)
if err != nil {
return err
}
cfg.Credentials = creds
}
return nil return nil
} }

View file

@ -5,4 +5,4 @@ package aws
const SDKName = "aws-sdk-go" const SDKName = "aws-sdk-go"
// SDKVersion is the version of this SDK // SDKVersion is the version of this SDK
const SDKVersion = "1.44.230" const SDKVersion = "1.44.234"

View file

@ -6,7 +6,6 @@ linters:
disable-all: true disable-all: true
enable: enable:
- asciicheck - asciicheck
- deadcode
- errcheck - errcheck
- forcetypeassert - forcetypeassert
- gocritic - gocritic
@ -18,10 +17,8 @@ linters:
- misspell - misspell
- revive - revive
- staticcheck - staticcheck
- structcheck
- typecheck - typecheck
- unused - unused
- varcheck
issues: issues:
exclude-use-default: false exclude-use-default: false

View file

@ -20,35 +20,5 @@ package logr
// used whenever the caller is not interested in the logs. Logger instances // used whenever the caller is not interested in the logs. Logger instances
// produced by this function always compare as equal. // produced by this function always compare as equal.
func Discard() Logger { func Discard() Logger {
return Logger{ return New(nil)
level: 0,
sink: discardLogSink{},
}
}
// discardLogSink is a LogSink that discards all messages.
type discardLogSink struct{}
// Verify that it actually implements the interface
var _ LogSink = discardLogSink{}
func (l discardLogSink) Init(RuntimeInfo) {
}
func (l discardLogSink) Enabled(int) bool {
return false
}
func (l discardLogSink) Info(int, string, ...interface{}) {
}
func (l discardLogSink) Error(error, string, ...interface{}) {
}
func (l discardLogSink) WithValues(...interface{}) LogSink {
return l
}
func (l discardLogSink) WithName(string) LogSink {
return l
} }

View file

@ -21,13 +21,13 @@ limitations under the License.
// github.com/go-logr/logr.LogSink with output through an arbitrary // github.com/go-logr/logr.LogSink with output through an arbitrary
// "write" function. See New and NewJSON for details. // "write" function. See New and NewJSON for details.
// //
// Custom LogSinks // # Custom LogSinks
// //
// For users who need more control, a funcr.Formatter can be embedded inside // For users who need more control, a funcr.Formatter can be embedded inside
// your own custom LogSink implementation. This is useful when the LogSink // your own custom LogSink implementation. This is useful when the LogSink
// needs to implement additional methods, for example. // needs to implement additional methods, for example.
// //
// Formatting // # Formatting
// //
// This will respect logr.Marshaler, fmt.Stringer, and error interfaces for // This will respect logr.Marshaler, fmt.Stringer, and error interfaces for
// values which are being logged. When rendering a struct, funcr will use Go's // values which are being logged. When rendering a struct, funcr will use Go's
@ -37,6 +37,7 @@ package funcr
import ( import (
"bytes" "bytes"
"encoding" "encoding"
"encoding/json"
"fmt" "fmt"
"path/filepath" "path/filepath"
"reflect" "reflect"
@ -217,7 +218,7 @@ func newFormatter(opts Options, outfmt outputFormat) Formatter {
prefix: "", prefix: "",
values: nil, values: nil,
depth: 0, depth: 0,
opts: opts, opts: &opts,
} }
return f return f
} }
@ -231,7 +232,7 @@ type Formatter struct {
values []interface{} values []interface{}
valuesStr string valuesStr string
depth int depth int
opts Options opts *Options
} }
// outputFormat indicates which outputFormat to use. // outputFormat indicates which outputFormat to use.
@ -447,6 +448,7 @@ func (f Formatter) prettyWithFlags(value interface{}, flags uint32, depth int) s
if flags&flagRawStruct == 0 { if flags&flagRawStruct == 0 {
buf.WriteByte('{') buf.WriteByte('{')
} }
printComma := false // testing i>0 is not enough because of JSON omitted fields
for i := 0; i < t.NumField(); i++ { for i := 0; i < t.NumField(); i++ {
fld := t.Field(i) fld := t.Field(i)
if fld.PkgPath != "" { if fld.PkgPath != "" {
@ -478,9 +480,10 @@ func (f Formatter) prettyWithFlags(value interface{}, flags uint32, depth int) s
if omitempty && isEmpty(v.Field(i)) { if omitempty && isEmpty(v.Field(i)) {
continue continue
} }
if i > 0 { if printComma {
buf.WriteByte(',') buf.WriteByte(',')
} }
printComma = true // if we got here, we are rendering a field
if fld.Anonymous && fld.Type.Kind() == reflect.Struct && name == "" { if fld.Anonymous && fld.Type.Kind() == reflect.Struct && name == "" {
buf.WriteString(f.prettyWithFlags(v.Field(i).Interface(), flags|flagRawStruct, depth+1)) buf.WriteString(f.prettyWithFlags(v.Field(i).Interface(), flags|flagRawStruct, depth+1))
continue continue
@ -500,6 +503,20 @@ func (f Formatter) prettyWithFlags(value interface{}, flags uint32, depth int) s
} }
return buf.String() return buf.String()
case reflect.Slice, reflect.Array: case reflect.Slice, reflect.Array:
// If this is outputing as JSON make sure this isn't really a json.RawMessage.
// If so just emit "as-is" and don't pretty it as that will just print
// it as [X,Y,Z,...] which isn't terribly useful vs the string form you really want.
if f.outputFormat == outputJSON {
if rm, ok := value.(json.RawMessage); ok {
// If it's empty make sure we emit an empty value as the array style would below.
if len(rm) > 0 {
buf.Write(rm)
} else {
buf.WriteString("null")
}
return buf.String()
}
}
buf.WriteByte('[') buf.WriteByte('[')
for i := 0; i < v.Len(); i++ { for i := 0; i < v.Len(); i++ {
if i > 0 { if i > 0 {

View file

@ -21,7 +21,7 @@ limitations under the License.
// to back that API. Packages in the Go ecosystem can depend on this package, // to back that API. Packages in the Go ecosystem can depend on this package,
// while callers can implement logging with whatever backend is appropriate. // while callers can implement logging with whatever backend is appropriate.
// //
// Usage // # Usage
// //
// Logging is done using a Logger instance. Logger is a concrete type with // Logging is done using a Logger instance. Logger is a concrete type with
// methods, which defers the actual logging to a LogSink interface. The main // methods, which defers the actual logging to a LogSink interface. The main
@ -30,15 +30,19 @@ limitations under the License.
// "structured logging". // "structured logging".
// //
// With Go's standard log package, we might write: // With Go's standard log package, we might write:
//
// log.Printf("setting target value %s", targetValue) // log.Printf("setting target value %s", targetValue)
// //
// With logr's structured logging, we'd write: // With logr's structured logging, we'd write:
//
// logger.Info("setting target", "value", targetValue) // logger.Info("setting target", "value", targetValue)
// //
// Errors are much the same. Instead of: // Errors are much the same. Instead of:
//
// log.Printf("failed to open the pod bay door for user %s: %v", user, err) // log.Printf("failed to open the pod bay door for user %s: %v", user, err)
// //
// We'd write: // We'd write:
//
// logger.Error(err, "failed to open the pod bay door", "user", user) // logger.Error(err, "failed to open the pod bay door", "user", user)
// //
// Info() and Error() are very similar, but they are separate methods so that // Info() and Error() are very similar, but they are separate methods so that
@ -47,7 +51,7 @@ limitations under the License.
// always logged, regardless of the current verbosity. If there is no error // always logged, regardless of the current verbosity. If there is no error
// instance available, passing nil is valid. // instance available, passing nil is valid.
// //
// Verbosity // # Verbosity
// //
// Often we want to log information only when the application in "verbose // Often we want to log information only when the application in "verbose
// mode". To write log lines that are more verbose, Logger has a V() method. // mode". To write log lines that are more verbose, Logger has a V() method.
@ -58,14 +62,16 @@ limitations under the License.
// Error messages do not have a verbosity level and are always logged. // Error messages do not have a verbosity level and are always logged.
// //
// Where we might have written: // Where we might have written:
//
// if flVerbose >= 2 { // if flVerbose >= 2 {
// log.Printf("an unusual thing happened") // log.Printf("an unusual thing happened")
// } // }
// //
// We can write: // We can write:
//
// logger.V(2).Info("an unusual thing happened") // logger.V(2).Info("an unusual thing happened")
// //
// Logger Names // # Logger Names
// //
// Logger instances can have name strings so that all messages logged through // Logger instances can have name strings so that all messages logged through
// that instance have additional context. For example, you might want to add // that instance have additional context. For example, you might want to add
@ -82,17 +88,19 @@ limitations under the License.
// joining operation (e.g. whitespace, commas, periods, slashes, brackets, // joining operation (e.g. whitespace, commas, periods, slashes, brackets,
// quotes, etc). // quotes, etc).
// //
// Saved Values // # Saved Values
// //
// Logger instances can store any number of key/value pairs, which will be // Logger instances can store any number of key/value pairs, which will be
// logged alongside all messages logged through that instance. For example, // logged alongside all messages logged through that instance. For example,
// you might want to create a Logger instance per managed object: // you might want to create a Logger instance per managed object:
// //
// With the standard log package, we might write: // With the standard log package, we might write:
//
// log.Printf("decided to set field foo to value %q for object %s/%s", // log.Printf("decided to set field foo to value %q for object %s/%s",
// targetValue, object.Namespace, object.Name) // targetValue, object.Namespace, object.Name)
// //
// With logr we'd write: // With logr we'd write:
//
// // Elsewhere: set up the logger to log the object name. // // Elsewhere: set up the logger to log the object name.
// obj.logger = mainLogger.WithValues( // obj.logger = mainLogger.WithValues(
// "name", obj.name, "namespace", obj.namespace) // "name", obj.name, "namespace", obj.namespace)
@ -100,7 +108,7 @@ limitations under the License.
// // later on... // // later on...
// obj.logger.Info("setting foo", "value", targetValue) // obj.logger.Info("setting foo", "value", targetValue)
// //
// Best Practices // # Best Practices
// //
// Logger has very few hard rules, with the goal that LogSink implementations // Logger has very few hard rules, with the goal that LogSink implementations
// might have a lot of freedom to differentiate. There are, however, some // might have a lot of freedom to differentiate. There are, however, some
@ -124,15 +132,15 @@ limitations under the License.
// around. For cases where passing a logger is optional, a pointer to Logger // around. For cases where passing a logger is optional, a pointer to Logger
// should be used. // should be used.
// //
// Key Naming Conventions // # Key Naming Conventions
// //
// Keys are not strictly required to conform to any specification or regex, but // Keys are not strictly required to conform to any specification or regex, but
// it is recommended that they: // it is recommended that they:
// * be human-readable and meaningful (not auto-generated or simple ordinals) // - be human-readable and meaningful (not auto-generated or simple ordinals)
// * be constant (not dependent on input data) // - be constant (not dependent on input data)
// * contain only printable characters // - contain only printable characters
// * not contain whitespace or punctuation // - not contain whitespace or punctuation
// * use lower case for simple keys and lowerCamelCase for more complex ones // - use lower case for simple keys and lowerCamelCase for more complex ones
// //
// These guidelines help ensure that log data is processed properly regardless // These guidelines help ensure that log data is processed properly regardless
// of the log implementation. For example, log implementations will try to // of the log implementation. For example, log implementations will try to
@ -141,24 +149,25 @@ limitations under the License.
// While users are generally free to use key names of their choice, it's // While users are generally free to use key names of their choice, it's
// generally best to avoid using the following keys, as they're frequently used // generally best to avoid using the following keys, as they're frequently used
// by implementations: // by implementations:
// * "caller": the calling information (file/line) of a particular log line // - "caller": the calling information (file/line) of a particular log line
// * "error": the underlying error value in the `Error` method // - "error": the underlying error value in the `Error` method
// * "level": the log level // - "level": the log level
// * "logger": the name of the associated logger // - "logger": the name of the associated logger
// * "msg": the log message // - "msg": the log message
// * "stacktrace": the stack trace associated with a particular log line or // - "stacktrace": the stack trace associated with a particular log line or
// error (often from the `Error` message) // error (often from the `Error` message)
// * "ts": the timestamp for a log line // - "ts": the timestamp for a log line
// //
// Implementations are encouraged to make use of these keys to represent the // Implementations are encouraged to make use of these keys to represent the
// above concepts, when necessary (for example, in a pure-JSON output form, it // above concepts, when necessary (for example, in a pure-JSON output form, it
// would be necessary to represent at least message and timestamp as ordinary // would be necessary to represent at least message and timestamp as ordinary
// named values). // named values).
// //
// Break Glass // # Break Glass
// //
// Implementations may choose to give callers access to the underlying // Implementations may choose to give callers access to the underlying
// logging implementation. The recommended pattern for this is: // logging implementation. The recommended pattern for this is:
//
// // Underlier exposes access to the underlying logging implementation. // // Underlier exposes access to the underlying logging implementation.
// // Since callers only have a logr.Logger, they have to know which // // Since callers only have a logr.Logger, they have to know which
// // implementation is in use, so this interface is less of an abstraction // // implementation is in use, so this interface is less of an abstraction
@ -168,8 +177,9 @@ limitations under the License.
// } // }
// //
// Logger grants access to the sink to enable type assertions like this: // Logger grants access to the sink to enable type assertions like this:
//
// func DoSomethingWithImpl(log logr.Logger) { // func DoSomethingWithImpl(log logr.Logger) {
// if underlier, ok := log.GetSink()(impl.Underlier) { // if underlier, ok := log.GetSink().(impl.Underlier); ok {
// implLogger := underlier.GetUnderlying() // implLogger := underlier.GetUnderlying()
// ... // ...
// } // }
@ -177,11 +187,12 @@ limitations under the License.
// //
// Custom `With*` functions can be implemented by copying the complete // Custom `With*` functions can be implemented by copying the complete
// Logger struct and replacing the sink in the copy: // Logger struct and replacing the sink in the copy:
//
// // WithFooBar changes the foobar parameter in the log sink and returns a // // WithFooBar changes the foobar parameter in the log sink and returns a
// // new logger with that modified sink. It does nothing for loggers where // // new logger with that modified sink. It does nothing for loggers where
// // the sink doesn't support that parameter. // // the sink doesn't support that parameter.
// func WithFoobar(log logr.Logger, foobar int) logr.Logger { // func WithFoobar(log logr.Logger, foobar int) logr.Logger {
// if foobarLogSink, ok := log.GetSink()(FoobarSink); ok { // if foobarLogSink, ok := log.GetSink().(FoobarSink); ok {
// log = log.WithSink(foobarLogSink.WithFooBar(foobar)) // log = log.WithSink(foobarLogSink.WithFooBar(foobar))
// } // }
// return log // return log
@ -201,11 +212,14 @@ import (
) )
// New returns a new Logger instance. This is primarily used by libraries // New returns a new Logger instance. This is primarily used by libraries
// implementing LogSink, rather than end users. // implementing LogSink, rather than end users. Passing a nil sink will create
// a Logger which discards all log lines.
func New(sink LogSink) Logger { func New(sink LogSink) Logger {
logger := Logger{} logger := Logger{}
logger.setSink(sink) logger.setSink(sink)
if sink != nil {
sink.Init(runtimeInfo) sink.Init(runtimeInfo)
}
return logger return logger
} }
@ -244,7 +258,7 @@ type Logger struct {
// Enabled tests whether this Logger is enabled. For example, commandline // Enabled tests whether this Logger is enabled. For example, commandline
// flags might be used to set the logging verbosity and disable some info logs. // flags might be used to set the logging verbosity and disable some info logs.
func (l Logger) Enabled() bool { func (l Logger) Enabled() bool {
return l.sink.Enabled(l.level) return l.sink != nil && l.sink.Enabled(l.level)
} }
// Info logs a non-error message with the given key/value pairs as context. // Info logs a non-error message with the given key/value pairs as context.
@ -254,6 +268,9 @@ func (l Logger) Enabled() bool {
// information. The key/value pairs must alternate string keys and arbitrary // information. The key/value pairs must alternate string keys and arbitrary
// values. // values.
func (l Logger) Info(msg string, keysAndValues ...interface{}) { func (l Logger) Info(msg string, keysAndValues ...interface{}) {
if l.sink == nil {
return
}
if l.Enabled() { if l.Enabled() {
if withHelper, ok := l.sink.(CallStackHelperLogSink); ok { if withHelper, ok := l.sink.(CallStackHelperLogSink); ok {
withHelper.GetCallStackHelper()() withHelper.GetCallStackHelper()()
@ -273,6 +290,9 @@ func (l Logger) Info(msg string, keysAndValues ...interface{}) {
// triggered this log line, if present. The err parameter is optional // triggered this log line, if present. The err parameter is optional
// and nil may be passed instead of an error instance. // and nil may be passed instead of an error instance.
func (l Logger) Error(err error, msg string, keysAndValues ...interface{}) { func (l Logger) Error(err error, msg string, keysAndValues ...interface{}) {
if l.sink == nil {
return
}
if withHelper, ok := l.sink.(CallStackHelperLogSink); ok { if withHelper, ok := l.sink.(CallStackHelperLogSink); ok {
withHelper.GetCallStackHelper()() withHelper.GetCallStackHelper()()
} }
@ -284,6 +304,9 @@ func (l Logger) Error(err error, msg string, keysAndValues ...interface{}) {
// level means a log message is less important. Negative V-levels are treated // level means a log message is less important. Negative V-levels are treated
// as 0. // as 0.
func (l Logger) V(level int) Logger { func (l Logger) V(level int) Logger {
if l.sink == nil {
return l
}
if level < 0 { if level < 0 {
level = 0 level = 0
} }
@ -294,6 +317,9 @@ func (l Logger) V(level int) Logger {
// WithValues returns a new Logger instance with additional key/value pairs. // WithValues returns a new Logger instance with additional key/value pairs.
// See Info for documentation on how key/value pairs work. // See Info for documentation on how key/value pairs work.
func (l Logger) WithValues(keysAndValues ...interface{}) Logger { func (l Logger) WithValues(keysAndValues ...interface{}) Logger {
if l.sink == nil {
return l
}
l.setSink(l.sink.WithValues(keysAndValues...)) l.setSink(l.sink.WithValues(keysAndValues...))
return l return l
} }
@ -304,6 +330,9 @@ func (l Logger) WithValues(keysAndValues ...interface{}) Logger {
// contain only letters, digits, and hyphens (see the package documentation for // contain only letters, digits, and hyphens (see the package documentation for
// more information). // more information).
func (l Logger) WithName(name string) Logger { func (l Logger) WithName(name string) Logger {
if l.sink == nil {
return l
}
l.setSink(l.sink.WithName(name)) l.setSink(l.sink.WithName(name))
return l return l
} }
@ -324,6 +353,9 @@ func (l Logger) WithName(name string) Logger {
// WithCallDepth(1) because it works with implementions that support the // WithCallDepth(1) because it works with implementions that support the
// CallDepthLogSink and/or CallStackHelperLogSink interfaces. // CallDepthLogSink and/or CallStackHelperLogSink interfaces.
func (l Logger) WithCallDepth(depth int) Logger { func (l Logger) WithCallDepth(depth int) Logger {
if l.sink == nil {
return l
}
if withCallDepth, ok := l.sink.(CallDepthLogSink); ok { if withCallDepth, ok := l.sink.(CallDepthLogSink); ok {
l.setSink(withCallDepth.WithCallDepth(depth)) l.setSink(withCallDepth.WithCallDepth(depth))
} }
@ -345,6 +377,9 @@ func (l Logger) WithCallDepth(depth int) Logger {
// implementation does not support either of these, the original Logger will be // implementation does not support either of these, the original Logger will be
// returned. // returned.
func (l Logger) WithCallStackHelper() (func(), Logger) { func (l Logger) WithCallStackHelper() (func(), Logger) {
if l.sink == nil {
return func() {}, l
}
var helper func() var helper func()
if withCallDepth, ok := l.sink.(CallDepthLogSink); ok { if withCallDepth, ok := l.sink.(CallDepthLogSink); ok {
l.setSink(withCallDepth.WithCallDepth(1)) l.setSink(withCallDepth.WithCallDepth(1))
@ -357,6 +392,11 @@ func (l Logger) WithCallStackHelper() (func(), Logger) {
return helper, l return helper, l
} }
// IsZero returns true if this logger is an uninitialized zero value
func (l Logger) IsZero() bool {
return l.sink == nil
}
// contextKey is how we find Loggers in a context.Context. // contextKey is how we find Loggers in a context.Context.
type contextKey struct{} type contextKey struct{}
@ -442,7 +482,7 @@ type LogSink interface {
WithName(name string) LogSink WithName(name string) LogSink
} }
// CallDepthLogSink represents a Logger that knows how to climb the call stack // CallDepthLogSink represents a LogSink that knows how to climb the call stack
// to identify the original call site and can offset the depth by a specified // to identify the original call site and can offset the depth by a specified
// number of frames. This is useful for users who have helper functions // number of frames. This is useful for users who have helper functions
// between the "real" call site and the actual calls to Logger methods. // between the "real" call site and the actual calls to Logger methods.
@ -467,7 +507,7 @@ type CallDepthLogSink interface {
WithCallDepth(depth int) LogSink WithCallDepth(depth int) LogSink
} }
// CallStackHelperLogSink represents a Logger that knows how to climb // CallStackHelperLogSink represents a LogSink that knows how to climb
// the call stack to identify the original call site and can skip // the call stack to identify the original call site and can skip
// intermediate helper functions if they mark themselves as // intermediate helper functions if they mark themselves as
// helper. Go's testing package uses that approach. // helper. Go's testing package uses that approach.

View file

@ -795,6 +795,31 @@ type DotnetSettings struct {
// Some settings. // Some settings.
Common *CommonLanguageSettings `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"` Common *CommonLanguageSettings `protobuf:"bytes,1,opt,name=common,proto3" json:"common,omitempty"`
// Map from original service names to renamed versions.
// This is used when the default generated types
// would cause a naming conflict. (Neither name is
// fully-qualified.)
// Example: Subscriber to SubscriberServiceApi.
RenamedServices map[string]string `protobuf:"bytes,2,rep,name=renamed_services,json=renamedServices,proto3" json:"renamed_services,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// Map from full resource types to the effective short name
// for the resource. This is used when otherwise resource
// named from different services would cause naming collisions.
// Example entry:
// "datalabeling.googleapis.com/Dataset": "DataLabelingDataset"
RenamedResources map[string]string `protobuf:"bytes,3,rep,name=renamed_resources,json=renamedResources,proto3" json:"renamed_resources,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
// List of full resource types to ignore during generation.
// This is typically used for API-specific Location resources,
// which should be handled by the generator as if they were actually
// the common Location resources.
// Example entry: "documentai.googleapis.com/Location"
IgnoredResources []string `protobuf:"bytes,4,rep,name=ignored_resources,json=ignoredResources,proto3" json:"ignored_resources,omitempty"`
// Namespaces which must be aliased in snippets due to
// a known (but non-generator-predictable) naming collision
ForcedNamespaceAliases []string `protobuf:"bytes,5,rep,name=forced_namespace_aliases,json=forcedNamespaceAliases,proto3" json:"forced_namespace_aliases,omitempty"`
// Method signatures (in the form "service.method(signature)")
// which are provided separately, so shouldn't be generated.
// Snippets *calling* these methods are still generated, however.
HandwrittenSignatures []string `protobuf:"bytes,6,rep,name=handwritten_signatures,json=handwrittenSignatures,proto3" json:"handwritten_signatures,omitempty"`
} }
func (x *DotnetSettings) Reset() { func (x *DotnetSettings) Reset() {
@ -836,6 +861,41 @@ func (x *DotnetSettings) GetCommon() *CommonLanguageSettings {
return nil return nil
} }
func (x *DotnetSettings) GetRenamedServices() map[string]string {
if x != nil {
return x.RenamedServices
}
return nil
}
func (x *DotnetSettings) GetRenamedResources() map[string]string {
if x != nil {
return x.RenamedResources
}
return nil
}
func (x *DotnetSettings) GetIgnoredResources() []string {
if x != nil {
return x.IgnoredResources
}
return nil
}
func (x *DotnetSettings) GetForcedNamespaceAliases() []string {
if x != nil {
return x.ForcedNamespaceAliases
}
return nil
}
func (x *DotnetSettings) GetHandwrittenSignatures() []string {
if x != nil {
return x.HandwrittenSignatures
}
return nil
}
// Settings for Ruby client libraries. // Settings for Ruby client libraries.
type RubySettings struct { type RubySettings struct {
state protoimpl.MessageState state protoimpl.MessageState
@ -1037,7 +1097,7 @@ type MethodSettings_LongRunning struct {
func (x *MethodSettings_LongRunning) Reset() { func (x *MethodSettings_LongRunning) Reset() {
*x = MethodSettings_LongRunning{} *x = MethodSettings_LongRunning{}
if protoimpl.UnsafeEnabled { if protoimpl.UnsafeEnabled {
mi := &file_google_api_client_proto_msgTypes[13] mi := &file_google_api_client_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi) ms.StoreMessageInfo(mi)
} }
@ -1050,7 +1110,7 @@ func (x *MethodSettings_LongRunning) String() string {
func (*MethodSettings_LongRunning) ProtoMessage() {} func (*MethodSettings_LongRunning) ProtoMessage() {}
func (x *MethodSettings_LongRunning) ProtoReflect() protoreflect.Message { func (x *MethodSettings_LongRunning) ProtoReflect() protoreflect.Message {
mi := &file_google_api_client_proto_msgTypes[13] mi := &file_google_api_client_proto_msgTypes[15]
if protoimpl.UnsafeEnabled && x != nil { if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil { if ms.LoadMessageInfo() == nil {
@ -1335,81 +1395,112 @@ var file_google_api_client_proto_rawDesc = []byte{
0x67, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e,
0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x65, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0x4c, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0xae,
0x0a, 0x0e, 0x44, 0x6f, 0x74, 0x6e, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x04, 0x0a, 0x0e, 0x44, 0x6f, 0x74, 0x6e, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
0x12, 0x3a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43,
0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74,
0x69, 0x6e, 0x67, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0x4a, 0x0a, 0x0c, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x12, 0x5a, 0x0a,
0x52, 0x75, 0x62, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x10, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x44, 0x6f, 0x74, 0x6e, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69,
0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x6e, 0x67, 0x73, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69,
0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0x48, 0x0a, 0x0a, 0x47, 0x6f, 0x53, 0x65, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65,
0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x11, 0x72, 0x65, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x6d, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x03,
0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70,
0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x2e, 0x44, 0x6f, 0x74, 0x6e, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73,
0x6f, 0x6e, 0x22, 0x8e, 0x03, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x53, 0x65, 0x74, 0x2e, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x10, 0x72, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x52,
0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x67, 0x6e, 0x6f,
0x72, 0x12, 0x49, 0x0a, 0x0c, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 0x04, 0x20,
0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x03, 0x28, 0x09, 0x52, 0x10, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f,
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x53, 0x65, 0x74, 0x74, 0x69, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x5f,
0x6e, 0x67, 0x73, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65,
0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x1a, 0x94, 0x02, 0x0a, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x16, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x4e,
0x0b, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x47, 0x0a, 0x12, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x12,
0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x35, 0x0a, 0x16, 0x68, 0x61, 0x6e, 0x64, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x5f, 0x73,
0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x15, 0x68, 0x61, 0x6e, 0x64, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x53, 0x69, 0x67, 0x6e,
0x69, 0x6f, 0x6e, 0x52, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50, 0x6f, 0x6c, 0x6c, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x1a, 0x42, 0x0a, 0x14, 0x52, 0x65, 0x6e, 0x61, 0x6d, 0x65,
0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10,
0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x18, 0x02, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79,
0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x70, 0x6f, 0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x4d, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x43, 0x0a, 0x15, 0x52, 0x65,
0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x45, 0x6e,
0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6d, 0x61, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
0x78, 0x50, 0x6f, 0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x47, 0x0a, 0x12, 0x74, 0x6f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22,
0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x4a, 0x0a, 0x0c, 0x52, 0x75, 0x62, 0x79, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12,
0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x3a, 0x0a, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d,
0x6e, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x6c, 0x6c, 0x54, 0x69, 0x6d, 0x65, 0x6d, 0x6f, 0x6e, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69,
0x6f, 0x75, 0x74, 0x2a, 0x79, 0x0a, 0x19, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x62, 0x6e, 0x67, 0x73, 0x52, 0x06, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0x48, 0x0a, 0x0a, 0x47,
0x72, 0x61, 0x72, 0x79, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6f, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3a, 0x0a, 0x06, 0x63, 0x6f, 0x6d,
0x12, 0x2b, 0x0a, 0x27, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x6d, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x52, 0x59, 0x5f, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x5a, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4c, 0x61, 0x6e,
0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x67, 0x75, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x06, 0x63,
0x05, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x44, 0x53, 0x10, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x22, 0x8e, 0x03, 0x0a, 0x0e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64,
0x02, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x48, 0x4f, 0x54, 0x4f, 0x53, 0x10, 0x03, 0x12, 0x0f, 0x0a, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65,
0x0b, 0x53, 0x54, 0x52, 0x45, 0x45, 0x54, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10, 0x04, 0x2a, 0x67, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65,
0x0a, 0x18, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x44, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x49, 0x0a, 0x0c, 0x6c, 0x6f, 0x6e, 0x67, 0x5f, 0x72, 0x75, 0x6e,
0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x26, 0x43, 0x4c, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x44, 0x45, 0x53, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x53, 0x65,
0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x6e, 0x69,
0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x49, 0x54, 0x48, 0x55, 0x42, 0x6e, 0x67, 0x52, 0x0b, 0x6c, 0x6f, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x1a,
0x10, 0x0a, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x41, 0x43, 0x4b, 0x41, 0x47, 0x45, 0x5f, 0x4d, 0x41, 0x94, 0x02, 0x0a, 0x0b, 0x4c, 0x6f, 0x6e, 0x67, 0x52, 0x75, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x12,
0x4e, 0x41, 0x47, 0x45, 0x52, 0x10, 0x14, 0x3a, 0x4a, 0x0a, 0x10, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x47, 0x0a, 0x12, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x5f,
0x64, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75,
0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9b, 0x08, 0x20, 0x03, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x50,
0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x53, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x6f, 0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x32, 0x0a, 0x15, 0x70, 0x6f, 0x6c, 0x6c,
0x75, 0x72, 0x65, 0x3a, 0x43, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x68, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65,
0x6f, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x13, 0x70, 0x6f, 0x6c, 0x6c, 0x44, 0x65, 0x6c,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x61, 0x79, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x69, 0x65, 0x72, 0x12, 0x3f, 0x0a, 0x0e,
0x69, 0x6f, 0x6e, 0x73, 0x18, 0x99, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x66, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03,
0x61, 0x75, 0x6c, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x3a, 0x43, 0x0a, 0x0c, 0x6f, 0x61, 0x75, 0x74, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
0x68, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x0c, 0x6d, 0x61, 0x78, 0x50, 0x6f, 0x6c, 0x6c, 0x44, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x47, 0x0a,
0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9a, 0x08, 0x20, 0x01, 0x28, 0x09, 0x12, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x6f, 0x6c, 0x6c, 0x5f, 0x74, 0x69, 0x6d, 0x65,
0x52, 0x0b, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x69, 0x0a, 0x6f, 0x75, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61,
0x0b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x10, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50, 0x6f, 0x6c, 0x6c, 0x54,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x2a, 0x79, 0x0a, 0x19, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74,
0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74,
0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x27, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x49,
0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4f, 0x52, 0x47, 0x41, 0x4e, 0x49, 0x5a, 0x41, 0x54, 0x49,
0x73, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x50, 0x49, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
0x12, 0x09, 0x0a, 0x05, 0x43, 0x4c, 0x4f, 0x55, 0x44, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x41,
0x44, 0x53, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x48, 0x4f, 0x54, 0x4f, 0x53, 0x10, 0x03,
0x12, 0x0f, 0x0a, 0x0b, 0x53, 0x54, 0x52, 0x45, 0x45, 0x54, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x10,
0x04, 0x2a, 0x67, 0x0a, 0x18, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x62, 0x72, 0x61,
0x72, 0x79, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a,
0x26, 0x43, 0x4c, 0x49, 0x45, 0x4e, 0x54, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f,
0x44, 0x45, 0x53, 0x54, 0x49, 0x4e, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50,
0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x47, 0x49, 0x54,
0x48, 0x55, 0x42, 0x10, 0x0a, 0x12, 0x13, 0x0a, 0x0f, 0x50, 0x41, 0x43, 0x4b, 0x41, 0x47, 0x45,
0x5f, 0x4d, 0x41, 0x4e, 0x41, 0x47, 0x45, 0x52, 0x10, 0x14, 0x3a, 0x4a, 0x0a, 0x10, 0x6d, 0x65,
0x74, 0x68, 0x6f, 0x64, 0x5f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, 0x1e,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9b,
0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x53, 0x69, 0x67,
0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x3a, 0x43, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
0x74, 0x5f, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x99, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x3a, 0x43, 0x0a, 0x0c, 0x6f,
0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65,
0x72, 0x76, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x9a, 0x08, 0x20,
0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73,
0x42, 0x69, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61,
0x70, 0x69, 0x42, 0x0b, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50,
0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67,
0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e,
0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x73, 0xa2, 0x02, 0x04, 0x47, 0x41, 0x50, 0x49, 0x62, 0x06, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x33,
} }
var ( var (
@ -1425,7 +1516,7 @@ func file_google_api_client_proto_rawDescGZIP() []byte {
} }
var file_google_api_client_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_google_api_client_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_google_api_client_proto_msgTypes = make([]protoimpl.MessageInfo, 14) var file_google_api_client_proto_msgTypes = make([]protoimpl.MessageInfo, 16)
var file_google_api_client_proto_goTypes = []interface{}{ var file_google_api_client_proto_goTypes = []interface{}{
(ClientLibraryOrganization)(0), // 0: google.api.ClientLibraryOrganization (ClientLibraryOrganization)(0), // 0: google.api.ClientLibraryOrganization
(ClientLibraryDestination)(0), // 1: google.api.ClientLibraryDestination (ClientLibraryDestination)(0), // 1: google.api.ClientLibraryDestination
@ -1442,15 +1533,17 @@ var file_google_api_client_proto_goTypes = []interface{}{
(*GoSettings)(nil), // 12: google.api.GoSettings (*GoSettings)(nil), // 12: google.api.GoSettings
(*MethodSettings)(nil), // 13: google.api.MethodSettings (*MethodSettings)(nil), // 13: google.api.MethodSettings
nil, // 14: google.api.JavaSettings.ServiceClassNamesEntry nil, // 14: google.api.JavaSettings.ServiceClassNamesEntry
(*MethodSettings_LongRunning)(nil), // 15: google.api.MethodSettings.LongRunning nil, // 15: google.api.DotnetSettings.RenamedServicesEntry
(api.LaunchStage)(0), // 16: google.api.LaunchStage nil, // 16: google.api.DotnetSettings.RenamedResourcesEntry
(*durationpb.Duration)(nil), // 17: google.protobuf.Duration (*MethodSettings_LongRunning)(nil), // 17: google.api.MethodSettings.LongRunning
(*descriptorpb.MethodOptions)(nil), // 18: google.protobuf.MethodOptions (api.LaunchStage)(0), // 18: google.api.LaunchStage
(*descriptorpb.ServiceOptions)(nil), // 19: google.protobuf.ServiceOptions (*durationpb.Duration)(nil), // 19: google.protobuf.Duration
(*descriptorpb.MethodOptions)(nil), // 20: google.protobuf.MethodOptions
(*descriptorpb.ServiceOptions)(nil), // 21: google.protobuf.ServiceOptions
} }
var file_google_api_client_proto_depIdxs = []int32{ var file_google_api_client_proto_depIdxs = []int32{
1, // 0: google.api.CommonLanguageSettings.destinations:type_name -> google.api.ClientLibraryDestination 1, // 0: google.api.CommonLanguageSettings.destinations:type_name -> google.api.ClientLibraryDestination
16, // 1: google.api.ClientLibrarySettings.launch_stage:type_name -> google.api.LaunchStage 18, // 1: google.api.ClientLibrarySettings.launch_stage:type_name -> google.api.LaunchStage
5, // 2: google.api.ClientLibrarySettings.java_settings:type_name -> google.api.JavaSettings 5, // 2: google.api.ClientLibrarySettings.java_settings:type_name -> google.api.JavaSettings
6, // 3: google.api.ClientLibrarySettings.cpp_settings:type_name -> google.api.CppSettings 6, // 3: google.api.ClientLibrarySettings.cpp_settings:type_name -> google.api.CppSettings
7, // 4: google.api.ClientLibrarySettings.php_settings:type_name -> google.api.PhpSettings 7, // 4: google.api.ClientLibrarySettings.php_settings:type_name -> google.api.PhpSettings
@ -1469,20 +1562,22 @@ var file_google_api_client_proto_depIdxs = []int32{
2, // 17: google.api.PythonSettings.common:type_name -> google.api.CommonLanguageSettings 2, // 17: google.api.PythonSettings.common:type_name -> google.api.CommonLanguageSettings
2, // 18: google.api.NodeSettings.common:type_name -> google.api.CommonLanguageSettings 2, // 18: google.api.NodeSettings.common:type_name -> google.api.CommonLanguageSettings
2, // 19: google.api.DotnetSettings.common:type_name -> google.api.CommonLanguageSettings 2, // 19: google.api.DotnetSettings.common:type_name -> google.api.CommonLanguageSettings
2, // 20: google.api.RubySettings.common:type_name -> google.api.CommonLanguageSettings 15, // 20: google.api.DotnetSettings.renamed_services:type_name -> google.api.DotnetSettings.RenamedServicesEntry
2, // 21: google.api.GoSettings.common:type_name -> google.api.CommonLanguageSettings 16, // 21: google.api.DotnetSettings.renamed_resources:type_name -> google.api.DotnetSettings.RenamedResourcesEntry
15, // 22: google.api.MethodSettings.long_running:type_name -> google.api.MethodSettings.LongRunning 2, // 22: google.api.RubySettings.common:type_name -> google.api.CommonLanguageSettings
17, // 23: google.api.MethodSettings.LongRunning.initial_poll_delay:type_name -> google.protobuf.Duration 2, // 23: google.api.GoSettings.common:type_name -> google.api.CommonLanguageSettings
17, // 24: google.api.MethodSettings.LongRunning.max_poll_delay:type_name -> google.protobuf.Duration 17, // 24: google.api.MethodSettings.long_running:type_name -> google.api.MethodSettings.LongRunning
17, // 25: google.api.MethodSettings.LongRunning.total_poll_timeout:type_name -> google.protobuf.Duration 19, // 25: google.api.MethodSettings.LongRunning.initial_poll_delay:type_name -> google.protobuf.Duration
18, // 26: google.api.method_signature:extendee -> google.protobuf.MethodOptions 19, // 26: google.api.MethodSettings.LongRunning.max_poll_delay:type_name -> google.protobuf.Duration
19, // 27: google.api.default_host:extendee -> google.protobuf.ServiceOptions 19, // 27: google.api.MethodSettings.LongRunning.total_poll_timeout:type_name -> google.protobuf.Duration
19, // 28: google.api.oauth_scopes:extendee -> google.protobuf.ServiceOptions 20, // 28: google.api.method_signature:extendee -> google.protobuf.MethodOptions
29, // [29:29] is the sub-list for method output_type 21, // 29: google.api.default_host:extendee -> google.protobuf.ServiceOptions
29, // [29:29] is the sub-list for method input_type 21, // 30: google.api.oauth_scopes:extendee -> google.protobuf.ServiceOptions
29, // [29:29] is the sub-list for extension type_name 31, // [31:31] is the sub-list for method output_type
26, // [26:29] is the sub-list for extension extendee 31, // [31:31] is the sub-list for method input_type
0, // [0:26] is the sub-list for field type_name 31, // [31:31] is the sub-list for extension type_name
28, // [28:31] is the sub-list for extension extendee
0, // [0:28] is the sub-list for field type_name
} }
func init() { file_google_api_client_proto_init() } func init() { file_google_api_client_proto_init() }
@ -1635,7 +1730,7 @@ func file_google_api_client_proto_init() {
return nil return nil
} }
} }
file_google_api_client_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { file_google_api_client_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*MethodSettings_LongRunning); i { switch v := v.(*MethodSettings_LongRunning); i {
case 0: case 0:
return &v.state return &v.state
@ -1654,7 +1749,7 @@ func file_google_api_client_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_google_api_client_proto_rawDesc, RawDescriptor: file_google_api_client_proto_rawDesc,
NumEnums: 2, NumEnums: 2,
NumMessages: 14, NumMessages: 16,
NumExtensions: 3, NumExtensions: 3,
NumServices: 0, NumServices: 0,
}, },

10
vendor/modules.txt vendored
View file

@ -81,7 +81,7 @@ github.com/VividCortex/ewma
# github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 # github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137
## explicit; go 1.15 ## explicit; go 1.15
github.com/alecthomas/units github.com/alecthomas/units
# github.com/aws/aws-sdk-go v1.44.230 # github.com/aws/aws-sdk-go v1.44.234
## explicit; go 1.11 ## explicit; go 1.11
github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws
github.com/aws/aws-sdk-go/aws/awserr github.com/aws/aws-sdk-go/aws/awserr
@ -166,7 +166,7 @@ github.com/aws/aws-sdk-go-v2/credentials/stscreds
## explicit; go 1.15 ## explicit; go 1.15
github.com/aws/aws-sdk-go-v2/feature/ec2/imds github.com/aws/aws-sdk-go-v2/feature/ec2/imds
github.com/aws/aws-sdk-go-v2/feature/ec2/imds/internal/config github.com/aws/aws-sdk-go-v2/feature/ec2/imds/internal/config
# github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.59 # github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.60
## explicit; go 1.15 ## explicit; go 1.15
github.com/aws/aws-sdk-go-v2/feature/s3/manager github.com/aws/aws-sdk-go-v2/feature/s3/manager
# github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.31 # github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.31
@ -197,7 +197,7 @@ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url
github.com/aws/aws-sdk-go-v2/service/internal/s3shared github.com/aws/aws-sdk-go-v2/service/internal/s3shared
github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn
github.com/aws/aws-sdk-go-v2/service/internal/s3shared/config github.com/aws/aws-sdk-go-v2/service/internal/s3shared/config
# github.com/aws/aws-sdk-go-v2/service/s3 v1.31.0 # github.com/aws/aws-sdk-go-v2/service/s3 v1.31.1
## explicit; go 1.15 ## explicit; go 1.15
github.com/aws/aws-sdk-go-v2/service/s3 github.com/aws/aws-sdk-go-v2/service/s3
github.com/aws/aws-sdk-go-v2/service/s3/internal/arn github.com/aws/aws-sdk-go-v2/service/s3/internal/arn
@ -272,7 +272,7 @@ github.com/go-kit/log/level
# github.com/go-logfmt/logfmt v0.6.0 # github.com/go-logfmt/logfmt v0.6.0
## explicit; go 1.17 ## explicit; go 1.17
github.com/go-logfmt/logfmt github.com/go-logfmt/logfmt
# github.com/go-logr/logr v1.2.3 # github.com/go-logr/logr v1.2.4
## explicit; go 1.16 ## explicit; go 1.16
github.com/go-logr/logr github.com/go-logr/logr
github.com/go-logr/logr/funcr github.com/go-logr/logr/funcr
@ -604,7 +604,7 @@ google.golang.org/appengine/internal/socket
google.golang.org/appengine/internal/urlfetch google.golang.org/appengine/internal/urlfetch
google.golang.org/appengine/socket google.golang.org/appengine/socket
google.golang.org/appengine/urlfetch google.golang.org/appengine/urlfetch
# google.golang.org/genproto v0.0.0-20230327215041-6ac7f18bb9d5 # google.golang.org/genproto v0.0.0-20230331144136-dcfb400f0633
## explicit; go 1.19 ## explicit; go 1.19
google.golang.org/genproto/googleapis/api google.golang.org/genproto/googleapis/api
google.golang.org/genproto/googleapis/api/annotations google.golang.org/genproto/googleapis/api/annotations