vendor: make vendor-update

This commit is contained in:
Aliaksandr Valialkin 2023-04-05 22:46:25 -07:00
parent 6eda26d812
commit e14df6183a
No known key found for this signature in database
GPG key ID: A72BEC6CD3D0DED1
149 changed files with 1943 additions and 1575 deletions

20
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
@ -25,7 +25,7 @@ require (
github.com/influxdata/influxdb v1.11.0 github.com/influxdata/influxdb v1.11.0
github.com/klauspost/compress v1.16.4 github.com/klauspost/compress v1.16.4
github.com/prometheus/prometheus v0.43.0 github.com/prometheus/prometheus v0.43.0
github.com/urfave/cli/v2 v2.25.0 github.com/urfave/cli/v2 v2.25.1
github.com/valyala/fastjson v1.6.4 github.com/valyala/fastjson v1.6.4
github.com/valyala/fastrand v1.1.0 github.com/valyala/fastrand v1.1.0
github.com/valyala/fasttemplate v1.2.2 github.com/valyala/fasttemplate v1.2.2
@ -34,8 +34,8 @@ require (
github.com/valyala/quicktemplate v1.7.0 github.com/valyala/quicktemplate v1.7.0
golang.org/x/net v0.8.0 golang.org/x/net v0.8.0
golang.org/x/oauth2 v0.6.0 golang.org/x/oauth2 v0.6.0
golang.org/x/sys v0.6.0 golang.org/x/sys v0.7.0
google.golang.org/api v0.114.0 google.golang.org/api v0.116.0
gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v2 v2.4.0
) )
@ -43,11 +43,11 @@ require (
cloud.google.com/go v0.110.0 // indirect cloud.google.com/go v0.110.0 // indirect
cloud.google.com/go/compute v1.19.0 // indirect cloud.google.com/go/compute v1.19.0 // indirect
cloud.google.com/go/compute/metadata v0.2.3 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect
cloud.google.com/go/iam v0.13.0 // indirect cloud.google.com/go/iam v1.0.0 // indirect
github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0 // indirect github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.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.229 // indirect github.com/aws/aws-sdk-go v1.44.237 // 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-20230323212658-478b75c54725 // indirect google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd // 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

39
go.sum
View file

@ -27,8 +27,8 @@ cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGB
cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= cloud.google.com/go/iam v1.0.0 h1:hlQJMovyJJwYjZcTohUH4o1L8Z8kYz+E+W/zktiLCBc=
cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= cloud.google.com/go/iam v1.0.0/go.mod h1:ikbQ4f1r91wTmBmmOtBCOtuEOei6taatNXytzB7Cxew=
cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
@ -46,8 +46,8 @@ github.com/Azure/azure-sdk-for-go v65.0.0+incompatible h1:HzKLt3kIwMm4KeJYTdx9Eb
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.4.0 h1:rTnT/Jrcm+figWlYz4Ixzt0SJVR2cMC8lvZcimipiEY= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.4.0 h1:rTnT/Jrcm+figWlYz4Ixzt0SJVR2cMC8lvZcimipiEY=
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.4.0/go.mod h1:ON4tFdPTwRcgWEaVDrN3584Ef+b7GgSJaXxe5fW9t4M= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.4.0/go.mod h1:ON4tFdPTwRcgWEaVDrN3584Ef+b7GgSJaXxe5fW9t4M=
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0 h1:QkAcEIAKbNL4KoFr4SathZPhDhF4mVwpBMFlYjyAqy8= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.1.0 h1:QkAcEIAKbNL4KoFr4SathZPhDhF4mVwpBMFlYjyAqy8=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0 h1:leh5DwKv6Ihwi+h60uHtn6UWAxBbZ0q8DwQVMzf61zw= github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0 h1:sXr+ck84g/ZlZUOZiNELInmMgOsuGwdjjVkEIde0OtY=
github.com/Azure/azure-sdk-for-go/sdk/internal v1.2.0/go.mod h1:eWRD7oawr1Mu1sLCawqVc0CUiF43ia3qQMxLscsKQ9w= github.com/Azure/azure-sdk-for-go/sdk/internal v1.3.0/go.mod h1:okt5dMMTOFjX/aovMlrjvvXoPMBVSPzk9185BT0+eZM=
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0 h1:u/LLAOFgsMv7HmNL4Qufg58y+qElGOt5qv0z1mURkRY= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0 h1:u/LLAOFgsMv7HmNL4Qufg58y+qElGOt5qv0z1mURkRY=
github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0/go.mod h1:2e8rMJtl2+2j+HXbTBwnyGpm5Nou7KhvSfxOq8JpTag= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0/go.mod h1:2e8rMJtl2+2j+HXbTBwnyGpm5Nou7KhvSfxOq8JpTag=
github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs= github.com/Azure/go-autorest v14.2.0+incompatible h1:V5VMDjClD3GiElqLWO7mz2MxNAK/vTfRHdAubSIPRgs=
@ -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.229 h1:lku0ZSHRzj/qtFVM//QE8VjV6kvJ6CFijDZSsjNaD9A= github.com/aws/aws-sdk-go v1.44.237 h1:gsmVP8eTB6id4tmEsBPcjLlYi1sXtKA047bSn7kJZAI=
github.com/aws/aws-sdk-go v1.44.229/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= github.com/aws/aws-sdk-go v1.44.237/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=
@ -414,8 +414,8 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8= github.com/stretchr/testify v1.8.2 h1:+h33VjcLVPDHtOdpUCuF+7gSuG3yGIftsP1YvFihtJ8=
github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
github.com/urfave/cli/v2 v2.25.0 h1:ykdZKuQey2zq0yin/l7JOm9Mh+pg72ngYMeB0ABn6q8= github.com/urfave/cli/v2 v2.25.1 h1:zw8dSP7ghX0Gmm8vugrs6q9Ku0wzweqPyshy+syu9Gw=
github.com/urfave/cli/v2 v2.25.0/go.mod h1:GHupkWPMM0M/sj1a2b4wUrWBPzazNrIjouW6fmdJLxc= github.com/urfave/cli/v2 v2.25.1/go.mod h1:GHupkWPMM0M/sj1a2b4wUrWBPzazNrIjouW6fmdJLxc=
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
github.com/valyala/fasthttp v1.30.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus= github.com/valyala/fasthttp v1.30.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus=
@ -603,8 +603,9 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0 h1:MVltZSvRTcU2ljQOhs94SXPftV6DCNnZViHeQps87pQ=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU=
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= golang.org/x/term v0.1.0/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
@ -690,8 +691,8 @@ google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0M
google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
google.golang.org/api v0.114.0 h1:1xQPji6cO2E2vLiI+C/XiFAnsn1WV3mjaEwGLhi3grE= google.golang.org/api v0.116.0 h1:09tOPVufPwfm5W4aA8EizGHJ7BcoRDsIareM2a15gO4=
google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= google.golang.org/api v0.116.0/go.mod h1:9cD4/t6uvd9naoEJFA+M96d0IuB6BqFuyhpw68+mRGg=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@ -729,8 +730,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-20230323212658-478b75c54725 h1:VmCWItVXcKboEMCwZaWge+1JLiTCQSngZeINF+wzO+g= google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd h1:sLpv7bNL1AsX3fdnWh9WVh7ejIzXdOc1RRHGeAmeStU=
google.golang.org/genproto v0.0.0-20230323212658-478b75c54725/go.mod h1:UUQDJDOlWu4KYeJZffbWgBkS1YFobzKbLVfK69pe0Ak= google.golang.org/genproto v0.0.0-20230403163135-c38d8f061ccd/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,5 +1,13 @@
# Changes # Changes
## [1.0.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.13.0...iam/v1.0.0) (2023-04-04)
### Features
* **iam:** Promote to GA ([#7627](https://github.com/googleapis/google-cloud-go/issues/7627)) ([b351906](https://github.com/googleapis/google-cloud-go/commit/b351906a10e17a02d7f7e2551bc1585fd9dc3742))
## [0.13.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.12.0...iam/v0.13.0) (2023-03-15) ## [0.13.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.12.0...iam/v0.13.0) (2023-03-15)

View file

@ -14,8 +14,8 @@
// Code generated by protoc-gen-go. DO NOT EDIT. // Code generated by protoc-gen-go. DO NOT EDIT.
// versions: // versions:
// protoc-gen-go v1.26.0 // protoc-gen-go v1.28.1
// protoc v3.21.9 // protoc v3.21.12
// source: google/iam/v1/iam_policy.proto // source: google/iam/v1/iam_policy.proto
package iampb package iampb
@ -363,16 +363,16 @@ var file_google_iam_v1_iam_policy_proto_rawDesc = []byte{
0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x2a, 0x7d, 0x3a, 0x74, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0x1a, 0x1e, 0xca, 0x41, 0x1b, 0x69, 0x61, 0x6d, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x01, 0x2a, 0x1a, 0x1e, 0xca, 0x41, 0x1b, 0x69, 0x61, 0x6d,
0x2d, 0x6d, 0x65, 0x74, 0x61, 0x2d, 0x61, 0x70, 0x69, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2d, 0x6d, 0x65, 0x74, 0x61, 0x2d, 0x61, 0x70, 0x69, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0x86, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x42, 0x7f, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x49,
0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
0x5a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x29, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f,
0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69,
0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x3b, 0x69, 0x61, 0x6d, 0x70, 0x62, 0x3b, 0x69, 0x61, 0x6d, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13,
0x61, 0x6d, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x33,
} }
var ( var (

View file

@ -14,8 +14,8 @@
// Code generated by protoc-gen-go. DO NOT EDIT. // Code generated by protoc-gen-go. DO NOT EDIT.
// versions: // versions:
// protoc-gen-go v1.26.0 // protoc-gen-go v1.28.1
// protoc v3.21.9 // protoc v3.21.12
// source: google/iam/v1/options.proto // source: google/iam/v1/options.proto
package iampb package iampb
@ -111,16 +111,16 @@ var file_google_iam_v1_options_proto_rawDesc = []byte{
0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f, 0x12, 0x38, 0x0a, 0x18, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x70, 0x6f,
0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
0x28, 0x05, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c, 0x28, 0x05, 0x52, 0x16, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x6f, 0x6c,
0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x84, 0x01, 0x0a, 0x11, 0x63, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x7d, 0x0a, 0x11, 0x63, 0x6f,
0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42,
0x42, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x0c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
0x5a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x29, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f,
0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69,
0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x3b, 0x69, 0x61, 0x6d, 0x70, 0x62, 0x3b, 0x69, 0x61, 0x6d, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13,
0x61, 0x6d, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d,
0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x33,
} }
var ( var (

View file

@ -14,8 +14,8 @@
// Code generated by protoc-gen-go. DO NOT EDIT. // Code generated by protoc-gen-go. DO NOT EDIT.
// versions: // versions:
// protoc-gen-go v1.26.0 // protoc-gen-go v1.28.1
// protoc v3.21.9 // protoc v3.21.12
// source: google/iam/v1/policy.proto // source: google/iam/v1/policy.proto
package iampb package iampb
@ -214,7 +214,8 @@ func (AuditConfigDelta_Action) EnumDescriptor() ([]byte, []int) {
// only if the expression evaluates to `true`. A condition can add constraints // only if the expression evaluates to `true`. A condition can add constraints
// based on attributes of the request, the resource, or both. To learn which // based on attributes of the request, the resource, or both. To learn which
// resources support conditions in their IAM policies, see the // resources support conditions in their IAM policies, see the
// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). // [IAM
// documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
// //
// **JSON example:** // **JSON example:**
// //
@ -237,7 +238,8 @@ func (AuditConfigDelta_Action) EnumDescriptor() ([]byte, []int) {
// "condition": { // "condition": {
// "title": "expirable access", // "title": "expirable access",
// "description": "Does not grant access after Sep 2020", // "description": "Does not grant access after Sep 2020",
// "expression": "request.time < timestamp('2020-10-01T00:00:00.000Z')", // "expression": "request.time <
// timestamp('2020-10-01T00:00:00.000Z')",
// } // }
// } // }
// ], // ],
@ -279,10 +281,10 @@ type Policy struct {
// Any operation that affects conditional role bindings must specify version // Any operation that affects conditional role bindings must specify version
// `3`. This requirement applies to the following operations: // `3`. This requirement applies to the following operations:
// //
// - Getting a policy that includes a conditional role binding // * Getting a policy that includes a conditional role binding
// - Adding a conditional role binding to a policy // * Adding a conditional role binding to a policy
// - Changing a conditional role binding in a policy // * Changing a conditional role binding in a policy
// - Removing any role binding, with or without a condition, from a policy // * Removing any role binding, with or without a condition, from a policy
// that includes conditions // that includes conditions
// //
// **Important:** If you use IAM Conditions, you must include the `etag` field // **Important:** If you use IAM Conditions, you must include the `etag` field
@ -294,7 +296,8 @@ type Policy struct {
// specify any valid version or leave the field unset. // specify any valid version or leave the field unset.
// //
// To learn which resources support conditions in their IAM policies, see the // To learn which resources support conditions in their IAM policies, see the
// [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). // [IAM
// documentation](https://cloud.google.com/iam/help/conditions/resource-policies).
Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` Version int32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"`
// Associates a list of `members`, or principals, with a `role`. Optionally, // Associates a list of `members`, or principals, with a `role`. Optionally,
// may specify a `condition` that determines how and when the `bindings` are // may specify a `condition` that determines how and when the `bindings` are
@ -396,28 +399,29 @@ type Binding struct {
// Specifies the principals requesting access for a Cloud Platform resource. // Specifies the principals requesting access for a Cloud Platform resource.
// `members` can have the following values: // `members` can have the following values:
// //
// - `allUsers`: A special identifier that represents anyone who is // * `allUsers`: A special identifier that represents anyone who is
// on the internet; with or without a Google account. // on the internet; with or without a Google account.
// //
// - `allAuthenticatedUsers`: A special identifier that represents anyone // * `allAuthenticatedUsers`: A special identifier that represents anyone
// who is authenticated with a Google account or a service account. // who is authenticated with a Google account or a service account.
// //
// - `user:{emailid}`: An email address that represents a specific Google // * `user:{emailid}`: An email address that represents a specific Google
// account. For example, `alice@example.com` . // account. For example, `alice@example.com` .
// //
// - `serviceAccount:{emailid}`: An email address that represents a service //
// * `serviceAccount:{emailid}`: An email address that represents a service
// account. For example, `my-other-app@appspot.gserviceaccount.com`. // account. For example, `my-other-app@appspot.gserviceaccount.com`.
// //
// - `group:{emailid}`: An email address that represents a Google group. // * `group:{emailid}`: An email address that represents a Google group.
// For example, `admins@example.com`. // For example, `admins@example.com`.
// //
// - `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique // * `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique
// identifier) representing a user that has been recently deleted. For // identifier) representing a user that has been recently deleted. For
// example, `alice@example.com?uid=123456789012345678901`. If the user is // example, `alice@example.com?uid=123456789012345678901`. If the user is
// recovered, this value reverts to `user:{emailid}` and the recovered user // recovered, this value reverts to `user:{emailid}` and the recovered user
// retains the role in the binding. // retains the role in the binding.
// //
// - `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus // * `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus
// unique identifier) representing a service account that has been recently // unique identifier) representing a service account that has been recently
// deleted. For example, // deleted. For example,
// `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`. // `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.
@ -425,14 +429,17 @@ type Binding struct {
// `serviceAccount:{emailid}` and the undeleted service account retains the // `serviceAccount:{emailid}` and the undeleted service account retains the
// role in the binding. // role in the binding.
// //
// - `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique // * `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique
// identifier) representing a Google group that has been recently // identifier) representing a Google group that has been recently
// deleted. For example, `admins@example.com?uid=123456789012345678901`. If // deleted. For example, `admins@example.com?uid=123456789012345678901`. If
// the group is recovered, this value reverts to `group:{emailid}` and the // the group is recovered, this value reverts to `group:{emailid}` and the
// recovered group retains the role in the binding. // recovered group retains the role in the binding.
// //
// - `domain:{domain}`: The G Suite domain (primary) that represents all the //
// * `domain:{domain}`: The G Suite domain (primary) that represents all the
// users of that domain. For example, `google.com` or `example.com`. // users of that domain. For example, `google.com` or `example.com`.
//
//
Members []string `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"` Members []string `protobuf:"bytes,2,rep,name=members,proto3" json:"members,omitempty"`
// The condition that is associated with this binding. // The condition that is associated with this binding.
// //
@ -640,7 +647,8 @@ type AuditLogConfig struct {
LogType AuditLogConfig_LogType `protobuf:"varint,1,opt,name=log_type,json=logType,proto3,enum=google.iam.v1.AuditLogConfig_LogType" json:"log_type,omitempty"` LogType AuditLogConfig_LogType `protobuf:"varint,1,opt,name=log_type,json=logType,proto3,enum=google.iam.v1.AuditLogConfig_LogType" json:"log_type,omitempty"`
// Specifies the identities that do not cause logging for this type of // Specifies the identities that do not cause logging for this type of
// permission. // permission.
// Follows the same format of [Binding.members][google.iam.v1.Binding.members]. // Follows the same format of
// [Binding.members][google.iam.v1.Binding.members].
ExemptedMembers []string `protobuf:"bytes,2,rep,name=exempted_members,json=exemptedMembers,proto3" json:"exempted_members,omitempty"` ExemptedMembers []string `protobuf:"bytes,2,rep,name=exempted_members,json=exemptedMembers,proto3" json:"exempted_members,omitempty"`
} }
@ -999,16 +1007,15 @@ var file_google_iam_v1_policy_proto_rawDesc = []byte{
0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e,
0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07,
0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56, 0x0a, 0x03, 0x41, 0x44, 0x44, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x52, 0x45, 0x4d, 0x4f, 0x56,
0x45, 0x10, 0x02, 0x42, 0x83, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x45, 0x10, 0x02, 0x42, 0x7c, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x30, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x29, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67,
0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x69, 0x61, 0x6d,
0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x2f, 0x69, 0x61, 0x6d, 0x70, 0x62, 0x3b, 0x69, 0x61, 0x6d,
0x69, 0x61, 0x6d, 0x2f, 0x76, 0x31, 0x3b, 0x69, 0x61, 0x6d, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, 0x70, 0x62, 0xf8, 0x01, 0x01, 0xaa, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43,
0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x49, 0x61, 0x6d, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f,
0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56,
0x75, 0x64, 0x5c, 0x49, 0x61, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
0x33,
} }
var ( var (

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{},
@ -3251,9 +3263,18 @@ var awsPartition = partition{
}, },
"arc-zonal-shift": service{ "arc-zonal-shift": service{
Endpoints: serviceEndpoints{ Endpoints: serviceEndpoints{
endpointKey{
Region: "af-south-1",
}: endpoint{},
endpointKey{ endpointKey{
Region: "ap-northeast-1", Region: "ap-northeast-1",
}: endpoint{}, }: endpoint{},
endpointKey{
Region: "ap-northeast-2",
}: endpoint{},
endpointKey{
Region: "ap-south-1",
}: endpoint{},
endpointKey{ endpointKey{
Region: "ap-southeast-1", Region: "ap-southeast-1",
}: endpoint{}, }: endpoint{},
@ -3272,6 +3293,15 @@ var awsPartition = partition{
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: "sa-east-1",
}: endpoint{},
endpointKey{ endpointKey{
Region: "us-east-1", Region: "us-east-1",
}: endpoint{}, }: endpoint{},
@ -5122,6 +5152,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{},
@ -5137,12 +5170,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{},
@ -5587,6 +5626,9 @@ var awsPartition = partition{
}, },
"codepipeline": service{ "codepipeline": service{
Endpoints: serviceEndpoints{ Endpoints: serviceEndpoints{
endpointKey{
Region: "af-south-1",
}: endpoint{},
endpointKey{ endpointKey{
Region: "ap-east-1", Region: "ap-east-1",
}: endpoint{}, }: endpoint{},
@ -5617,6 +5659,9 @@ 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{},
@ -5677,6 +5722,9 @@ var awsPartition = partition{
}, },
Deprecated: boxedTrue, Deprecated: boxedTrue,
}, },
endpointKey{
Region: "me-south-1",
}: endpoint{},
endpointKey{ endpointKey{
Region: "sa-east-1", Region: "sa-east-1",
}: endpoint{}, }: endpoint{},
@ -12592,6 +12640,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 +12655,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{
@ -12899,6 +13007,9 @@ var awsPartition = partition{
}, },
}, },
Endpoints: serviceEndpoints{ Endpoints: serviceEndpoints{
endpointKey{
Region: "ap-south-1",
}: endpoint{},
endpointKey{ endpointKey{
Region: "us-east-1", Region: "us-east-1",
}: endpoint{}, }: endpoint{},
@ -14239,12 +14350,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 +15703,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 +17715,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 +17858,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{},
@ -21932,6 +22082,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{},
@ -21956,6 +22109,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 +23278,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 +23907,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 +23919,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 +24554,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 +24566,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 +27788,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 +27976,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 +28044,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 +28095,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 +28146,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 +28268,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 +28304,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 +28331,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 +28358,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 +28682,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 +28750,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 +28801,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 +28852,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 +28974,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 +29010,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 +29037,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 +29064,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{
@ -31733,6 +32200,24 @@ var awsusgovPartition = partition{
}, },
Deprecated: boxedTrue, Deprecated: boxedTrue,
}, },
endpointKey{
Region: "us-gov-east-1",
}: endpoint{},
endpointKey{
Region: "us-gov-east-1",
Variant: fipsVariant,
}: endpoint{
Hostname: "appstream2-fips.us-gov-east-1.amazonaws.com",
},
endpointKey{
Region: "us-gov-east-1-fips",
}: endpoint{
Hostname: "appstream2-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
Deprecated: boxedTrue,
},
endpointKey{ endpointKey{
Region: "us-gov-west-1", Region: "us-gov-west-1",
}: endpoint{}, }: endpoint{},
@ -34164,9 +34649,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.229" const SDKVersion = "1.44.237"

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

@ -135,6 +135,7 @@ func (c *Command) setup(ctx *Context) {
if scmd.HelpName == "" { if scmd.HelpName == "" {
scmd.HelpName = fmt.Sprintf("%s %s", c.HelpName, scmd.Name) scmd.HelpName = fmt.Sprintf("%s %s", c.HelpName, scmd.Name)
} }
scmd.separator = c.separator
newCmds = append(newCmds, scmd) newCmds = append(newCmds, scmd)
} }
c.Subcommands = newCmds c.Subcommands = newCmds

70
vendor/golang.org/x/sys/unix/ioctl_signed.go generated vendored Normal file
View file

@ -0,0 +1,70 @@
// Copyright 2018 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build aix || solaris
// +build aix solaris
package unix
import (
"unsafe"
)
// ioctl itself should not be exposed directly, but additional get/set
// functions for specific types are permissible.
// IoctlSetInt performs an ioctl operation which sets an integer value
// on fd, using the specified request number.
func IoctlSetInt(fd int, req int, value int) error {
return ioctl(fd, req, uintptr(value))
}
// IoctlSetPointerInt performs an ioctl operation which sets an
// integer value on fd, using the specified request number. The ioctl
// argument is called with a pointer to the integer value, rather than
// passing the integer value directly.
func IoctlSetPointerInt(fd int, req int, value int) error {
v := int32(value)
return ioctlPtr(fd, req, unsafe.Pointer(&v))
}
// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
//
// To change fd's window size, the req argument should be TIOCSWINSZ.
func IoctlSetWinsize(fd int, req int, value *Winsize) error {
// TODO: if we get the chance, remove the req parameter and
// hardcode TIOCSWINSZ.
return ioctlPtr(fd, req, unsafe.Pointer(value))
}
// IoctlSetTermios performs an ioctl on fd with a *Termios.
//
// The req value will usually be TCSETA or TIOCSETA.
func IoctlSetTermios(fd int, req int, value *Termios) error {
// TODO: if we get the chance, remove the req parameter.
return ioctlPtr(fd, req, unsafe.Pointer(value))
}
// IoctlGetInt performs an ioctl operation which gets an integer value
// from fd, using the specified request number.
//
// A few ioctl requests use the return value as an output parameter;
// for those, IoctlRetInt should be used instead of this function.
func IoctlGetInt(fd int, req int) (int, error) {
var value int
err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return value, err
}
func IoctlGetWinsize(fd int, req int) (*Winsize, error) {
var value Winsize
err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return &value, err
}
func IoctlGetTermios(fd int, req int) (*Termios, error) {
var value Termios
err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return &value, err
}

View file

@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file. // license that can be found in the LICENSE file.
//go:build aix || darwin || dragonfly || freebsd || hurd || linux || netbsd || openbsd || solaris //go:build darwin || dragonfly || freebsd || hurd || linux || netbsd || openbsd
// +build aix darwin dragonfly freebsd hurd linux netbsd openbsd solaris // +build darwin dragonfly freebsd hurd linux netbsd openbsd
package unix package unix

View file

@ -17,14 +17,14 @@ import (
// IoctlSetInt performs an ioctl operation which sets an integer value // IoctlSetInt performs an ioctl operation which sets an integer value
// on fd, using the specified request number. // on fd, using the specified request number.
func IoctlSetInt(fd int, req uint, value int) error { func IoctlSetInt(fd int, req int, value int) error {
return ioctl(fd, req, uintptr(value)) return ioctl(fd, req, uintptr(value))
} }
// IoctlSetWinsize performs an ioctl on fd with a *Winsize argument. // IoctlSetWinsize performs an ioctl on fd with a *Winsize argument.
// //
// To change fd's window size, the req argument should be TIOCSWINSZ. // To change fd's window size, the req argument should be TIOCSWINSZ.
func IoctlSetWinsize(fd int, req uint, value *Winsize) error { func IoctlSetWinsize(fd int, req int, value *Winsize) error {
// TODO: if we get the chance, remove the req parameter and // TODO: if we get the chance, remove the req parameter and
// hardcode TIOCSWINSZ. // hardcode TIOCSWINSZ.
return ioctlPtr(fd, req, unsafe.Pointer(value)) return ioctlPtr(fd, req, unsafe.Pointer(value))
@ -33,7 +33,7 @@ func IoctlSetWinsize(fd int, req uint, value *Winsize) error {
// IoctlSetTermios performs an ioctl on fd with a *Termios. // IoctlSetTermios performs an ioctl on fd with a *Termios.
// //
// The req value is expected to be TCSETS, TCSETSW, or TCSETSF // The req value is expected to be TCSETS, TCSETSW, or TCSETSF
func IoctlSetTermios(fd int, req uint, value *Termios) error { func IoctlSetTermios(fd int, req int, value *Termios) error {
if (req != TCSETS) && (req != TCSETSW) && (req != TCSETSF) { if (req != TCSETS) && (req != TCSETSW) && (req != TCSETSF) {
return ENOSYS return ENOSYS
} }
@ -47,13 +47,13 @@ func IoctlSetTermios(fd int, req uint, value *Termios) error {
// //
// A few ioctl requests use the return value as an output parameter; // A few ioctl requests use the return value as an output parameter;
// for those, IoctlRetInt should be used instead of this function. // for those, IoctlRetInt should be used instead of this function.
func IoctlGetInt(fd int, req uint) (int, error) { func IoctlGetInt(fd int, req int) (int, error) {
var value int var value int
err := ioctlPtr(fd, req, unsafe.Pointer(&value)) err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return value, err return value, err
} }
func IoctlGetWinsize(fd int, req uint) (*Winsize, error) { func IoctlGetWinsize(fd int, req int) (*Winsize, error) {
var value Winsize var value Winsize
err := ioctlPtr(fd, req, unsafe.Pointer(&value)) err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return &value, err return &value, err
@ -62,7 +62,7 @@ func IoctlGetWinsize(fd int, req uint) (*Winsize, error) {
// IoctlGetTermios performs an ioctl on fd with a *Termios. // IoctlGetTermios performs an ioctl on fd with a *Termios.
// //
// The req value is expected to be TCGETS // The req value is expected to be TCGETS
func IoctlGetTermios(fd int, req uint) (*Termios, error) { func IoctlGetTermios(fd int, req int) (*Termios, error) {
var value Termios var value Termios
if req != TCGETS { if req != TCGETS {
return &value, ENOSYS return &value, ENOSYS

View file

@ -66,6 +66,7 @@ includes_Darwin='
#include <sys/ptrace.h> #include <sys/ptrace.h>
#include <sys/select.h> #include <sys/select.h>
#include <sys/socket.h> #include <sys/socket.h>
#include <sys/stat.h>
#include <sys/un.h> #include <sys/un.h>
#include <sys/sockio.h> #include <sys/sockio.h>
#include <sys/sys_domain.h> #include <sys/sys_domain.h>
@ -521,6 +522,7 @@ ccflags="$@"
$2 ~ /^NFC_(GENL|PROTO|COMM|RF|SE|DIRECTION|LLCP|SOCKPROTO)_/ || $2 ~ /^NFC_(GENL|PROTO|COMM|RF|SE|DIRECTION|LLCP|SOCKPROTO)_/ ||
$2 ~ /^NFC_.*_(MAX)?SIZE$/ || $2 ~ /^NFC_.*_(MAX)?SIZE$/ ||
$2 ~ /^RAW_PAYLOAD_/ || $2 ~ /^RAW_PAYLOAD_/ ||
$2 ~ /^[US]F_/ ||
$2 ~ /^TP_STATUS_/ || $2 ~ /^TP_STATUS_/ ||
$2 ~ /^FALLOC_/ || $2 ~ /^FALLOC_/ ||
$2 ~ /^ICMPV?6?_(FILTER|SEC)/ || $2 ~ /^ICMPV?6?_(FILTER|SEC)/ ||

View file

@ -408,8 +408,8 @@ func (w WaitStatus) CoreDump() bool { return w&0x80 == 0x80 }
func (w WaitStatus) TrapCause() int { return -1 } func (w WaitStatus) TrapCause() int { return -1 }
//sys ioctl(fd int, req uint, arg uintptr) (err error) //sys ioctl(fd int, req int, arg uintptr) (err error)
//sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = ioctl //sys ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) = ioctl
// fcntl must never be called with cmd=F_DUP2FD because it doesn't work on AIX // fcntl must never be called with cmd=F_DUP2FD because it doesn't work on AIX
// There is no way to create a custom fcntl and to keep //sys fcntl easily, // There is no way to create a custom fcntl and to keep //sys fcntl easily,

View file

@ -8,7 +8,6 @@
package unix package unix
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = getrlimit64 //sysnb Getrlimit(resource int, rlim *Rlimit) (err error) = getrlimit64
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error) = setrlimit64
//sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek64 //sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek64
//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) //sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error)

View file

@ -8,7 +8,6 @@
package unix package unix
//sysnb Getrlimit(resource int, rlim *Rlimit) (err error) //sysnb Getrlimit(resource int, rlim *Rlimit) (err error)
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek //sys Seek(fd int, offset int64, whence int) (off int64, err error) = lseek
//sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) = mmap64 //sys mmap(addr uintptr, length uintptr, prot int, flags int, fd int, offset int64) (xaddr uintptr, err error) = mmap64

View file

@ -613,6 +613,7 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) {
//sys Rmdir(path string) (err error) //sys Rmdir(path string) (err error)
//sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK //sys Seek(fd int, offset int64, whence int) (newoffset int64, err error) = SYS_LSEEK
//sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error) //sys Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err error)
//sys Setattrlist(path string, attrlist *Attrlist, attrBuf []byte, options int) (err error)
//sys Setegid(egid int) (err error) //sys Setegid(egid int) (err error)
//sysnb Seteuid(euid int) (err error) //sysnb Seteuid(euid int) (err error)
//sysnb Setgid(gid int) (err error) //sysnb Setgid(gid int) (err error)
@ -622,7 +623,6 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) {
//sys Setprivexec(flag int) (err error) //sys Setprivexec(flag int) (err error)
//sysnb Setregid(rgid int, egid int) (err error) //sysnb Setregid(rgid int, egid int) (err error)
//sysnb Setreuid(ruid int, euid int) (err error) //sysnb Setreuid(ruid int, euid int) (err error)
//sysnb Setrlimit(which int, lim *Rlimit) (err error)
//sysnb Setsid() (pid int, err error) //sysnb Setsid() (pid int, err error)
//sysnb Settimeofday(tp *Timeval) (err error) //sysnb Settimeofday(tp *Timeval) (err error)
//sysnb Setuid(uid int) (err error) //sysnb Setuid(uid int) (err error)
@ -676,7 +676,6 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) {
// Kqueue_from_portset_np // Kqueue_from_portset_np
// Kqueue_portset // Kqueue_portset
// Getattrlist // Getattrlist
// Setattrlist
// Getdirentriesattr // Getdirentriesattr
// Searchfs // Searchfs
// Delete // Delete

View file

@ -326,7 +326,6 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
//sysnb Setreuid(ruid int, euid int) (err error) //sysnb Setreuid(ruid int, euid int) (err error)
//sysnb Setresgid(rgid int, egid int, sgid int) (err error) //sysnb Setresgid(rgid int, egid int, sgid int) (err error)
//sysnb Setresuid(ruid int, euid int, suid int) (err error) //sysnb Setresuid(ruid int, euid int, suid int) (err error)
//sysnb Setrlimit(which int, lim *Rlimit) (err error)
//sysnb Setsid() (pid int, err error) //sysnb Setsid() (pid int, err error)
//sysnb Settimeofday(tp *Timeval) (err error) //sysnb Settimeofday(tp *Timeval) (err error)
//sysnb Setuid(uid int) (err error) //sysnb Setuid(uid int) (err error)

View file

@ -433,7 +433,6 @@ func Dup3(oldfd, newfd, flags int) error {
//sysnb Setreuid(ruid int, euid int) (err error) //sysnb Setreuid(ruid int, euid int) (err error)
//sysnb Setresgid(rgid int, egid int, sgid int) (err error) //sysnb Setresgid(rgid int, egid int, sgid int) (err error)
//sysnb Setresuid(ruid int, euid int, suid int) (err error) //sysnb Setresuid(ruid int, euid int, suid int) (err error)
//sysnb Setrlimit(which int, lim *Rlimit) (err error)
//sysnb Setsid() (pid int, err error) //sysnb Setsid() (pid int, err error)
//sysnb Settimeofday(tp *Timeval) (err error) //sysnb Settimeofday(tp *Timeval) (err error)
//sysnb Setuid(uid int) (err error) //sysnb Setuid(uid int) (err error)

View file

@ -1873,7 +1873,6 @@ func Getpgrp() (pid int) {
//sys OpenTree(dfd int, fileName string, flags uint) (r int, err error) //sys OpenTree(dfd int, fileName string, flags uint) (r int, err error)
//sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error) //sys PerfEventOpen(attr *PerfEventAttr, pid int, cpu int, groupFd int, flags int) (fd int, err error)
//sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT //sys PivotRoot(newroot string, putold string) (err error) = SYS_PIVOT_ROOT
//sysnb Prlimit(pid int, resource int, newlimit *Rlimit, old *Rlimit) (err error) = SYS_PRLIMIT64
//sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error) //sys Prctl(option int, arg2 uintptr, arg3 uintptr, arg4 uintptr, arg5 uintptr) (err error)
//sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6 //sys Pselect(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timespec, sigmask *Sigset_t) (n int, err error) = SYS_PSELECT6
//sys read(fd int, p []byte) (n int, err error) //sys read(fd int, p []byte) (n int, err error)
@ -1887,6 +1886,15 @@ func Getpgrp() (pid int) {
//sysnb Settimeofday(tv *Timeval) (err error) //sysnb Settimeofday(tv *Timeval) (err error)
//sys Setns(fd int, nstype int) (err error) //sys Setns(fd int, nstype int) (err error)
//go:linkname syscall_prlimit syscall.prlimit
func syscall_prlimit(pid, resource int, newlimit, old *syscall.Rlimit) error
func Prlimit(pid, resource int, newlimit, old *Rlimit) error {
// Just call the syscall version, because as of Go 1.21
// it will affect starting a new process.
return syscall_prlimit(pid, resource, (*syscall.Rlimit)(newlimit), (*syscall.Rlimit)(old))
}
// PrctlRetInt performs a prctl operation specified by option and further // PrctlRetInt performs a prctl operation specified by option and further
// optional arguments arg2 through arg5 depending on option. It returns a // optional arguments arg2 through arg5 depending on option. It returns a
// non-negative integer that is returned by the prctl syscall. // non-negative integer that is returned by the prctl syscall.

View file

@ -97,33 +97,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
return return
} }
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
err = Prlimit(0, resource, rlim, nil)
if err != ENOSYS {
return err
}
rl := rlimit32{}
if rlim.Cur == rlimInf64 {
rl.Cur = rlimInf32
} else if rlim.Cur < uint64(rlimInf32) {
rl.Cur = uint32(rlim.Cur)
} else {
return EINVAL
}
if rlim.Max == rlimInf64 {
rl.Max = rlimInf32
} else if rlim.Max < uint64(rlimInf32) {
rl.Max = uint32(rlim.Max)
} else {
return EINVAL
}
return setrlimit(resource, &rl)
}
func Seek(fd int, offset int64, whence int) (newoffset int64, err error) { func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
newoffset, errno := seek(fd, offset, whence) newoffset, errno := seek(fd, offset, whence)
if errno != 0 { if errno != 0 {

View file

@ -46,7 +46,6 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys setfsgid(gid int) (prev int, err error) //sys setfsgid(gid int) (prev int, err error)
//sys setfsuid(uid int) (prev int, err error) //sys setfsuid(uid int) (prev int, err error)
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Shutdown(fd int, how int) (err error) //sys Shutdown(fd int, how int) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)

View file

@ -171,33 +171,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
return return
} }
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
err = Prlimit(0, resource, rlim, nil)
if err != ENOSYS {
return err
}
rl := rlimit32{}
if rlim.Cur == rlimInf64 {
rl.Cur = rlimInf32
} else if rlim.Cur < uint64(rlimInf32) {
rl.Cur = uint32(rlim.Cur)
} else {
return EINVAL
}
if rlim.Max == rlimInf64 {
rl.Max = rlimInf32
} else if rlim.Max < uint64(rlimInf32) {
rl.Max = uint32(rlim.Max)
} else {
return EINVAL
}
return setrlimit(resource, &rl)
}
func (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) } func (r *PtraceRegs) PC() uint64 { return uint64(r.Uregs[15]) }
func (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) } func (r *PtraceRegs) SetPC(pc uint64) { r.Uregs[15] = uint32(pc) }

View file

@ -39,7 +39,6 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys setfsgid(gid int) (prev int, err error) //sys setfsgid(gid int) (prev int, err error)
//sys setfsuid(uid int) (prev int, err error) //sys setfsuid(uid int) (prev int, err error)
//sysnb setrlimit(resource int, rlim *Rlimit) (err error)
//sys Shutdown(fd int, how int) (err error) //sys Shutdown(fd int, how int) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
@ -143,15 +142,6 @@ func Getrlimit(resource int, rlim *Rlimit) error {
return getrlimit(resource, rlim) return getrlimit(resource, rlim)
} }
// Setrlimit prefers the prlimit64 system call. See issue 38604.
func Setrlimit(resource int, rlim *Rlimit) error {
err := Prlimit(0, resource, rlim, nil)
if err != ENOSYS {
return err
}
return setrlimit(resource, rlim)
}
func (r *PtraceRegs) PC() uint64 { return r.Pc } func (r *PtraceRegs) PC() uint64 { return r.Pc }
func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc } func (r *PtraceRegs) SetPC(pc uint64) { r.Pc = pc }

View file

@ -126,11 +126,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
return return
} }
func Setrlimit(resource int, rlim *Rlimit) (err error) {
err = Prlimit(0, resource, rlim, nil)
return
}
func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) { func futimesat(dirfd int, path string, tv *[2]Timeval) (err error) {
if tv == nil { if tv == nil {
return utimensat(dirfd, path, nil, 0) return utimensat(dirfd, path, nil, 0)

View file

@ -37,7 +37,6 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys setfsgid(gid int) (prev int, err error) //sys setfsgid(gid int) (prev int, err error)
//sys setfsuid(uid int) (prev int, err error) //sys setfsuid(uid int) (prev int, err error)
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Shutdown(fd int, how int) (err error) //sys Shutdown(fd int, how int) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
//sys Statfs(path string, buf *Statfs_t) (err error) //sys Statfs(path string, buf *Statfs_t) (err error)

View file

@ -151,33 +151,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
return return
} }
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
err = Prlimit(0, resource, rlim, nil)
if err != ENOSYS {
return err
}
rl := rlimit32{}
if rlim.Cur == rlimInf64 {
rl.Cur = rlimInf32
} else if rlim.Cur < uint64(rlimInf32) {
rl.Cur = uint32(rlim.Cur)
} else {
return EINVAL
}
if rlim.Max == rlimInf64 {
rl.Max = rlimInf32
} else if rlim.Max < uint64(rlimInf32) {
rl.Max = uint32(rlim.Max)
} else {
return EINVAL
}
return setrlimit(resource, &rl)
}
func (r *PtraceRegs) PC() uint64 { return r.Epc } func (r *PtraceRegs) PC() uint64 { return r.Epc }
func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc } func (r *PtraceRegs) SetPC(pc uint64) { r.Epc = pc }

View file

@ -159,33 +159,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
return return
} }
//sysnb setrlimit(resource int, rlim *rlimit32) (err error) = SYS_SETRLIMIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
err = Prlimit(0, resource, rlim, nil)
if err != ENOSYS {
return err
}
rl := rlimit32{}
if rlim.Cur == rlimInf64 {
rl.Cur = rlimInf32
} else if rlim.Cur < uint64(rlimInf32) {
rl.Cur = uint32(rlim.Cur)
} else {
return EINVAL
}
if rlim.Max == rlimInf64 {
rl.Max = rlimInf32
} else if rlim.Max < uint64(rlimInf32) {
rl.Max = uint32(rlim.Max)
} else {
return EINVAL
}
return setrlimit(resource, &rl)
}
func (r *PtraceRegs) PC() uint32 { return r.Nip } func (r *PtraceRegs) PC() uint32 { return r.Nip }
func (r *PtraceRegs) SetPC(pc uint32) { r.Nip = pc } func (r *PtraceRegs) SetPC(pc uint32) { r.Nip = pc }

View file

@ -34,7 +34,6 @@ package unix
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys setfsgid(gid int) (prev int, err error) //sys setfsgid(gid int) (prev int, err error)
//sys setfsuid(uid int) (prev int, err error) //sys setfsuid(uid int) (prev int, err error)
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Shutdown(fd int, how int) (err error) //sys Shutdown(fd int, how int) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
//sys Stat(path string, stat *Stat_t) (err error) //sys Stat(path string, stat *Stat_t) (err error)

View file

@ -38,7 +38,6 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys setfsgid(gid int) (prev int, err error) //sys setfsgid(gid int) (prev int, err error)
//sys setfsuid(uid int) (prev int, err error) //sys setfsuid(uid int) (prev int, err error)
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Shutdown(fd int, how int) (err error) //sys Shutdown(fd int, how int) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)

View file

@ -34,7 +34,6 @@ import (
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys setfsgid(gid int) (prev int, err error) //sys setfsgid(gid int) (prev int, err error)
//sys setfsuid(uid int) (prev int, err error) //sys setfsuid(uid int) (prev int, err error)
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
//sys Stat(path string, stat *Stat_t) (err error) //sys Stat(path string, stat *Stat_t) (err error)
//sys Statfs(path string, buf *Statfs_t) (err error) //sys Statfs(path string, buf *Statfs_t) (err error)

View file

@ -31,7 +31,6 @@ package unix
//sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) //sys sendfile(outfd int, infd int, offset *int64, count int) (written int, err error)
//sys setfsgid(gid int) (prev int, err error) //sys setfsgid(gid int) (prev int, err error)
//sys setfsuid(uid int) (prev int, err error) //sys setfsuid(uid int) (prev int, err error)
//sysnb Setrlimit(resource int, rlim *Rlimit) (err error)
//sys Shutdown(fd int, how int) (err error) //sys Shutdown(fd int, how int) (err error)
//sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error) //sys Splice(rfd int, roff *int64, wfd int, woff *int64, len int, flags int) (n int64, err error)
//sys Stat(path string, stat *Stat_t) (err error) //sys Stat(path string, stat *Stat_t) (err error)

View file

@ -340,7 +340,6 @@ func Statvfs(path string, buf *Statvfs_t) (err error) {
//sys Setpriority(which int, who int, prio int) (err error) //sys Setpriority(which int, who int, prio int) (err error)
//sysnb Setregid(rgid int, egid int) (err error) //sysnb Setregid(rgid int, egid int) (err error)
//sysnb Setreuid(ruid int, euid int) (err error) //sysnb Setreuid(ruid int, euid int) (err error)
//sysnb Setrlimit(which int, lim *Rlimit) (err error)
//sysnb Setsid() (pid int, err error) //sysnb Setsid() (pid int, err error)
//sysnb Settimeofday(tp *Timeval) (err error) //sysnb Settimeofday(tp *Timeval) (err error)
//sysnb Setuid(uid int) (err error) //sysnb Setuid(uid int) (err error)
@ -501,7 +500,6 @@ func Statvfs(path string, buf *Statvfs_t) (err error) {
// compat_43_osendmsg // compat_43_osendmsg
// compat_43_osethostid // compat_43_osethostid
// compat_43_osethostname // compat_43_osethostname
// compat_43_osetrlimit
// compat_43_osigblock // compat_43_osigblock
// compat_43_osigsetmask // compat_43_osigsetmask
// compat_43_osigstack // compat_43_osigstack

View file

@ -294,7 +294,6 @@ func Uname(uname *Utsname) error {
//sysnb Setreuid(ruid int, euid int) (err error) //sysnb Setreuid(ruid int, euid int) (err error)
//sysnb Setresgid(rgid int, egid int, sgid int) (err error) //sysnb Setresgid(rgid int, egid int, sgid int) (err error)
//sysnb Setresuid(ruid int, euid int, suid int) (err error) //sysnb Setresuid(ruid int, euid int, suid int) (err error)
//sysnb Setrlimit(which int, lim *Rlimit) (err error)
//sysnb Setrtable(rtable int) (err error) //sysnb Setrtable(rtable int) (err error)
//sysnb Setsid() (pid int, err error) //sysnb Setsid() (pid int, err error)
//sysnb Settimeofday(tp *Timeval) (err error) //sysnb Settimeofday(tp *Timeval) (err error)

View file

@ -545,24 +545,24 @@ func Minor(dev uint64) uint32 {
* Expose the ioctl function * Expose the ioctl function
*/ */
//sys ioctlRet(fd int, req uint, arg uintptr) (ret int, err error) = libc.ioctl //sys ioctlRet(fd int, req int, arg uintptr) (ret int, err error) = libc.ioctl
//sys ioctlPtrRet(fd int, req uint, arg unsafe.Pointer) (ret int, err error) = libc.ioctl //sys ioctlPtrRet(fd int, req int, arg unsafe.Pointer) (ret int, err error) = libc.ioctl
func ioctl(fd int, req uint, arg uintptr) (err error) { func ioctl(fd int, req int, arg uintptr) (err error) {
_, err = ioctlRet(fd, req, arg) _, err = ioctlRet(fd, req, arg)
return err return err
} }
func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) {
_, err = ioctlPtrRet(fd, req, arg) _, err = ioctlPtrRet(fd, req, arg)
return err return err
} }
func IoctlSetTermio(fd int, req uint, value *Termio) error { func IoctlSetTermio(fd int, req int, value *Termio) error {
return ioctlPtr(fd, req, unsafe.Pointer(value)) return ioctlPtr(fd, req, unsafe.Pointer(value))
} }
func IoctlGetTermio(fd int, req uint) (*Termio, error) { func IoctlGetTermio(fd int, req int) (*Termio, error) {
var value Termio var value Termio
err := ioctlPtr(fd, req, unsafe.Pointer(&value)) err := ioctlPtr(fd, req, unsafe.Pointer(&value))
return &value, err return &value, err
@ -665,7 +665,6 @@ func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
//sys Setpriority(which int, who int, prio int) (err error) //sys Setpriority(which int, who int, prio int) (err error)
//sysnb Setregid(rgid int, egid int) (err error) //sysnb Setregid(rgid int, egid int) (err error)
//sysnb Setreuid(ruid int, euid int) (err error) //sysnb Setreuid(ruid int, euid int) (err error)
//sysnb Setrlimit(which int, lim *Rlimit) (err error)
//sysnb Setsid() (pid int, err error) //sysnb Setsid() (pid int, err error)
//sysnb Setuid(uid int) (err error) //sysnb Setuid(uid int) (err error)
//sys Shutdown(s int, how int) (err error) = libsocket.shutdown //sys Shutdown(s int, how int) (err error) = libsocket.shutdown
@ -1080,11 +1079,11 @@ func Getmsg(fd int, cl []byte, data []byte) (retCl []byte, retData []byte, flags
return retCl, retData, flags, nil return retCl, retData, flags, nil
} }
func IoctlSetIntRetInt(fd int, req uint, arg int) (int, error) { func IoctlSetIntRetInt(fd int, req int, arg int) (int, error) {
return ioctlRet(fd, req, uintptr(arg)) return ioctlRet(fd, req, uintptr(arg))
} }
func IoctlSetString(fd int, req uint, val string) error { func IoctlSetString(fd int, req int, val string) error {
bs := make([]byte, len(val)+1) bs := make([]byte, len(val)+1)
copy(bs[:len(bs)-1], val) copy(bs[:len(bs)-1], val)
err := ioctlPtr(fd, req, unsafe.Pointer(&bs[0])) err := ioctlPtr(fd, req, unsafe.Pointer(&bs[0]))
@ -1120,7 +1119,7 @@ func (l *Lifreq) GetLifruUint() uint {
return *(*uint)(unsafe.Pointer(&l.Lifru[0])) return *(*uint)(unsafe.Pointer(&l.Lifru[0]))
} }
func IoctlLifreq(fd int, req uint, l *Lifreq) error { func IoctlLifreq(fd int, req int, l *Lifreq) error {
return ioctlPtr(fd, req, unsafe.Pointer(l)) return ioctlPtr(fd, req, unsafe.Pointer(l))
} }
@ -1131,6 +1130,6 @@ func (s *Strioctl) SetInt(i int) {
s.Dp = (*int8)(unsafe.Pointer(&i)) s.Dp = (*int8)(unsafe.Pointer(&i))
} }
func IoctlSetStrioctlRetInt(fd int, req uint, s *Strioctl) (int, error) { func IoctlSetStrioctlRetInt(fd int, req int, s *Strioctl) (int, error) {
return ioctlPtrRet(fd, req, unsafe.Pointer(s)) return ioctlPtrRet(fd, req, unsafe.Pointer(s))
} }

View file

@ -587,3 +587,10 @@ func emptyIovecs(iov []Iovec) bool {
} }
return true return true
} }
// Setrlimit sets a resource limit.
func Setrlimit(resource int, rlim *Rlimit) error {
// Just call the syscall version, because as of Go 1.21
// it will affect starting a new process.
return syscall.Setrlimit(resource, (*syscall.Rlimit)(rlim))
}

View file

@ -212,8 +212,8 @@ func (cmsg *Cmsghdr) SetLen(length int) {
//sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___SENDMSG_A //sys sendmsg(s int, msg *Msghdr, flags int) (n int, err error) = SYS___SENDMSG_A
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) = SYS_MMAP //sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error) = SYS_MMAP
//sys munmap(addr uintptr, length uintptr) (err error) = SYS_MUNMAP //sys munmap(addr uintptr, length uintptr) (err error) = SYS_MUNMAP
//sys ioctl(fd int, req uint, arg uintptr) (err error) = SYS_IOCTL //sys ioctl(fd int, req int, arg uintptr) (err error) = SYS_IOCTL
//sys ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) = SYS_IOCTL //sys ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) = SYS_IOCTL
//sys Access(path string, mode uint32) (err error) = SYS___ACCESS_A //sys Access(path string, mode uint32) (err error) = SYS___ACCESS_A
//sys Chdir(path string) (err error) = SYS___CHDIR_A //sys Chdir(path string) (err error) = SYS___CHDIR_A

View file

@ -1270,6 +1270,16 @@ const (
SEEK_END = 0x2 SEEK_END = 0x2
SEEK_HOLE = 0x3 SEEK_HOLE = 0x3
SEEK_SET = 0x0 SEEK_SET = 0x0
SF_APPEND = 0x40000
SF_ARCHIVED = 0x10000
SF_DATALESS = 0x40000000
SF_FIRMLINK = 0x800000
SF_IMMUTABLE = 0x20000
SF_NOUNLINK = 0x100000
SF_RESTRICTED = 0x80000
SF_SETTABLE = 0x3fff0000
SF_SUPPORTED = 0x9f0000
SF_SYNTHETIC = 0xc0000000
SHUT_RD = 0x0 SHUT_RD = 0x0
SHUT_RDWR = 0x2 SHUT_RDWR = 0x2
SHUT_WR = 0x1 SHUT_WR = 0x1
@ -1543,6 +1553,15 @@ const (
TIOCTIMESTAMP = 0x40107459 TIOCTIMESTAMP = 0x40107459
TIOCUCNTL = 0x80047466 TIOCUCNTL = 0x80047466
TOSTOP = 0x400000 TOSTOP = 0x400000
UF_APPEND = 0x4
UF_COMPRESSED = 0x20
UF_DATAVAULT = 0x80
UF_HIDDEN = 0x8000
UF_IMMUTABLE = 0x2
UF_NODUMP = 0x1
UF_OPAQUE = 0x8
UF_SETTABLE = 0xffff
UF_TRACKED = 0x40
VDISCARD = 0xf VDISCARD = 0xf
VDSUSP = 0xb VDSUSP = 0xb
VEOF = 0x0 VEOF = 0x0

View file

@ -1270,6 +1270,16 @@ const (
SEEK_END = 0x2 SEEK_END = 0x2
SEEK_HOLE = 0x3 SEEK_HOLE = 0x3
SEEK_SET = 0x0 SEEK_SET = 0x0
SF_APPEND = 0x40000
SF_ARCHIVED = 0x10000
SF_DATALESS = 0x40000000
SF_FIRMLINK = 0x800000
SF_IMMUTABLE = 0x20000
SF_NOUNLINK = 0x100000
SF_RESTRICTED = 0x80000
SF_SETTABLE = 0x3fff0000
SF_SUPPORTED = 0x9f0000
SF_SYNTHETIC = 0xc0000000
SHUT_RD = 0x0 SHUT_RD = 0x0
SHUT_RDWR = 0x2 SHUT_RDWR = 0x2
SHUT_WR = 0x1 SHUT_WR = 0x1
@ -1543,6 +1553,15 @@ const (
TIOCTIMESTAMP = 0x40107459 TIOCTIMESTAMP = 0x40107459
TIOCUCNTL = 0x80047466 TIOCUCNTL = 0x80047466
TOSTOP = 0x400000 TOSTOP = 0x400000
UF_APPEND = 0x4
UF_COMPRESSED = 0x20
UF_DATAVAULT = 0x80
UF_HIDDEN = 0x8000
UF_IMMUTABLE = 0x2
UF_NODUMP = 0x1
UF_OPAQUE = 0x8
UF_SETTABLE = 0xffff
UF_TRACKED = 0x40
VDISCARD = 0xf VDISCARD = 0xf
VDSUSP = 0xb VDSUSP = 0xb
VEOF = 0x0 VEOF = 0x0

View file

@ -124,7 +124,6 @@ int utime(uintptr_t, uintptr_t);
unsigned long long getsystemcfg(int); unsigned long long getsystemcfg(int);
int umount(uintptr_t); int umount(uintptr_t);
int getrlimit64(int, uintptr_t); int getrlimit64(int, uintptr_t);
int setrlimit64(int, uintptr_t);
long long lseek64(int, long long, int); long long lseek64(int, long long, int);
uintptr_t mmap(uintptr_t, uintptr_t, int, int, int, long long); uintptr_t mmap(uintptr_t, uintptr_t, int, int, int, long long);
@ -213,7 +212,7 @@ func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t,
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func ioctl(fd int, req uint, arg uintptr) (err error) { func ioctl(fd int, req int, arg uintptr) (err error) {
r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg)) r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(arg))
if r0 == -1 && er != nil { if r0 == -1 && er != nil {
err = er err = er
@ -223,7 +222,7 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) {
r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(uintptr(arg))) r0, er := C.ioctl(C.int(fd), C.int(req), C.uintptr_t(uintptr(arg)))
if r0 == -1 && er != nil { if r0 == -1 && er != nil {
err = er err = er
@ -1464,16 +1463,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
r0, er := C.setrlimit64(C.int(resource), C.uintptr_t(uintptr(unsafe.Pointer(rlim))))
if r0 == -1 && er != nil {
err = er
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Seek(fd int, offset int64, whence int) (off int64, err error) { func Seek(fd int, offset int64, whence int) (off int64, err error) {
r0, er := C.lseek64(C.int(fd), C.longlong(offset), C.int(whence)) r0, er := C.lseek64(C.int(fd), C.longlong(offset), C.int(whence))
off = int64(r0) off = int64(r0)

View file

@ -93,8 +93,8 @@ func wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t,
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func ioctl(fd int, req uint, arg uintptr) (err error) { func ioctl(fd int, req int, arg uintptr) (err error) {
_, e1 := callioctl(fd, int(req), arg) _, e1 := callioctl(fd, req, arg)
if e1 != 0 { if e1 != 0 {
err = errnoErr(e1) err = errnoErr(e1)
} }
@ -103,8 +103,8 @@ func ioctl(fd int, req uint, arg uintptr) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func ioctlPtr(fd int, req uint, arg unsafe.Pointer) (err error) { func ioctlPtr(fd int, req int, arg unsafe.Pointer) (err error) {
_, e1 := callioctl_ptr(fd, int(req), arg) _, e1 := callioctl_ptr(fd, req, arg)
if e1 != 0 { if e1 != 0 {
err = errnoErr(e1) err = errnoErr(e1)
} }
@ -1422,16 +1422,6 @@ func Getrlimit(resource int, rlim *Rlimit) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(resource int, rlim *Rlimit) (err error) {
_, e1 := callsetrlimit(resource, uintptr(unsafe.Pointer(rlim)))
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Seek(fd int, offset int64, whence int) (off int64, err error) { func Seek(fd int, offset int64, whence int) (off int64, err error) {
r0, e1 := calllseek(fd, offset, whence) r0, e1 := calllseek(fd, offset, whence)
off = int64(r0) off = int64(r0)

View file

@ -124,7 +124,6 @@ import (
//go:cgo_import_dynamic libc_getsystemcfg getsystemcfg "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getsystemcfg getsystemcfg "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_umount umount "libc.a/shr_64.o" //go:cgo_import_dynamic libc_umount umount "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_getrlimit getrlimit "libc.a/shr_64.o" //go:cgo_import_dynamic libc_getrlimit getrlimit "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_setrlimit setrlimit "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_lseek lseek "libc.a/shr_64.o" //go:cgo_import_dynamic libc_lseek lseek "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_mmap64 mmap64 "libc.a/shr_64.o" //go:cgo_import_dynamic libc_mmap64 mmap64 "libc.a/shr_64.o"
@ -242,7 +241,6 @@ import (
//go:linkname libc_getsystemcfg libc_getsystemcfg //go:linkname libc_getsystemcfg libc_getsystemcfg
//go:linkname libc_umount libc_umount //go:linkname libc_umount libc_umount
//go:linkname libc_getrlimit libc_getrlimit //go:linkname libc_getrlimit libc_getrlimit
//go:linkname libc_setrlimit libc_setrlimit
//go:linkname libc_lseek libc_lseek //go:linkname libc_lseek libc_lseek
//go:linkname libc_mmap64 libc_mmap64 //go:linkname libc_mmap64 libc_mmap64
@ -363,7 +361,6 @@ var (
libc_getsystemcfg, libc_getsystemcfg,
libc_umount, libc_umount,
libc_getrlimit, libc_getrlimit,
libc_setrlimit,
libc_lseek, libc_lseek,
libc_mmap64 syscallFunc libc_mmap64 syscallFunc
) )
@ -1179,13 +1176,6 @@ func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_setrlimit)), 2, uintptr(resource), rlim, 0, 0, 0, 0)
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) { func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) {
r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0) r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_lseek)), 3, uintptr(fd), uintptr(offset), uintptr(whence), 0, 0, 0)
return return

View file

@ -123,7 +123,6 @@ int utime(uintptr_t, uintptr_t);
unsigned long long getsystemcfg(int); unsigned long long getsystemcfg(int);
int umount(uintptr_t); int umount(uintptr_t);
int getrlimit(int, uintptr_t); int getrlimit(int, uintptr_t);
int setrlimit(int, uintptr_t);
long long lseek(int, long long, int); long long lseek(int, long long, int);
uintptr_t mmap64(uintptr_t, uintptr_t, int, int, int, long long); uintptr_t mmap64(uintptr_t, uintptr_t, int, int, int, long long);
@ -131,6 +130,7 @@ uintptr_t mmap64(uintptr_t, uintptr_t, int, int, int, long long);
import "C" import "C"
import ( import (
"syscall" "syscall"
"unsafe"
) )
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
@ -1055,14 +1055,6 @@ func callgetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func callsetrlimit(resource int, rlim uintptr) (r1 uintptr, e1 Errno) {
r1 = uintptr(C.setrlimit(C.int(resource), C.uintptr_t(rlim)))
e1 = syscall.GetErrno()
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) { func calllseek(fd int, offset int64, whence int) (r1 uintptr, e1 Errno) {
r1 = uintptr(C.lseek(C.int(fd), C.longlong(offset), C.int(whence))) r1 = uintptr(C.lseek(C.int(fd), C.longlong(offset), C.int(whence)))
e1 = syscall.GetErrno() e1 = syscall.GetErrno()

View file

@ -1992,6 +1992,31 @@ var libc_select_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setattrlist(path string, attrlist *Attrlist, attrBuf []byte, options int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
if err != nil {
return
}
var _p1 unsafe.Pointer
if len(attrBuf) > 0 {
_p1 = unsafe.Pointer(&attrBuf[0])
} else {
_p1 = unsafe.Pointer(&_zero)
}
_, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(attrlist)), uintptr(_p1), uintptr(len(attrBuf)), uintptr(options), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
var libc_setattrlist_trampoline_addr uintptr
//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib"
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setegid(egid int) (err error) { func Setegid(egid int) (err error) {
_, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) _, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0)
if e1 != 0 { if e1 != 0 {
@ -2123,20 +2148,6 @@ var libc_setreuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
var libc_setrlimit_trampoline_addr uintptr
//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib"
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) { func Setsid() (pid int, err error) {
r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0)
pid = int(r0) pid = int(r0)

View file

@ -705,6 +705,11 @@ TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8
DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB)
TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setattrlist(SB)
GLOBL ·libc_setattrlist_trampoline_addr(SB), RODATA, $8
DATA ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB)
TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setegid(SB) JMP libc_setegid(SB)
@ -759,12 +764,6 @@ TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8
DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB)
TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrlimit(SB)
GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8
DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB)
TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setsid(SB) JMP libc_setsid(SB)

View file

@ -1992,6 +1992,31 @@ var libc_select_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setattrlist(path string, attrlist *Attrlist, attrBuf []byte, options int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
if err != nil {
return
}
var _p1 unsafe.Pointer
if len(attrBuf) > 0 {
_p1 = unsafe.Pointer(&attrBuf[0])
} else {
_p1 = unsafe.Pointer(&_zero)
}
_, _, e1 := syscall_syscall6(libc_setattrlist_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(attrlist)), uintptr(_p1), uintptr(len(attrBuf)), uintptr(options), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
var libc_setattrlist_trampoline_addr uintptr
//go:cgo_import_dynamic libc_setattrlist setattrlist "/usr/lib/libSystem.B.dylib"
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setegid(egid int) (err error) { func Setegid(egid int) (err error) {
_, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0) _, _, e1 := syscall_syscall(libc_setegid_trampoline_addr, uintptr(egid), 0, 0)
if e1 != 0 { if e1 != 0 {
@ -2123,20 +2148,6 @@ var libc_setreuid_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := syscall_rawSyscall(libc_setrlimit_trampoline_addr, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
var libc_setrlimit_trampoline_addr uintptr
//go:cgo_import_dynamic libc_setrlimit setrlimit "/usr/lib/libSystem.B.dylib"
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) { func Setsid() (pid int, err error) {
r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0) r0, _, e1 := syscall_rawSyscall(libc_setsid_trampoline_addr, 0, 0, 0)
pid = int(r0) pid = int(r0)

View file

@ -705,6 +705,11 @@ TEXT libc_select_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8 GLOBL ·libc_select_trampoline_addr(SB), RODATA, $8
DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB) DATA ·libc_select_trampoline_addr(SB)/8, $libc_select_trampoline<>(SB)
TEXT libc_setattrlist_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setattrlist(SB)
GLOBL ·libc_setattrlist_trampoline_addr(SB), RODATA, $8
DATA ·libc_setattrlist_trampoline_addr(SB)/8, $libc_setattrlist_trampoline<>(SB)
TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0 TEXT libc_setegid_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setegid(SB) JMP libc_setegid(SB)
@ -759,12 +764,6 @@ TEXT libc_setreuid_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8 GLOBL ·libc_setreuid_trampoline_addr(SB), RODATA, $8
DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB) DATA ·libc_setreuid_trampoline_addr(SB)/8, $libc_setreuid_trampoline<>(SB)
TEXT libc_setrlimit_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setrlimit(SB)
GLOBL ·libc_setrlimit_trampoline_addr(SB), RODATA, $8
DATA ·libc_setrlimit_trampoline_addr(SB)/8, $libc_setrlimit_trampoline<>(SB)
TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0 TEXT libc_setsid_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_setsid(SB) JMP libc_setsid(SB)

View file

@ -1410,16 +1410,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) { func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0) pid = int(r0)

View file

@ -1645,16 +1645,6 @@ func Setresuid(ruid int, euid int, suid int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setrlimit(which int, lim *Rlimit) (err error) {
_, _, e1 := RawSyscall(SYS_SETRLIMIT, uintptr(which), uintptr(unsafe.Pointer(lim)), 0)
if e1 != 0 {
err = errnoErr(e1)
}
return
}
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
func Setsid() (pid int, err error) { func Setsid() (pid int, err error) {
r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0) r0, _, e1 := RawSyscall(SYS_SETSID, 0, 0, 0)
pid = int(r0) pid = int(r0)

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