From 2d510f414167840915728136dc726576432e3086 Mon Sep 17 00:00:00 2001
From: David Barroso
Date: Thu, 11 Jan 2024 13:38:32 +0100
Subject: [PATCH] chore: update deps
---
cmd/serve.go | 14 +-
controller/delete_broken_metadata_test.go | 2 +-
controller/delete_file_test.go | 2 +-
controller/delete_orphans_test.go | 2 +-
controller/get_file_information_test.go | 2 +-
controller/get_file_presigned_url_test.go | 2 +-
controller/get_file_test.go | 2 +-
controller/list_broken_metadata_test.go | 2 +-
controller/list_not_uploaded_test.go | 2 +-
controller/list_orphans_test.go | 2 +-
controller/main_test.go | 2 +-
controller/mock/antivirus.go | 10 +-
controller/mock/content_storage.go | 20 +-
controller/mock/metadata_storage.go | 28 +-
controller/update_file_test.go | 2 +-
controller/upload_file_test.go | 2 +-
flake.lock | 18 +-
go.mod | 84 +-
go.sum | 650 +-
metadata/client_gen.go | 38 +
migrations/hasura.go | 14 +-
nix/overlay.nix | 26 +-
storage/s3.go | 34 +-
storage/s3_test.go | 2 +-
.../99designs/gqlgen/graphql/fieldset.go | 2 +-
.../99designs/gqlgen/graphql/omittable.go | 23 +
.../99designs/gqlgen/graphql/version.go | 2 +-
.../Yamashou/gqlgenc/clientv2/client.go | 12 +-
.../github.com/aws/aws-sdk-go-v2/.gitignore | 14 -
.../aws/aws-sdk-go-v2/.golangci.toml | 27 -
.../github.com/aws/aws-sdk-go-v2/.travis.yml | 31 -
.../github.com/aws/aws-sdk-go-v2/CHANGELOG.md | 12065 ----------------
.../aws/aws-sdk-go-v2/CODE_OF_CONDUCT.md | 4 -
.../aws/aws-sdk-go-v2/CONTRIBUTING.md | 177 -
vendor/github.com/aws/aws-sdk-go-v2/DESIGN.md | 15 -
vendor/github.com/aws/aws-sdk-go-v2/Makefile | 538 -
vendor/github.com/aws/aws-sdk-go-v2/README.md | 165 -
.../aws/aws-sdk-go-v2/aws/config.go | 15 +-
.../aws-sdk-go-v2/aws/go_module_metadata.go | 2 +-
.../aws-sdk-go-v2/aws/middleware/metadata.go | 14 +-
.../aws/middleware/private/metrics/metrics.go | 319 +
.../aws/protocol/eventstream/CHANGELOG.md | 16 +
.../eventstream/go_module_metadata.go | 2 +-
.../aws/aws-sdk-go-v2/aws/retry/middleware.go | 14 +-
.../aws/signer/internal/v4/headers.go | 1 +
.../aws-sdk-go-v2/aws/signer/v4/middleware.go | 150 +-
.../aws/aws-sdk-go-v2/aws/signer/v4/v4.go | 16 +-
.../aws/aws-sdk-go-v2/buildspec.yml | 12 -
.../aws/aws-sdk-go-v2/ci-find-smithy-go.sh | 58 -
.../aws/aws-sdk-go-v2/config/CHANGELOG.md | 85 +
.../aws/aws-sdk-go-v2/config/config.go | 8 +-
.../aws/aws-sdk-go-v2/config/env_config.go | 81 +
.../config/go_module_metadata.go | 2 +-
.../aws/aws-sdk-go-v2/config/load_options.go | 68 +
.../aws/aws-sdk-go-v2/config/provider.go | 34 +
.../aws/aws-sdk-go-v2/config/resolve.go | 28 +-
.../config/resolve_credentials.go | 81 +-
.../aws/aws-sdk-go-v2/config/shared_config.go | 114 +-
.../aws-sdk-go-v2/credentials/CHANGELOG.md | 64 +
.../endpointcreds/internal/client/auth.go | 48 +
.../endpointcreds/internal/client/client.go | 24 +-
.../internal/client/endpoints.go | 20 +
.../internal/client/middleware.go | 58 +-
.../credentials/endpointcreds/provider.go | 58 +-
.../credentials/go_module_metadata.go | 2 +-
vendor/github.com/aws/aws-sdk-go-v2/doc.go | 58 -
.../feature/ec2/imds/CHANGELOG.md | 36 +
.../feature/ec2/imds/api_op_GetDynamicData.go | 1 +
.../feature/ec2/imds/api_op_GetIAMInfo.go | 1 +
.../api_op_GetInstanceIdentityDocument.go | 1 +
.../feature/ec2/imds/api_op_GetMetadata.go | 1 +
.../feature/ec2/imds/api_op_GetRegion.go | 1 +
.../feature/ec2/imds/api_op_GetToken.go | 1 +
.../feature/ec2/imds/api_op_GetUserData.go | 1 +
.../aws-sdk-go-v2/feature/ec2/imds/auth.go | 48 +
.../feature/ec2/imds/endpoints.go | 20 +
.../feature/ec2/imds/go_module_metadata.go | 2 +-
.../feature/ec2/imds/request_middleware.go | 24 +-
.../aws/aws-sdk-go-v2/internal/auth/auth.go | 45 +
.../aws/aws-sdk-go-v2/internal/auth/scheme.go | 17 +-
.../auth/smithy/bearer_token_adapter.go | 43 +
.../smithy/bearer_token_signer_adapter.go | 35 +
.../auth/smithy/credentials_adapter.go | 46 +
.../internal/auth/smithy/smithy.go | 2 +
.../internal/auth/smithy/v4signer_adapter.go | 53 +
.../internal/configsources/CHANGELOG.md | 36 +
.../configsources/go_module_metadata.go | 2 +-
.../aws-sdk-go-v2/internal/context/context.go | 39 +
.../endpoints/awsrulesfn/partitions.go | 40 +-
.../endpoints/awsrulesfn/partitions.json | 3 +
.../internal/endpoints/endpoints.go | 201 +
.../internal/endpoints/v2/CHANGELOG.md | 36 +
.../endpoints/v2/go_module_metadata.go | 2 +-
.../aws-sdk-go-v2/internal/ini/CHANGELOG.md | 20 +
.../aws/aws-sdk-go-v2/internal/ini/ast.go | 120 -
.../aws-sdk-go-v2/internal/ini/comma_token.go | 11 -
.../internal/ini/comment_token.go | 35 -
.../aws-sdk-go-v2/internal/ini/dependency.go | 6 -
.../aws/aws-sdk-go-v2/internal/ini/doc.go | 43 -
.../aws-sdk-go-v2/internal/ini/empty_token.go | 4 -
.../aws-sdk-go-v2/internal/ini/expression.go | 24 -
.../internal/ini/go_module_metadata.go | 2 +-
.../aws/aws-sdk-go-v2/internal/ini/ini.go | 48 +-
.../aws-sdk-go-v2/internal/ini/ini_lexer.go | 161 -
.../aws-sdk-go-v2/internal/ini/ini_parser.go | 349 -
.../internal/ini/literal_tokens.go | 274 -
.../internal/ini/newline_token.go | 30 -
.../aws-sdk-go-v2/internal/ini/op_tokens.go | 39 -
.../aws/aws-sdk-go-v2/internal/ini/parse.go | 109 +
.../aws-sdk-go-v2/internal/ini/parse_error.go | 19 -
.../aws-sdk-go-v2/internal/ini/parse_stack.go | 60 -
.../aws-sdk-go-v2/internal/ini/sections.go | 157 +
.../aws-sdk-go-v2/internal/ini/sep_tokens.go | 41 -
.../aws/aws-sdk-go-v2/internal/ini/skipper.go | 45 -
.../aws-sdk-go-v2/internal/ini/statement.go | 35 -
.../aws/aws-sdk-go-v2/internal/ini/strings.go | 93 +
.../aws/aws-sdk-go-v2/internal/ini/token.go | 32 +
.../aws-sdk-go-v2/internal/ini/tokenize.go | 92 +
.../aws/aws-sdk-go-v2/internal/ini/value.go | 93 +
.../aws-sdk-go-v2/internal/ini/value_util.go | 123 -
.../aws/aws-sdk-go-v2/internal/ini/visitor.go | 288 -
.../aws/aws-sdk-go-v2/internal/ini/walker.go | 25 -
.../aws-sdk-go-v2/internal/ini/ws_token.go | 24 -
.../aws-sdk-go-v2/internal/v4a/CHANGELOG.md | 36 +
.../internal/v4a/go_module_metadata.go | 2 +-
.../aws/aws-sdk-go-v2/internal/v4a/smithy.go | 86 +
.../aws/aws-sdk-go-v2/local-mod-replace.sh | 39 -
.../github.com/aws/aws-sdk-go-v2/modman.toml | 78 -
.../internal/accept-encoding/CHANGELOG.md | 16 +
.../accept-encoding/go_module_metadata.go | 2 +-
.../service/internal/checksum/CHANGELOG.md | 36 +
.../internal/checksum/go_module_metadata.go | 2 +-
.../internal/checksum/middleware_add.go | 21 +-
.../middleware_compute_input_checksum.go | 65 +-
.../checksum/middleware_setup_context.go | 23 +-
.../internal/presigned-url/CHANGELOG.md | 36 +
.../presigned-url/go_module_metadata.go | 2 +-
.../service/internal/s3shared/CHANGELOG.md | 36 +
.../internal/s3shared/go_module_metadata.go | 2 +-
.../aws/aws-sdk-go-v2/service/s3/CHANGELOG.md | 81 +
.../aws-sdk-go-v2/service/s3/api_client.go | 358 +-
.../service/s3/api_op_AbortMultipartUpload.go | 249 +-
.../s3/api_op_CompleteMultipartUpload.go | 393 +-
.../service/s3/api_op_CopyObject.go | 802 +-
.../service/s3/api_op_CreateBucket.go | 326 +-
.../s3/api_op_CreateMultipartUpload.go | 701 +-
.../service/s3/api_op_CreateSession.go | 260 +
.../service/s3/api_op_DeleteBucket.go | 208 +-
...i_op_DeleteBucketAnalyticsConfiguration.go | 179 +-
.../service/s3/api_op_DeleteBucketCors.go | 179 +-
.../s3/api_op_DeleteBucketEncryption.go | 178 +-
...teBucketIntelligentTieringConfiguration.go | 169 +-
...i_op_DeleteBucketInventoryConfiguration.go | 182 +-
.../s3/api_op_DeleteBucketLifecycle.go | 187 +-
...api_op_DeleteBucketMetricsConfiguration.go | 185 +-
.../api_op_DeleteBucketOwnershipControls.go | 177 +-
.../service/s3/api_op_DeleteBucketPolicy.go | 235 +-
.../s3/api_op_DeleteBucketReplication.go | 180 +-
.../service/s3/api_op_DeleteBucketTagging.go | 179 +-
.../service/s3/api_op_DeleteBucketWebsite.go | 192 +-
.../service/s3/api_op_DeleteObject.go | 302 +-
.../service/s3/api_op_DeleteObjectTagging.go | 188 +-
.../service/s3/api_op_DeleteObjects.go | 347 +-
.../s3/api_op_DeletePublicAccessBlock.go | 179 +-
...api_op_GetBucketAccelerateConfiguration.go | 196 +-
.../service/s3/api_op_GetBucketAcl.go | 201 +-
.../api_op_GetBucketAnalyticsConfiguration.go | 183 +-
.../service/s3/api_op_GetBucketCors.go | 205 +-
.../service/s3/api_op_GetBucketEncryption.go | 180 +-
...etBucketIntelligentTieringConfiguration.go | 167 +-
.../api_op_GetBucketInventoryConfiguration.go | 179 +-
.../api_op_GetBucketLifecycleConfiguration.go | 184 +-
.../service/s3/api_op_GetBucketLocation.go | 199 +-
.../service/s3/api_op_GetBucketLogging.go | 176 +-
.../api_op_GetBucketMetricsConfiguration.go | 184 +-
...i_op_GetBucketNotificationConfiguration.go | 210 +-
.../s3/api_op_GetBucketOwnershipControls.go | 177 +-
.../service/s3/api_op_GetBucketPolicy.go | 261 +-
.../s3/api_op_GetBucketPolicyStatus.go | 179 +-
.../service/s3/api_op_GetBucketReplication.go | 179 +-
.../s3/api_op_GetBucketRequestPayment.go | 176 +-
.../service/s3/api_op_GetBucketTagging.go | 179 +-
.../service/s3/api_op_GetBucketVersioning.go | 181 +-
.../service/s3/api_op_GetBucketWebsite.go | 177 +-
.../service/s3/api_op_GetObject.go | 606 +-
.../service/s3/api_op_GetObjectAcl.go | 195 +-
.../service/s3/api_op_GetObjectAttributes.go | 334 +-
.../service/s3/api_op_GetObjectLegalHold.go | 190 +-
.../s3/api_op_GetObjectLockConfiguration.go | 182 +-
.../service/s3/api_op_GetObjectRetention.go | 190 +-
.../service/s3/api_op_GetObjectTagging.go | 205 +-
.../service/s3/api_op_GetObjectTorrent.go | 191 +-
.../service/s3/api_op_GetPublicAccessBlock.go | 178 +-
.../service/s3/api_op_HeadBucket.go | 287 +-
.../service/s3/api_op_HeadObject.go | 477 +-
...pi_op_ListBucketAnalyticsConfigurations.go | 191 +-
...tBucketIntelligentTieringConfigurations.go | 171 +-
...pi_op_ListBucketInventoryConfigurations.go | 183 +-
.../api_op_ListBucketMetricsConfigurations.go | 184 +-
.../service/s3/api_op_ListBuckets.go | 159 +-
.../service/s3/api_op_ListDirectoryBuckets.go | 291 +
.../service/s3/api_op_ListMultipartUploads.go | 339 +-
.../service/s3/api_op_ListObjectVersions.go | 203 +-
.../service/s3/api_op_ListObjects.go | 220 +-
.../service/s3/api_op_ListObjectsV2.go | 357 +-
.../service/s3/api_op_ListParts.go | 305 +-
...api_op_PutBucketAccelerateConfiguration.go | 197 +-
.../service/s3/api_op_PutBucketAcl.go | 194 +-
.../api_op_PutBucketAnalyticsConfiguration.go | 192 +-
.../service/s3/api_op_PutBucketCors.go | 210 +-
.../service/s3/api_op_PutBucketEncryption.go | 202 +-
...utBucketIntelligentTieringConfiguration.go | 169 +-
.../api_op_PutBucketInventoryConfiguration.go | 196 +-
.../api_op_PutBucketLifecycleConfiguration.go | 196 +-
.../service/s3/api_op_PutBucketLogging.go | 207 +-
.../api_op_PutBucketMetricsConfiguration.go | 189 +-
...i_op_PutBucketNotificationConfiguration.go | 177 +-
.../s3/api_op_PutBucketOwnershipControls.go | 180 +-
.../service/s3/api_op_PutBucketPolicy.go | 269 +-
.../service/s3/api_op_PutBucketReplication.go | 189 +-
.../s3/api_op_PutBucketRequestPayment.go | 194 +-
.../service/s3/api_op_PutBucketTagging.go | 202 +-
.../service/s3/api_op_PutBucketVersioning.go | 198 +-
.../service/s3/api_op_PutBucketWebsite.go | 195 +-
.../service/s3/api_op_PutObject.go | 571 +-
.../service/s3/api_op_PutObjectAcl.go | 256 +-
.../service/s3/api_op_PutObjectLegalHold.go | 203 +-
.../s3/api_op_PutObjectLockConfiguration.go | 205 +-
.../service/s3/api_op_PutObjectRetention.go | 209 +-
.../service/s3/api_op_PutObjectTagging.go | 208 +-
.../service/s3/api_op_PutPublicAccessBlock.go | 195 +-
.../service/s3/api_op_RestoreObject.go | 208 +-
.../service/s3/api_op_SelectObjectContent.go | 193 +-
.../service/s3/api_op_UploadPart.go | 405 +-
.../service/s3/api_op_UploadPartCopy.go | 450 +-
.../s3/api_op_WriteGetObjectResponse.go | 198 +-
.../aws/aws-sdk-go-v2/service/s3/auth.go | 318 +
.../service/s3/bucket_context.go | 47 +
.../service/s3/create_mpu_checksum.go | 36 +
.../aws-sdk-go-v2/service/s3/deserializers.go | 718 +-
.../service/s3/endpoint_auth_resolver.go | 115 +
.../aws/aws-sdk-go-v2/service/s3/endpoints.go | 2713 +++-
.../aws/aws-sdk-go-v2/service/s3/express.go | 9 +
.../service/s3/express_default.go | 170 +
.../service/s3/express_resolve.go | 44 +
.../aws-sdk-go-v2/service/s3/generated.json | 4 +
.../service/s3/go_module_metadata.go | 2 +-
.../service/s3/handwritten_paginators.go | 26 +-
.../s3/internal/customizations/context.go | 21 +
.../s3/internal/customizations/express.go | 44 +
.../internal/customizations/express_config.go | 18 +
.../express_default_checksum.go | 42 +
.../customizations/express_properties.go | 21 +
.../internal/customizations/express_signer.go | 109 +
.../customizations/express_signer_smithy.go | 61 +
.../internal/customizations/signer_wrapper.go | 47 +-
.../s3/internal/endpoints/endpoints.go | 97 +
.../aws/aws-sdk-go-v2/service/s3/options.go | 314 +
.../s3/serialize_immutable_hostname_bucket.go | 15 +-
.../aws-sdk-go-v2/service/s3/serializers.go | 504 +-
.../aws-sdk-go-v2/service/s3/types/enums.go | 96 +-
.../aws-sdk-go-v2/service/s3/types/errors.go | 9 +-
.../aws-sdk-go-v2/service/s3/types/types.go | 482 +-
.../aws-sdk-go-v2/service/s3/validators.go | 51 +
.../aws-sdk-go-v2/service/sso/CHANGELOG.md | 51 +
.../aws-sdk-go-v2/service/sso/api_client.go | 251 +-
.../service/sso/api_op_GetRoleCredentials.go | 138 +-
.../service/sso/api_op_ListAccountRoles.go | 138 +-
.../service/sso/api_op_ListAccounts.go | 138 +-
.../service/sso/api_op_Logout.go | 138 +-
.../aws/aws-sdk-go-v2/service/sso/auth.go | 308 +
.../aws-sdk-go-v2/service/sso/endpoints.go | 141 +-
.../aws-sdk-go-v2/service/sso/generated.json | 2 +
.../service/sso/go_module_metadata.go | 2 +-
.../aws/aws-sdk-go-v2/service/sso/options.go | 217 +
.../service/ssooidc/CHANGELOG.md | 55 +
.../service/ssooidc/api_client.go | 251 +-
.../service/ssooidc/api_op_CreateToken.go | 219 +-
.../ssooidc/api_op_CreateTokenWithIAM.go | 230 +
.../service/ssooidc/api_op_RegisterClient.go | 142 +-
.../api_op_StartDeviceAuthorization.go | 142 +-
.../aws/aws-sdk-go-v2/service/ssooidc/auth.go | 302 +
.../service/ssooidc/deserializers.go | 377 +
.../aws/aws-sdk-go-v2/service/ssooidc/doc.go | 44 +-
.../service/ssooidc/endpoints.go | 147 +-
.../service/ssooidc/generated.json | 3 +
.../service/ssooidc/go_module_metadata.go | 2 +-
.../aws-sdk-go-v2/service/ssooidc/options.go | 217 +
.../service/ssooidc/serializers.go | 122 +
.../service/ssooidc/types/errors.go | 32 +
.../service/ssooidc/validators.go | 42 +
.../aws-sdk-go-v2/service/sts/CHANGELOG.md | 61 +
.../aws-sdk-go-v2/service/sts/api_client.go | 305 +-
.../service/sts/api_op_AssumeRole.go | 149 +-
.../service/sts/api_op_AssumeRoleWithSAML.go | 139 +-
.../sts/api_op_AssumeRoleWithWebIdentity.go | 139 +-
.../sts/api_op_DecodeAuthorizationMessage.go | 142 +-
.../service/sts/api_op_GetAccessKeyInfo.go | 142 +-
.../service/sts/api_op_GetCallerIdentity.go | 142 +-
.../service/sts/api_op_GetFederationToken.go | 142 +-
.../service/sts/api_op_GetSessionToken.go | 142 +-
.../aws/aws-sdk-go-v2/service/sts/auth.go | 296 +
.../aws-sdk-go-v2/service/sts/endpoints.go | 438 +-
.../aws-sdk-go-v2/service/sts/generated.json | 3 +
.../service/sts/go_module_metadata.go | 2 +-
.../sts/internal/endpoints/endpoints.go | 3 +
.../aws/aws-sdk-go-v2/service/sts/options.go | 217 +
.../aws-sdk-go-v2/service/sts/types/types.go | 10 +-
vendor/github.com/aws/smithy-go/CHANGELOG.md | 22 +
vendor/github.com/aws/smithy-go/auth/auth.go | 3 +
.../github.com/aws/smithy-go/auth/identity.go | 47 +
.../github.com/aws/smithy-go/auth/option.go | 25 +
.../aws/smithy-go/auth/scheme_id.go | 20 +
.../container/private/cache/cache.go | 19 +
.../container/private/cache/lru/lru.go | 63 +
.../endpoints/private/rulesfn/strings.go | 1 -
.../aws/smithy-go/go_module_metadata.go | 2 +-
.../private/requestcompression/gzip.go | 30 +
.../middleware_capture_request_compression.go | 52 +
.../requestcompression/request_compression.go | 103 +
vendor/github.com/aws/smithy-go/properties.go | 40 +-
.../aws/smithy-go/transport/http/auth.go | 21 +
.../smithy-go/transport/http/auth_schemes.go | 45 +
.../smithy-go/transport/http/properties.go | 80 +
.../chenzhuoyu/iasm/x86_64/operands.go | 733 +-
.../chenzhuoyu/iasm/x86_64/pools.go | 117 +-
.../chenzhuoyu/iasm/x86_64/program.go | 702 +-
vendor/github.com/gin-contrib/cors/.gitignore | 2 +
.../github.com/gin-contrib/cors/.golangci.yml | 4 -
.../gin-contrib/cors/.goreleaser.yaml | 11 +-
vendor/github.com/gin-contrib/cors/README.md | 5 +-
vendor/github.com/gin-contrib/cors/config.go | 36 +-
vendor/github.com/gin-contrib/cors/cors.go | 10 +-
vendor/github.com/gin-contrib/cors/utils.go | 5 +
.../go-playground/validator/v10/README.md | 3 +-
.../go-playground/validator/v10/baked_in.go | 61 +-
.../go-playground/validator/v10/cache.go | 5 +
.../go-playground/validator/v10/doc.go | 7 +
.../go-playground/validator/v10/regexes.go | 2 +
.../go-playground/validator/v10/util.go | 17 +
.../go-playground/validator/v10/validator.go | 24 +
.../validator/v10/validator_instance.go | 1 +
.../golang-jwt/jwt/v5/MIGRATION_GUIDE.md | 14 +-
vendor/github.com/golang-jwt/jwt/v5/ecdsa.go | 4 +-
.../github.com/golang-jwt/jwt/v5/ed25519.go | 7 +-
.../golang-jwt/jwt/v5/errors_go_other.go | 2 +-
vendor/github.com/golang-jwt/jwt/v5/hmac.go | 4 +-
vendor/github.com/golang-jwt/jwt/v5/none.go | 2 +-
vendor/github.com/golang-jwt/jwt/v5/parser.go | 81 +-
.../golang-jwt/jwt/v5/parser_option.go | 8 +
vendor/github.com/golang-jwt/jwt/v5/rsa.go | 4 +-
.../github.com/golang-jwt/jwt/v5/rsa_pss.go | 4 +-
vendor/github.com/golang-jwt/jwt/v5/token.go | 14 +
vendor/github.com/golang-jwt/jwt/v5/types.go | 5 +-
.../github.com/golang-jwt/jwt/v5/validator.go | 47 +-
.../golang-migrate/migrate/v4/Dockerfile | 4 +-
.../migrate/v4/Dockerfile.github-actions | 2 +-
.../golang-migrate/migrate/v4/FAQ.md | 2 +-
.../migrate/v4/GETTING_STARTED.md | 2 +-
.../golang-migrate/migrate/v4/Makefile | 2 +-
.../golang-migrate/migrate/v4/README.md | 12 +-
.../migrate/v4/database/postgres/TUTORIAL.md | 10 +-
vendor/github.com/golang/mock/CONTRIBUTORS | 37 -
vendor/github.com/google/uuid/CHANGELOG.md | 18 +
vendor/github.com/google/uuid/CONTRIBUTING.md | 2 +-
vendor/github.com/google/uuid/time.go | 21 +-
vendor/github.com/google/uuid/uuid.go | 79 +-
vendor/github.com/google/uuid/version6.go | 56 +
vendor/github.com/google/uuid/version7.go | 75 +
.../github.com/klauspost/cpuid/v2/README.md | 14 +-
vendor/github.com/klauspost/cpuid/v2/cpuid.go | 52 +-
.../klauspost/cpuid/v2/detect_x86.go | 1 +
.../klauspost/cpuid/v2/featureid_string.go | 407 +-
.../pelletier/go-toml/v2/.gitignore | 3 +-
.../github.com/pelletier/go-toml/v2/README.md | 34 +-
.../pelletier/go-toml/v2/SECURITY.md | 3 -
vendor/github.com/pelletier/go-toml/v2/ci.sh | 22 +-
.../pelletier/go-toml/v2/unmarshaler.go | 6 +-
vendor/github.com/spf13/cast/README.md | 4 +-
vendor/github.com/spf13/cobra/.golangci.yml | 8 +-
vendor/github.com/spf13/cobra/README.md | 8 +-
vendor/github.com/spf13/cobra/active_help.go | 10 +-
vendor/github.com/spf13/cobra/active_help.md | 157 -
.../spf13/cobra/bash_completions.go | 2 +-
.../spf13/cobra/bash_completions.md | 93 -
.../spf13/cobra/bash_completionsV2.go | 2 +-
vendor/github.com/spf13/cobra/cobra.go | 13 +-
vendor/github.com/spf13/cobra/command.go | 69 +-
vendor/github.com/spf13/cobra/completions.go | 29 +-
.../spf13/cobra/fish_completions.go | 2 +-
.../spf13/cobra/fish_completions.md | 4 -
vendor/github.com/spf13/cobra/flag_groups.go | 68 +-
.../spf13/cobra/powershell_completions.go | 6 +-
.../spf13/cobra/powershell_completions.md | 3 -
.../spf13/cobra/projects_using_cobra.md | 64 -
.../spf13/cobra/shell_completions.md | 576 -
vendor/github.com/spf13/cobra/user_guide.md | 726 -
.../github.com/spf13/cobra/zsh_completions.md | 48 -
vendor/github.com/spf13/viper/.golangci.yaml | 14 +-
vendor/github.com/spf13/viper/README.md | 5 +
.../spf13/viper/{viper_go1_15.go => file.go} | 2 +-
.../viper/{viper_go1_16.go => file_finder.go} | 0
vendor/github.com/spf13/viper/flags.go | 2 +-
.../internal/encoding/dotenv/map_utils.go | 4 +-
.../viper/internal/encoding/ini/map_utils.go | 4 +-
.../encoding/javaproperties/map_utils.go | 4 +-
.../viper/internal/features/bind_struct.go | 5 +
.../internal/features/bind_struct_default.go | 5 +
vendor/github.com/spf13/viper/util.go | 2 +-
vendor/github.com/spf13/viper/viper.go | 104 +-
vendor/github.com/spf13/viper/watch.go | 11 -
.../spf13/viper/watch_unsupported.go | 31 -
vendor/github.com/ugorji/go/codec/cbor.go | 23 +-
vendor/github.com/ugorji/go/codec/decode.go | 13 +-
vendor/github.com/ugorji/go/codec/encode.go | 11 +-
vendor/github.com/ugorji/go/codec/gen.go | 16 +-
vendor/github.com/ugorji/go/codec/helper.go | 31 +-
vendor/github.com/ugorji/go/codec/json.go | 3 +
vendor/github.com/ugorji/go/codec/msgpack.go | 2 +-
vendor/github.com/ugorji/go/codec/reader.go | 4 +-
.../golang => go.uber.org}/mock/AUTHORS | 0
.../golang => go.uber.org}/mock/LICENSE | 0
.../mock/gomock/call.go | 127 +-
.../mock/gomock/callset.go | 59 +-
.../mock/gomock/controller.go | 138 +-
vendor/go.uber.org/mock/gomock/doc.go | 60 +
.../mock/gomock/matchers.go | 172 +-
.../x/crypto/sha3/hashes_generic.go | 1 -
vendor/golang.org/x/crypto/sha3/keccakf.go | 1 -
.../golang.org/x/crypto/sha3/keccakf_amd64.go | 1 -
.../golang.org/x/crypto/sha3/keccakf_amd64.s | 5 +-
vendor/golang.org/x/crypto/sha3/register.go | 1 -
vendor/golang.org/x/crypto/sha3/sha3_s390x.go | 1 -
vendor/golang.org/x/crypto/sha3/sha3_s390x.s | 1 -
.../golang.org/x/crypto/sha3/shake_generic.go | 1 -
vendor/golang.org/x/crypto/sha3/xor.go | 1 -
.../golang.org/x/crypto/sha3/xor_unaligned.go | 2 -
vendor/golang.org/x/exp/slog/handler.go | 18 +
vendor/golang.org/x/net/context/go17.go | 1 -
vendor/golang.org/x/net/context/go19.go | 1 -
vendor/golang.org/x/net/context/pre_go17.go | 1 -
vendor/golang.org/x/net/context/pre_go19.go | 1 -
vendor/golang.org/x/net/http2/databuffer.go | 59 +-
vendor/golang.org/x/net/http2/go111.go | 30 -
vendor/golang.org/x/net/http2/go115.go | 27 -
vendor/golang.org/x/net/http2/go118.go | 17 -
vendor/golang.org/x/net/http2/not_go111.go | 21 -
vendor/golang.org/x/net/http2/not_go115.go | 31 -
vendor/golang.org/x/net/http2/not_go118.go | 17 -
vendor/golang.org/x/net/http2/server.go | 24 +-
vendor/golang.org/x/net/http2/transport.go | 33 +-
vendor/golang.org/x/net/idna/go118.go | 1 -
vendor/golang.org/x/net/idna/idna10.0.0.go | 1 -
vendor/golang.org/x/net/idna/idna9.0.0.go | 1 -
vendor/golang.org/x/net/idna/pre_go118.go | 1 -
vendor/golang.org/x/net/idna/tables10.0.0.go | 1 -
vendor/golang.org/x/net/idna/tables11.0.0.go | 1 -
vendor/golang.org/x/net/idna/tables12.0.0.go | 1 -
vendor/golang.org/x/net/idna/tables13.0.0.go | 1 -
vendor/golang.org/x/net/idna/tables15.0.0.go | 1 -
vendor/golang.org/x/net/idna/tables9.0.0.go | 1 -
vendor/golang.org/x/net/idna/trie12.0.0.go | 1 -
vendor/golang.org/x/net/idna/trie13.0.0.go | 1 -
vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s | 1 -
vendor/golang.org/x/sys/cpu/cpu_aix.go | 1 -
vendor/golang.org/x/sys/cpu/cpu_arm64.s | 1 -
vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go | 1 -
vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go | 1 -
vendor/golang.org/x/sys/cpu/cpu_gc_x86.go | 2 -
.../golang.org/x/sys/cpu/cpu_gccgo_arm64.go | 1 -
.../golang.org/x/sys/cpu/cpu_gccgo_s390x.go | 1 -
vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c | 2 -
vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go | 2 -
vendor/golang.org/x/sys/cpu/cpu_linux.go | 1 -
.../golang.org/x/sys/cpu/cpu_linux_mips64x.go | 2 -
.../golang.org/x/sys/cpu/cpu_linux_noinit.go | 1 -
.../golang.org/x/sys/cpu/cpu_linux_ppc64x.go | 2 -
vendor/golang.org/x/sys/cpu/cpu_loong64.go | 1 -
vendor/golang.org/x/sys/cpu/cpu_mips64x.go | 1 -
vendor/golang.org/x/sys/cpu/cpu_mipsx.go | 1 -
vendor/golang.org/x/sys/cpu/cpu_other_arm.go | 1 -
.../golang.org/x/sys/cpu/cpu_other_arm64.go | 1 -
.../golang.org/x/sys/cpu/cpu_other_mips64x.go | 2 -
.../golang.org/x/sys/cpu/cpu_other_ppc64x.go | 3 -
.../golang.org/x/sys/cpu/cpu_other_riscv64.go | 1 -
vendor/golang.org/x/sys/cpu/cpu_ppc64x.go | 1 -
vendor/golang.org/x/sys/cpu/cpu_riscv64.go | 1 -
vendor/golang.org/x/sys/cpu/cpu_s390x.s | 1 -
vendor/golang.org/x/sys/cpu/cpu_wasm.go | 1 -
vendor/golang.org/x/sys/cpu/cpu_x86.go | 1 -
vendor/golang.org/x/sys/cpu/cpu_x86.s | 2 -
vendor/golang.org/x/sys/cpu/endian_big.go | 1 -
vendor/golang.org/x/sys/cpu/endian_little.go | 1 -
.../x/sys/cpu/proc_cpuinfo_linux.go | 1 -
.../x/sys/cpu/runtime_auxv_go121.go | 1 -
.../golang.org/x/sys/cpu/syscall_aix_gccgo.go | 1 -
.../x/sys/cpu/syscall_aix_ppc64_gc.go | 1 -
vendor/golang.org/x/sys/unix/aliases.go | 2 -
vendor/golang.org/x/sys/unix/asm_aix_ppc64.s | 1 -
vendor/golang.org/x/sys/unix/asm_bsd_386.s | 2 -
vendor/golang.org/x/sys/unix/asm_bsd_amd64.s | 2 -
vendor/golang.org/x/sys/unix/asm_bsd_arm.s | 2 -
vendor/golang.org/x/sys/unix/asm_bsd_arm64.s | 2 -
vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s | 2 -
.../golang.org/x/sys/unix/asm_bsd_riscv64.s | 2 -
vendor/golang.org/x/sys/unix/asm_linux_386.s | 1 -
.../golang.org/x/sys/unix/asm_linux_amd64.s | 1 -
vendor/golang.org/x/sys/unix/asm_linux_arm.s | 1 -
.../golang.org/x/sys/unix/asm_linux_arm64.s | 3 -
.../golang.org/x/sys/unix/asm_linux_loong64.s | 3 -
.../golang.org/x/sys/unix/asm_linux_mips64x.s | 3 -
.../golang.org/x/sys/unix/asm_linux_mipsx.s | 3 -
.../golang.org/x/sys/unix/asm_linux_ppc64x.s | 3 -
.../golang.org/x/sys/unix/asm_linux_riscv64.s | 2 -
.../golang.org/x/sys/unix/asm_linux_s390x.s | 3 -
.../x/sys/unix/asm_openbsd_mips64.s | 1 -
.../golang.org/x/sys/unix/asm_solaris_amd64.s | 1 -
vendor/golang.org/x/sys/unix/asm_zos_s390x.s | 3 -
vendor/golang.org/x/sys/unix/cap_freebsd.go | 1 -
vendor/golang.org/x/sys/unix/constants.go | 1 -
vendor/golang.org/x/sys/unix/dev_aix_ppc.go | 1 -
vendor/golang.org/x/sys/unix/dev_aix_ppc64.go | 1 -
vendor/golang.org/x/sys/unix/dev_zos.go | 1 -
vendor/golang.org/x/sys/unix/dirent.go | 1 -
vendor/golang.org/x/sys/unix/endian_big.go | 1 -
vendor/golang.org/x/sys/unix/endian_little.go | 1 -
vendor/golang.org/x/sys/unix/env_unix.go | 1 -
vendor/golang.org/x/sys/unix/epoll_zos.go | 1 -
vendor/golang.org/x/sys/unix/fcntl.go | 3 +-
.../x/sys/unix/fcntl_linux_32bit.go | 1 -
vendor/golang.org/x/sys/unix/fdset.go | 1 -
vendor/golang.org/x/sys/unix/fstatfs_zos.go | 1 -
vendor/golang.org/x/sys/unix/gccgo.go | 1 -
vendor/golang.org/x/sys/unix/gccgo_c.c | 1 -
.../x/sys/unix/gccgo_linux_amd64.go | 1 -
vendor/golang.org/x/sys/unix/ifreq_linux.go | 1 -
vendor/golang.org/x/sys/unix/ioctl_linux.go | 5 +
vendor/golang.org/x/sys/unix/ioctl_signed.go | 1 -
.../golang.org/x/sys/unix/ioctl_unsigned.go | 1 -
vendor/golang.org/x/sys/unix/ioctl_zos.go | 1 -
vendor/golang.org/x/sys/unix/mkerrors.sh | 41 +-
vendor/golang.org/x/sys/unix/mmap_nomremap.go | 1 -
vendor/golang.org/x/sys/unix/mremap.go | 1 -
vendor/golang.org/x/sys/unix/pagesize_unix.go | 1 -
.../golang.org/x/sys/unix/pledge_openbsd.go | 92 +-
vendor/golang.org/x/sys/unix/ptrace_darwin.go | 1 -
vendor/golang.org/x/sys/unix/ptrace_ios.go | 1 -
vendor/golang.org/x/sys/unix/race.go | 1 -
vendor/golang.org/x/sys/unix/race0.go | 1 -
.../x/sys/unix/readdirent_getdents.go | 1 -
.../x/sys/unix/readdirent_getdirentries.go | 1 -
vendor/golang.org/x/sys/unix/sockcmsg_unix.go | 1 -
.../x/sys/unix/sockcmsg_unix_other.go | 1 -
vendor/golang.org/x/sys/unix/syscall.go | 1 -
vendor/golang.org/x/sys/unix/syscall_aix.go | 4 +-
.../golang.org/x/sys/unix/syscall_aix_ppc.go | 1 -
.../x/sys/unix/syscall_aix_ppc64.go | 1 -
vendor/golang.org/x/sys/unix/syscall_bsd.go | 3 +-
.../x/sys/unix/syscall_darwin_amd64.go | 1 -
.../x/sys/unix/syscall_darwin_arm64.go | 1 -
.../x/sys/unix/syscall_darwin_libSystem.go | 1 -
.../x/sys/unix/syscall_dragonfly_amd64.go | 1 -
.../x/sys/unix/syscall_freebsd_386.go | 1 -
.../x/sys/unix/syscall_freebsd_amd64.go | 1 -
.../x/sys/unix/syscall_freebsd_arm.go | 1 -
.../x/sys/unix/syscall_freebsd_arm64.go | 1 -
.../x/sys/unix/syscall_freebsd_riscv64.go | 1 -
vendor/golang.org/x/sys/unix/syscall_hurd.go | 1 -
.../golang.org/x/sys/unix/syscall_hurd_386.go | 1 -
.../golang.org/x/sys/unix/syscall_illumos.go | 1 -
vendor/golang.org/x/sys/unix/syscall_linux.go | 33 +-
.../x/sys/unix/syscall_linux_386.go | 1 -
.../x/sys/unix/syscall_linux_alarm.go | 2 -
.../x/sys/unix/syscall_linux_amd64.go | 1 -
.../x/sys/unix/syscall_linux_amd64_gc.go | 1 -
.../x/sys/unix/syscall_linux_arm.go | 1 -
.../x/sys/unix/syscall_linux_arm64.go | 1 -
.../golang.org/x/sys/unix/syscall_linux_gc.go | 1 -
.../x/sys/unix/syscall_linux_gc_386.go | 1 -
.../x/sys/unix/syscall_linux_gc_arm.go | 1 -
.../x/sys/unix/syscall_linux_gccgo_386.go | 1 -
.../x/sys/unix/syscall_linux_gccgo_arm.go | 1 -
.../x/sys/unix/syscall_linux_loong64.go | 1 -
.../x/sys/unix/syscall_linux_mips64x.go | 2 -
.../x/sys/unix/syscall_linux_mipsx.go | 2 -
.../x/sys/unix/syscall_linux_ppc.go | 1 -
.../x/sys/unix/syscall_linux_ppc64x.go | 2 -
.../x/sys/unix/syscall_linux_riscv64.go | 1 -
.../x/sys/unix/syscall_linux_s390x.go | 1 -
.../x/sys/unix/syscall_linux_sparc64.go | 1 -
.../x/sys/unix/syscall_netbsd_386.go | 1 -
.../x/sys/unix/syscall_netbsd_amd64.go | 1 -
.../x/sys/unix/syscall_netbsd_arm.go | 1 -
.../x/sys/unix/syscall_netbsd_arm64.go | 1 -
.../golang.org/x/sys/unix/syscall_openbsd.go | 28 +-
.../x/sys/unix/syscall_openbsd_386.go | 1 -
.../x/sys/unix/syscall_openbsd_amd64.go | 1 -
.../x/sys/unix/syscall_openbsd_arm.go | 1 -
.../x/sys/unix/syscall_openbsd_arm64.go | 1 -
.../x/sys/unix/syscall_openbsd_libc.go | 1 -
.../x/sys/unix/syscall_openbsd_ppc64.go | 1 -
.../x/sys/unix/syscall_openbsd_riscv64.go | 1 -
.../golang.org/x/sys/unix/syscall_solaris.go | 5 +-
.../x/sys/unix/syscall_solaris_amd64.go | 1 -
vendor/golang.org/x/sys/unix/syscall_unix.go | 1 -
.../golang.org/x/sys/unix/syscall_unix_gc.go | 2 -
.../x/sys/unix/syscall_unix_gc_ppc64x.go | 3 -
.../x/sys/unix/syscall_zos_s390x.go | 3 +-
vendor/golang.org/x/sys/unix/sysvshm_linux.go | 1 -
vendor/golang.org/x/sys/unix/sysvshm_unix.go | 1 -
.../x/sys/unix/sysvshm_unix_other.go | 1 -
vendor/golang.org/x/sys/unix/timestruct.go | 1 -
.../golang.org/x/sys/unix/unveil_openbsd.go | 41 +-
vendor/golang.org/x/sys/unix/xattr_bsd.go | 1 -
.../golang.org/x/sys/unix/zerrors_aix_ppc.go | 1 -
.../x/sys/unix/zerrors_aix_ppc64.go | 1 -
.../x/sys/unix/zerrors_darwin_amd64.go | 1 -
.../x/sys/unix/zerrors_darwin_arm64.go | 1 -
.../x/sys/unix/zerrors_dragonfly_amd64.go | 1 -
.../x/sys/unix/zerrors_freebsd_386.go | 1 -
.../x/sys/unix/zerrors_freebsd_amd64.go | 1 -
.../x/sys/unix/zerrors_freebsd_arm.go | 1 -
.../x/sys/unix/zerrors_freebsd_arm64.go | 1 -
.../x/sys/unix/zerrors_freebsd_riscv64.go | 1 -
vendor/golang.org/x/sys/unix/zerrors_linux.go | 68 +-
.../x/sys/unix/zerrors_linux_386.go | 1 -
.../x/sys/unix/zerrors_linux_amd64.go | 1 -
.../x/sys/unix/zerrors_linux_arm.go | 1 -
.../x/sys/unix/zerrors_linux_arm64.go | 1 -
.../x/sys/unix/zerrors_linux_loong64.go | 2 +-
.../x/sys/unix/zerrors_linux_mips.go | 1 -
.../x/sys/unix/zerrors_linux_mips64.go | 1 -
.../x/sys/unix/zerrors_linux_mips64le.go | 1 -
.../x/sys/unix/zerrors_linux_mipsle.go | 1 -
.../x/sys/unix/zerrors_linux_ppc.go | 1 -
.../x/sys/unix/zerrors_linux_ppc64.go | 1 -
.../x/sys/unix/zerrors_linux_ppc64le.go | 1 -
.../x/sys/unix/zerrors_linux_riscv64.go | 4 +-
.../x/sys/unix/zerrors_linux_s390x.go | 1 -
.../x/sys/unix/zerrors_linux_sparc64.go | 1 -
.../x/sys/unix/zerrors_netbsd_386.go | 1 -
.../x/sys/unix/zerrors_netbsd_amd64.go | 1 -
.../x/sys/unix/zerrors_netbsd_arm.go | 1 -
.../x/sys/unix/zerrors_netbsd_arm64.go | 1 -
.../x/sys/unix/zerrors_openbsd_386.go | 1 -
.../x/sys/unix/zerrors_openbsd_amd64.go | 1 -
.../x/sys/unix/zerrors_openbsd_arm.go | 1 -
.../x/sys/unix/zerrors_openbsd_arm64.go | 1 -
.../x/sys/unix/zerrors_openbsd_mips64.go | 1 -
.../x/sys/unix/zerrors_openbsd_ppc64.go | 1 -
.../x/sys/unix/zerrors_openbsd_riscv64.go | 1 -
.../x/sys/unix/zerrors_solaris_amd64.go | 1 -
.../x/sys/unix/zerrors_zos_s390x.go | 1 -
.../x/sys/unix/zptrace_armnn_linux.go | 2 -
.../x/sys/unix/zptrace_mipsnn_linux.go | 2 -
.../x/sys/unix/zptrace_mipsnnle_linux.go | 2 -
.../x/sys/unix/zptrace_x86_linux.go | 2 -
.../golang.org/x/sys/unix/zsyscall_aix_ppc.go | 1 -
.../x/sys/unix/zsyscall_aix_ppc64.go | 1 -
.../x/sys/unix/zsyscall_aix_ppc64_gc.go | 1 -
.../x/sys/unix/zsyscall_aix_ppc64_gccgo.go | 1 -
.../x/sys/unix/zsyscall_darwin_amd64.go | 1 -
.../x/sys/unix/zsyscall_darwin_arm64.go | 1 -
.../x/sys/unix/zsyscall_dragonfly_amd64.go | 1 -
.../x/sys/unix/zsyscall_freebsd_386.go | 1 -
.../x/sys/unix/zsyscall_freebsd_amd64.go | 1 -
.../x/sys/unix/zsyscall_freebsd_arm.go | 1 -
.../x/sys/unix/zsyscall_freebsd_arm64.go | 1 -
.../x/sys/unix/zsyscall_freebsd_riscv64.go | 1 -
.../x/sys/unix/zsyscall_illumos_amd64.go | 1 -
.../golang.org/x/sys/unix/zsyscall_linux.go | 26 +-
.../x/sys/unix/zsyscall_linux_386.go | 1 -
.../x/sys/unix/zsyscall_linux_amd64.go | 1 -
.../x/sys/unix/zsyscall_linux_arm.go | 1 -
.../x/sys/unix/zsyscall_linux_arm64.go | 1 -
.../x/sys/unix/zsyscall_linux_loong64.go | 1 -
.../x/sys/unix/zsyscall_linux_mips.go | 1 -
.../x/sys/unix/zsyscall_linux_mips64.go | 1 -
.../x/sys/unix/zsyscall_linux_mips64le.go | 1 -
.../x/sys/unix/zsyscall_linux_mipsle.go | 1 -
.../x/sys/unix/zsyscall_linux_ppc.go | 1 -
.../x/sys/unix/zsyscall_linux_ppc64.go | 1 -
.../x/sys/unix/zsyscall_linux_ppc64le.go | 1 -
.../x/sys/unix/zsyscall_linux_riscv64.go | 1 -
.../x/sys/unix/zsyscall_linux_s390x.go | 1 -
.../x/sys/unix/zsyscall_linux_sparc64.go | 1 -
.../x/sys/unix/zsyscall_netbsd_386.go | 1 -
.../x/sys/unix/zsyscall_netbsd_amd64.go | 1 -
.../x/sys/unix/zsyscall_netbsd_arm.go | 1 -
.../x/sys/unix/zsyscall_netbsd_arm64.go | 1 -
.../x/sys/unix/zsyscall_openbsd_386.go | 70 +-
.../x/sys/unix/zsyscall_openbsd_386.s | 20 +
.../x/sys/unix/zsyscall_openbsd_amd64.go | 70 +-
.../x/sys/unix/zsyscall_openbsd_amd64.s | 20 +
.../x/sys/unix/zsyscall_openbsd_arm.go | 70 +-
.../x/sys/unix/zsyscall_openbsd_arm.s | 20 +
.../x/sys/unix/zsyscall_openbsd_arm64.go | 70 +-
.../x/sys/unix/zsyscall_openbsd_arm64.s | 20 +
.../x/sys/unix/zsyscall_openbsd_mips64.go | 70 +-
.../x/sys/unix/zsyscall_openbsd_mips64.s | 20 +
.../x/sys/unix/zsyscall_openbsd_ppc64.go | 70 +-
.../x/sys/unix/zsyscall_openbsd_ppc64.s | 24 +
.../x/sys/unix/zsyscall_openbsd_riscv64.go | 70 +-
.../x/sys/unix/zsyscall_openbsd_riscv64.s | 20 +
.../x/sys/unix/zsyscall_solaris_amd64.go | 1 -
.../x/sys/unix/zsyscall_zos_s390x.go | 1 -
.../x/sys/unix/zsysctl_openbsd_386.go | 1 -
.../x/sys/unix/zsysctl_openbsd_amd64.go | 1 -
.../x/sys/unix/zsysctl_openbsd_arm.go | 1 -
.../x/sys/unix/zsysctl_openbsd_arm64.go | 1 -
.../x/sys/unix/zsysctl_openbsd_mips64.go | 1 -
.../x/sys/unix/zsysctl_openbsd_ppc64.go | 1 -
.../x/sys/unix/zsysctl_openbsd_riscv64.go | 1 -
.../x/sys/unix/zsysnum_darwin_amd64.go | 1 -
.../x/sys/unix/zsysnum_darwin_arm64.go | 1 -
.../x/sys/unix/zsysnum_dragonfly_amd64.go | 1 -
.../x/sys/unix/zsysnum_freebsd_386.go | 1 -
.../x/sys/unix/zsysnum_freebsd_amd64.go | 1 -
.../x/sys/unix/zsysnum_freebsd_arm.go | 1 -
.../x/sys/unix/zsysnum_freebsd_arm64.go | 1 -
.../x/sys/unix/zsysnum_freebsd_riscv64.go | 1 -
.../x/sys/unix/zsysnum_linux_386.go | 2 +-
.../x/sys/unix/zsysnum_linux_amd64.go | 3 +-
.../x/sys/unix/zsysnum_linux_arm.go | 2 +-
.../x/sys/unix/zsysnum_linux_arm64.go | 2 +-
.../x/sys/unix/zsysnum_linux_loong64.go | 2 +-
.../x/sys/unix/zsysnum_linux_mips.go | 2 +-
.../x/sys/unix/zsysnum_linux_mips64.go | 2 +-
.../x/sys/unix/zsysnum_linux_mips64le.go | 2 +-
.../x/sys/unix/zsysnum_linux_mipsle.go | 2 +-
.../x/sys/unix/zsysnum_linux_ppc.go | 2 +-
.../x/sys/unix/zsysnum_linux_ppc64.go | 2 +-
.../x/sys/unix/zsysnum_linux_ppc64le.go | 2 +-
.../x/sys/unix/zsysnum_linux_riscv64.go | 2 +-
.../x/sys/unix/zsysnum_linux_s390x.go | 2 +-
.../x/sys/unix/zsysnum_linux_sparc64.go | 2 +-
.../x/sys/unix/zsysnum_netbsd_386.go | 1 -
.../x/sys/unix/zsysnum_netbsd_amd64.go | 1 -
.../x/sys/unix/zsysnum_netbsd_arm.go | 1 -
.../x/sys/unix/zsysnum_netbsd_arm64.go | 1 -
.../x/sys/unix/zsysnum_openbsd_386.go | 1 -
.../x/sys/unix/zsysnum_openbsd_amd64.go | 1 -
.../x/sys/unix/zsysnum_openbsd_arm.go | 1 -
.../x/sys/unix/zsysnum_openbsd_arm64.go | 1 -
.../x/sys/unix/zsysnum_openbsd_mips64.go | 1 -
.../x/sys/unix/zsysnum_openbsd_ppc64.go | 1 -
.../x/sys/unix/zsysnum_openbsd_riscv64.go | 1 -
.../x/sys/unix/zsysnum_zos_s390x.go | 1 -
.../golang.org/x/sys/unix/ztypes_aix_ppc.go | 1 -
.../golang.org/x/sys/unix/ztypes_aix_ppc64.go | 1 -
.../x/sys/unix/ztypes_darwin_amd64.go | 1 -
.../x/sys/unix/ztypes_darwin_arm64.go | 1 -
.../x/sys/unix/ztypes_dragonfly_amd64.go | 1 -
.../x/sys/unix/ztypes_freebsd_386.go | 1 -
.../x/sys/unix/ztypes_freebsd_amd64.go | 1 -
.../x/sys/unix/ztypes_freebsd_arm.go | 1 -
.../x/sys/unix/ztypes_freebsd_arm64.go | 1 -
.../x/sys/unix/ztypes_freebsd_riscv64.go | 1 -
vendor/golang.org/x/sys/unix/ztypes_linux.go | 45 +-
.../golang.org/x/sys/unix/ztypes_linux_386.go | 1 -
.../x/sys/unix/ztypes_linux_amd64.go | 1 -
.../golang.org/x/sys/unix/ztypes_linux_arm.go | 1 -
.../x/sys/unix/ztypes_linux_arm64.go | 1 -
.../x/sys/unix/ztypes_linux_loong64.go | 1 -
.../x/sys/unix/ztypes_linux_mips.go | 1 -
.../x/sys/unix/ztypes_linux_mips64.go | 1 -
.../x/sys/unix/ztypes_linux_mips64le.go | 1 -
.../x/sys/unix/ztypes_linux_mipsle.go | 1 -
.../golang.org/x/sys/unix/ztypes_linux_ppc.go | 1 -
.../x/sys/unix/ztypes_linux_ppc64.go | 1 -
.../x/sys/unix/ztypes_linux_ppc64le.go | 1 -
.../x/sys/unix/ztypes_linux_riscv64.go | 1 -
.../x/sys/unix/ztypes_linux_s390x.go | 1 -
.../x/sys/unix/ztypes_linux_sparc64.go | 1 -
.../x/sys/unix/ztypes_netbsd_386.go | 1 -
.../x/sys/unix/ztypes_netbsd_amd64.go | 1 -
.../x/sys/unix/ztypes_netbsd_arm.go | 1 -
.../x/sys/unix/ztypes_netbsd_arm64.go | 1 -
.../x/sys/unix/ztypes_openbsd_386.go | 1 -
.../x/sys/unix/ztypes_openbsd_amd64.go | 1 -
.../x/sys/unix/ztypes_openbsd_arm.go | 1 -
.../x/sys/unix/ztypes_openbsd_arm64.go | 1 -
.../x/sys/unix/ztypes_openbsd_mips64.go | 1 -
.../x/sys/unix/ztypes_openbsd_ppc64.go | 1 -
.../x/sys/unix/ztypes_openbsd_riscv64.go | 1 -
.../x/sys/unix/ztypes_solaris_amd64.go | 1 -
.../golang.org/x/sys/unix/ztypes_zos_s390x.go | 1 -
vendor/golang.org/x/sys/windows/aliases.go | 1 -
vendor/golang.org/x/sys/windows/empty.s | 1 -
vendor/golang.org/x/sys/windows/eventlog.go | 1 -
vendor/golang.org/x/sys/windows/mksyscall.go | 1 -
vendor/golang.org/x/sys/windows/race.go | 1 -
vendor/golang.org/x/sys/windows/race0.go | 1 -
vendor/golang.org/x/sys/windows/service.go | 1 -
vendor/golang.org/x/sys/windows/str.go | 1 -
vendor/golang.org/x/sys/windows/syscall.go | 1 -
.../x/sys/windows/syscall_windows.go | 7 +-
.../golang.org/x/sys/windows/types_windows.go | 28 +-
.../x/sys/windows/zsyscall_windows.go | 37 +
.../x/text/secure/bidirule/bidirule10.0.0.go | 1 -
.../x/text/secure/bidirule/bidirule9.0.0.go | 1 -
.../x/text/unicode/bidi/tables10.0.0.go | 1 -
.../x/text/unicode/bidi/tables11.0.0.go | 1 -
.../x/text/unicode/bidi/tables12.0.0.go | 1 -
.../x/text/unicode/bidi/tables13.0.0.go | 1 -
.../x/text/unicode/bidi/tables15.0.0.go | 1 -
.../x/text/unicode/bidi/tables9.0.0.go | 1 -
.../x/text/unicode/norm/tables10.0.0.go | 1 -
.../x/text/unicode/norm/tables11.0.0.go | 1 -
.../x/text/unicode/norm/tables12.0.0.go | 1 -
.../x/text/unicode/norm/tables13.0.0.go | 1 -
.../x/text/unicode/norm/tables15.0.0.go | 1 -
.../x/text/unicode/norm/tables9.0.0.go | 1 -
.../protobuf/encoding/protowire/wire.go | 28 +-
.../protobuf/internal/genid/descriptor_gen.go | 212 +-
...ings_unsafe.go => strings_unsafe_go120.go} | 4 +-
.../internal/strs/strings_unsafe_go121.go | 74 +
.../protobuf/proto/decode.go | 2 +-
.../google.golang.org/protobuf/proto/doc.go | 58 +-
.../protobuf/proto/encode.go | 2 +-
.../protobuf/proto/extension.go | 2 +-
.../google.golang.org/protobuf/proto/merge.go | 2 +-
.../google.golang.org/protobuf/proto/proto.go | 18 +-
.../protobuf/reflect/protoreflect/proto.go | 83 +-
.../reflect/protoreflect/source_gen.go | 62 +-
.../protobuf/reflect/protoreflect/type.go | 44 +-
.../protobuf/reflect/protoreflect/value.go | 24 +-
.../reflect/protoreflect/value_equal.go | 8 +-
.../reflect/protoreflect/value_union.go | 44 +-
...{value_unsafe.go => value_unsafe_go120.go} | 4 +-
.../protoreflect/value_unsafe_go121.go | 87 +
.../reflect/protoregistry/registry.go | 24 +-
vendor/modules.txt | 116 +-
833 files changed, 22874 insertions(+), 40388 deletions(-)
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/.gitignore
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/.golangci.toml
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/.travis.yml
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/CHANGELOG.md
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/CODE_OF_CONDUCT.md
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/CONTRIBUTING.md
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/DESIGN.md
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/Makefile
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/README.md
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/private/metrics/metrics.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/buildspec.yml
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/ci-find-smithy-go.sh
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/auth.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/endpoints.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/doc.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/auth.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/endpoints.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/auth/auth.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/bearer_token_adapter.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/bearer_token_signer_adapter.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/credentials_adapter.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/smithy.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/v4signer_adapter.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/context/context.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/endpoints.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ast.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/comma_token.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/comment_token.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/dependency.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/doc.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/empty_token.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/expression.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini_lexer.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini_parser.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/literal_tokens.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/newline_token.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/op_tokens.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/parse.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/parse_error.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/parse_stack.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/sections.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/sep_tokens.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/skipper.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/statement.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/strings.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/token.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/tokenize.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/value.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/value_util.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/visitor.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/walker.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ws_token.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/smithy.go
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/local-mod-replace.sh
delete mode 100644 vendor/github.com/aws/aws-sdk-go-v2/modman.toml
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateSession.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListDirectoryBuckets.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/auth.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/bucket_context.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/create_mpu_checksum.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/endpoint_auth_resolver.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/express.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/express_default.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/express_resolve.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/context.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_config.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_default_checksum.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_properties.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_signer.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_signer_smithy.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/s3/options.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/sso/auth.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/sso/options.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_CreateTokenWithIAM.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/auth.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/options.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/sts/auth.go
create mode 100644 vendor/github.com/aws/aws-sdk-go-v2/service/sts/options.go
create mode 100644 vendor/github.com/aws/smithy-go/auth/auth.go
create mode 100644 vendor/github.com/aws/smithy-go/auth/identity.go
create mode 100644 vendor/github.com/aws/smithy-go/auth/option.go
create mode 100644 vendor/github.com/aws/smithy-go/auth/scheme_id.go
create mode 100644 vendor/github.com/aws/smithy-go/container/private/cache/cache.go
create mode 100644 vendor/github.com/aws/smithy-go/container/private/cache/lru/lru.go
create mode 100644 vendor/github.com/aws/smithy-go/private/requestcompression/gzip.go
create mode 100644 vendor/github.com/aws/smithy-go/private/requestcompression/middleware_capture_request_compression.go
create mode 100644 vendor/github.com/aws/smithy-go/private/requestcompression/request_compression.go
create mode 100644 vendor/github.com/aws/smithy-go/transport/http/auth.go
create mode 100644 vendor/github.com/aws/smithy-go/transport/http/auth_schemes.go
create mode 100644 vendor/github.com/aws/smithy-go/transport/http/properties.go
delete mode 100644 vendor/github.com/golang/mock/CONTRIBUTORS
create mode 100644 vendor/github.com/google/uuid/version6.go
create mode 100644 vendor/github.com/google/uuid/version7.go
delete mode 100644 vendor/github.com/spf13/cobra/active_help.md
delete mode 100644 vendor/github.com/spf13/cobra/bash_completions.md
delete mode 100644 vendor/github.com/spf13/cobra/fish_completions.md
delete mode 100644 vendor/github.com/spf13/cobra/powershell_completions.md
delete mode 100644 vendor/github.com/spf13/cobra/projects_using_cobra.md
delete mode 100644 vendor/github.com/spf13/cobra/shell_completions.md
delete mode 100644 vendor/github.com/spf13/cobra/user_guide.md
delete mode 100644 vendor/github.com/spf13/cobra/zsh_completions.md
rename vendor/github.com/spf13/viper/{viper_go1_15.go => file.go} (97%)
rename vendor/github.com/spf13/viper/{viper_go1_16.go => file_finder.go} (100%)
create mode 100644 vendor/github.com/spf13/viper/internal/features/bind_struct.go
create mode 100644 vendor/github.com/spf13/viper/internal/features/bind_struct_default.go
delete mode 100644 vendor/github.com/spf13/viper/watch.go
delete mode 100644 vendor/github.com/spf13/viper/watch_unsupported.go
rename vendor/{github.com/golang => go.uber.org}/mock/AUTHORS (100%)
rename vendor/{github.com/golang => go.uber.org}/mock/LICENSE (100%)
rename vendor/{github.com/golang => go.uber.org}/mock/gomock/call.go (78%)
rename vendor/{github.com/golang => go.uber.org}/mock/gomock/callset.go (70%)
rename vendor/{github.com/golang => go.uber.org}/mock/gomock/controller.go (67%)
create mode 100644 vendor/go.uber.org/mock/gomock/doc.go
rename vendor/{github.com/golang => go.uber.org}/mock/gomock/matchers.go (63%)
delete mode 100644 vendor/golang.org/x/net/http2/go111.go
delete mode 100644 vendor/golang.org/x/net/http2/go115.go
delete mode 100644 vendor/golang.org/x/net/http2/go118.go
delete mode 100644 vendor/golang.org/x/net/http2/not_go111.go
delete mode 100644 vendor/golang.org/x/net/http2/not_go115.go
delete mode 100644 vendor/golang.org/x/net/http2/not_go118.go
rename vendor/google.golang.org/protobuf/internal/strs/{strings_unsafe.go => strings_unsafe_go120.go} (96%)
create mode 100644 vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go121.go
rename vendor/google.golang.org/protobuf/reflect/protoreflect/{value_unsafe.go => value_unsafe_go120.go} (97%)
create mode 100644 vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go121.go
diff --git a/cmd/serve.go b/cmd/serve.go
index fdb76abd..6ac183cd 100644
--- a/cmd/serve.go
+++ b/cmd/serve.go
@@ -46,7 +46,7 @@ const (
corsAllowOriginsFlag = "cors-allow-origins"
corsAllowCredentialsFlag = "cors-allow-credentials" //nolint: gosec
clamavServerFlag = "clamav-server"
- hasuraDbNameFlag = "hasura-db-name"
+ hasuraDBNameFlag = "hasura-db-name"
)
func ginLogger(logger *logrus.Logger) gin.HandlerFunc {
@@ -165,7 +165,7 @@ func getContentStorage(
o.EndpointOptions.DisableHTTPS = disableHTTPS
},
)
- st := storage.NewS3(client, bucket, rootFolder, s3Endpoint, disableHTTPS, logger)
+ st := storage.NewS3(client, bucket, rootFolder, s3Endpoint, logger)
return st
}
@@ -176,7 +176,7 @@ func applymigrations(
hasuraMetadata bool,
hasuraEndpoint string,
hasuraSecret string,
- hasuraDbName string,
+ hasuraDBName string,
logger *logrus.Logger,
) {
if postgresMigrations {
@@ -193,7 +193,7 @@ func applymigrations(
if hasuraMetadata {
logger.Info("applying hasura metadata")
- if err := migrations.ApplyHasuraMetadata(hasuraEndpoint, hasuraSecret, hasuraDbName); err != nil {
+ if err := migrations.ApplyHasuraMetadata(hasuraEndpoint, hasuraSecret, hasuraDBName); err != nil {
logger.Errorf("problem applying hasura metadata: %s", err.Error())
os.Exit(1)
}
@@ -241,7 +241,7 @@ func init() {
"",
"postgres connection, i.e. postgres://user@pass:localhost:5432/mydb",
)
- addStringFlag(serveCmd.Flags(), hasuraDbNameFlag, "default", "Hasura database name")
+ addStringFlag(serveCmd.Flags(), hasuraDBNameFlag, "default", "Hasura database name")
}
{
@@ -295,7 +295,7 @@ var serveCmd = &cobra.Command{
s3BucketFlag: viper.GetString(s3BucketFlag),
s3RootFolderFlag: viper.GetString(s3RootFolderFlag),
clamavServerFlag: viper.GetString(clamavServerFlag),
- hasuraDbNameFlag: viper.GetString(hasuraDbNameFlag),
+ hasuraDBNameFlag: viper.GetString(hasuraDBNameFlag),
},
).Debug("parameters")
@@ -317,7 +317,7 @@ var serveCmd = &cobra.Command{
viper.GetBool(hasuraMetadataFlag),
viper.GetString(hasuraEndpointFlag),
viper.GetString(hasuraAdminSecretFlag),
- viper.GetString(hasuraDbNameFlag),
+ viper.GetString(hasuraDBNameFlag),
logger,
)
diff --git a/controller/delete_broken_metadata_test.go b/controller/delete_broken_metadata_test.go
index b35b4ab4..4b9d1e01 100644
--- a/controller/delete_broken_metadata_test.go
+++ b/controller/delete_broken_metadata_test.go
@@ -7,10 +7,10 @@ import (
"net/http/httptest"
"testing"
- "github.com/golang/mock/gomock"
"github.com/nhost/hasura-storage/controller"
"github.com/nhost/hasura-storage/controller/mock"
"github.com/sirupsen/logrus"
+ gomock "go.uber.org/mock/gomock"
)
func TestDeleteBrokenMetadata(t *testing.T) {
diff --git a/controller/delete_file_test.go b/controller/delete_file_test.go
index 547a973e..e7295795 100644
--- a/controller/delete_file_test.go
+++ b/controller/delete_file_test.go
@@ -6,10 +6,10 @@ import (
"net/http/httptest"
"testing"
- "github.com/golang/mock/gomock"
"github.com/nhost/hasura-storage/controller"
"github.com/nhost/hasura-storage/controller/mock"
"github.com/sirupsen/logrus"
+ gomock "go.uber.org/mock/gomock"
)
func TestDeleteFile(t *testing.T) {
diff --git a/controller/delete_orphans_test.go b/controller/delete_orphans_test.go
index 57a20372..34873928 100644
--- a/controller/delete_orphans_test.go
+++ b/controller/delete_orphans_test.go
@@ -7,10 +7,10 @@ import (
"net/http/httptest"
"testing"
- "github.com/golang/mock/gomock"
"github.com/nhost/hasura-storage/controller"
"github.com/nhost/hasura-storage/controller/mock"
"github.com/sirupsen/logrus"
+ gomock "go.uber.org/mock/gomock"
)
func TestDeleteOrphans(t *testing.T) {
diff --git a/controller/get_file_information_test.go b/controller/get_file_information_test.go
index 788d621c..e5212f1c 100644
--- a/controller/get_file_information_test.go
+++ b/controller/get_file_information_test.go
@@ -6,11 +6,11 @@ import (
"net/http/httptest"
"testing"
- "github.com/golang/mock/gomock"
"github.com/nhost/hasura-storage/controller"
"github.com/nhost/hasura-storage/controller/mock"
"github.com/nhost/hasura-storage/image"
"github.com/sirupsen/logrus"
+ gomock "go.uber.org/mock/gomock"
)
func getFileTestCases() []struct {
diff --git a/controller/get_file_presigned_url_test.go b/controller/get_file_presigned_url_test.go
index d54fc11f..4da8761a 100644
--- a/controller/get_file_presigned_url_test.go
+++ b/controller/get_file_presigned_url_test.go
@@ -8,10 +8,10 @@ import (
"testing"
"time"
- "github.com/golang/mock/gomock"
"github.com/nhost/hasura-storage/controller"
"github.com/nhost/hasura-storage/controller/mock"
"github.com/sirupsen/logrus"
+ gomock "go.uber.org/mock/gomock"
)
func TestGetFilePresignedURL(t *testing.T) {
diff --git a/controller/get_file_test.go b/controller/get_file_test.go
index f5762d84..6bdb7032 100644
--- a/controller/get_file_test.go
+++ b/controller/get_file_test.go
@@ -8,10 +8,10 @@ import (
"strings"
"testing"
- "github.com/golang/mock/gomock"
"github.com/nhost/hasura-storage/controller"
"github.com/nhost/hasura-storage/controller/mock"
"github.com/sirupsen/logrus"
+ gomock "go.uber.org/mock/gomock"
)
func TestGetFile(t *testing.T) {
diff --git a/controller/list_broken_metadata_test.go b/controller/list_broken_metadata_test.go
index 5eb3fc6b..1e74f39f 100644
--- a/controller/list_broken_metadata_test.go
+++ b/controller/list_broken_metadata_test.go
@@ -7,10 +7,10 @@ import (
"net/http/httptest"
"testing"
- "github.com/golang/mock/gomock"
"github.com/nhost/hasura-storage/controller"
"github.com/nhost/hasura-storage/controller/mock"
"github.com/sirupsen/logrus"
+ gomock "go.uber.org/mock/gomock"
)
func TestListBrokenMetadata(t *testing.T) {
diff --git a/controller/list_not_uploaded_test.go b/controller/list_not_uploaded_test.go
index dfcebc03..3c966302 100644
--- a/controller/list_not_uploaded_test.go
+++ b/controller/list_not_uploaded_test.go
@@ -7,10 +7,10 @@ import (
"net/http/httptest"
"testing"
- "github.com/golang/mock/gomock"
"github.com/nhost/hasura-storage/controller"
"github.com/nhost/hasura-storage/controller/mock"
"github.com/sirupsen/logrus"
+ gomock "go.uber.org/mock/gomock"
)
func TestListNotUploaded(t *testing.T) {
diff --git a/controller/list_orphans_test.go b/controller/list_orphans_test.go
index 855187bf..447a4d49 100644
--- a/controller/list_orphans_test.go
+++ b/controller/list_orphans_test.go
@@ -7,10 +7,10 @@ import (
"net/http/httptest"
"testing"
- "github.com/golang/mock/gomock"
"github.com/nhost/hasura-storage/controller"
"github.com/nhost/hasura-storage/controller/mock"
"github.com/sirupsen/logrus"
+ gomock "go.uber.org/mock/gomock"
)
func TestListOrphans(t *testing.T) {
diff --git a/controller/main_test.go b/controller/main_test.go
index b7d2646f..479715b6 100644
--- a/controller/main_test.go
+++ b/controller/main_test.go
@@ -7,11 +7,11 @@ import (
"time"
"github.com/gin-gonic/gin"
- "github.com/golang/mock/gomock"
"github.com/google/go-cmp/cmp"
"github.com/google/go-cmp/cmp/cmpopts"
"github.com/nhost/hasura-storage/controller"
"github.com/sirupsen/logrus"
+ gomock "go.uber.org/mock/gomock"
)
type readerMatcher struct {
diff --git a/controller/mock/antivirus.go b/controller/mock/antivirus.go
index a8f92bcb..de23830a 100644
--- a/controller/mock/antivirus.go
+++ b/controller/mock/antivirus.go
@@ -1,6 +1,10 @@
// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/nhost/hasura-storage/controller (interfaces: Antivirus)
-
+//
+// Generated by this command:
+//
+// mockgen --build_flags=--mod=mod -destination mock/antivirus.go -package mock . Antivirus
+//
// Package mock is a generated GoMock package.
package mock
@@ -8,8 +12,8 @@ import (
io "io"
reflect "reflect"
- gomock "github.com/golang/mock/gomock"
controller "github.com/nhost/hasura-storage/controller"
+ gomock "go.uber.org/mock/gomock"
)
// MockAntivirus is a mock of Antivirus interface.
@@ -44,7 +48,7 @@ func (m *MockAntivirus) ScanReader(arg0 io.ReaderAt) *controller.APIError {
}
// ScanReader indicates an expected call of ScanReader.
-func (mr *MockAntivirusMockRecorder) ScanReader(arg0 interface{}) *gomock.Call {
+func (mr *MockAntivirusMockRecorder) ScanReader(arg0 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ScanReader", reflect.TypeOf((*MockAntivirus)(nil).ScanReader), arg0)
}
diff --git a/controller/mock/content_storage.go b/controller/mock/content_storage.go
index 75b93af8..8b79b7d7 100644
--- a/controller/mock/content_storage.go
+++ b/controller/mock/content_storage.go
@@ -1,6 +1,10 @@
// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/nhost/hasura-storage/controller (interfaces: ContentStorage)
-
+//
+// Generated by this command:
+//
+// mockgen --build_flags=--mod=mod -destination mock/content_storage.go -package mock . ContentStorage
+//
// Package mock is a generated GoMock package.
package mock
@@ -11,8 +15,8 @@ import (
reflect "reflect"
time "time"
- gomock "github.com/golang/mock/gomock"
controller "github.com/nhost/hasura-storage/controller"
+ gomock "go.uber.org/mock/gomock"
)
// MockContentStorage is a mock of ContentStorage interface.
@@ -48,7 +52,7 @@ func (m *MockContentStorage) CreatePresignedURL(arg0 context.Context, arg1 strin
}
// CreatePresignedURL indicates an expected call of CreatePresignedURL.
-func (mr *MockContentStorageMockRecorder) CreatePresignedURL(arg0, arg1, arg2 interface{}) *gomock.Call {
+func (mr *MockContentStorageMockRecorder) CreatePresignedURL(arg0, arg1, arg2 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreatePresignedURL", reflect.TypeOf((*MockContentStorage)(nil).CreatePresignedURL), arg0, arg1, arg2)
}
@@ -62,7 +66,7 @@ func (m *MockContentStorage) DeleteFile(arg0 context.Context, arg1 string) *cont
}
// DeleteFile indicates an expected call of DeleteFile.
-func (mr *MockContentStorageMockRecorder) DeleteFile(arg0, arg1 interface{}) *gomock.Call {
+func (mr *MockContentStorageMockRecorder) DeleteFile(arg0, arg1 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteFile", reflect.TypeOf((*MockContentStorage)(nil).DeleteFile), arg0, arg1)
}
@@ -77,7 +81,7 @@ func (m *MockContentStorage) GetFile(arg0 context.Context, arg1 string, arg2 htt
}
// GetFile indicates an expected call of GetFile.
-func (mr *MockContentStorageMockRecorder) GetFile(arg0, arg1, arg2 interface{}) *gomock.Call {
+func (mr *MockContentStorageMockRecorder) GetFile(arg0, arg1, arg2 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFile", reflect.TypeOf((*MockContentStorage)(nil).GetFile), arg0, arg1, arg2)
}
@@ -92,7 +96,7 @@ func (m *MockContentStorage) GetFileWithPresignedURL(arg0 context.Context, arg1,
}
// GetFileWithPresignedURL indicates an expected call of GetFileWithPresignedURL.
-func (mr *MockContentStorageMockRecorder) GetFileWithPresignedURL(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
+func (mr *MockContentStorageMockRecorder) GetFileWithPresignedURL(arg0, arg1, arg2, arg3 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFileWithPresignedURL", reflect.TypeOf((*MockContentStorage)(nil).GetFileWithPresignedURL), arg0, arg1, arg2, arg3)
}
@@ -107,7 +111,7 @@ func (m *MockContentStorage) ListFiles(arg0 context.Context) ([]string, *control
}
// ListFiles indicates an expected call of ListFiles.
-func (mr *MockContentStorageMockRecorder) ListFiles(arg0 interface{}) *gomock.Call {
+func (mr *MockContentStorageMockRecorder) ListFiles(arg0 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListFiles", reflect.TypeOf((*MockContentStorage)(nil).ListFiles), arg0)
}
@@ -122,7 +126,7 @@ func (m *MockContentStorage) PutFile(arg0 context.Context, arg1 io.ReadSeeker, a
}
// PutFile indicates an expected call of PutFile.
-func (mr *MockContentStorageMockRecorder) PutFile(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
+func (mr *MockContentStorageMockRecorder) PutFile(arg0, arg1, arg2, arg3 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PutFile", reflect.TypeOf((*MockContentStorage)(nil).PutFile), arg0, arg1, arg2, arg3)
}
diff --git a/controller/mock/metadata_storage.go b/controller/mock/metadata_storage.go
index fd566aef..3887ff85 100644
--- a/controller/mock/metadata_storage.go
+++ b/controller/mock/metadata_storage.go
@@ -1,6 +1,10 @@
// Code generated by MockGen. DO NOT EDIT.
// Source: github.com/nhost/hasura-storage/controller (interfaces: MetadataStorage)
-
+//
+// Generated by this command:
+//
+// mockgen --build_flags=--mod=mod -destination mock/metadata_storage.go -package mock . MetadataStorage
+//
// Package mock is a generated GoMock package.
package mock
@@ -9,8 +13,8 @@ import (
http "net/http"
reflect "reflect"
- gomock "github.com/golang/mock/gomock"
controller "github.com/nhost/hasura-storage/controller"
+ gomock "go.uber.org/mock/gomock"
)
// MockMetadataStorage is a mock of MetadataStorage interface.
@@ -45,7 +49,7 @@ func (m *MockMetadataStorage) DeleteFileByID(arg0 context.Context, arg1 string,
}
// DeleteFileByID indicates an expected call of DeleteFileByID.
-func (mr *MockMetadataStorageMockRecorder) DeleteFileByID(arg0, arg1, arg2 interface{}) *gomock.Call {
+func (mr *MockMetadataStorageMockRecorder) DeleteFileByID(arg0, arg1, arg2 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteFileByID", reflect.TypeOf((*MockMetadataStorage)(nil).DeleteFileByID), arg0, arg1, arg2)
}
@@ -60,7 +64,7 @@ func (m *MockMetadataStorage) GetBucketByID(arg0 context.Context, arg1 string, a
}
// GetBucketByID indicates an expected call of GetBucketByID.
-func (mr *MockMetadataStorageMockRecorder) GetBucketByID(arg0, arg1, arg2 interface{}) *gomock.Call {
+func (mr *MockMetadataStorageMockRecorder) GetBucketByID(arg0, arg1, arg2 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetBucketByID", reflect.TypeOf((*MockMetadataStorage)(nil).GetBucketByID), arg0, arg1, arg2)
}
@@ -75,7 +79,7 @@ func (m *MockMetadataStorage) GetFileByID(arg0 context.Context, arg1 string, arg
}
// GetFileByID indicates an expected call of GetFileByID.
-func (mr *MockMetadataStorageMockRecorder) GetFileByID(arg0, arg1, arg2 interface{}) *gomock.Call {
+func (mr *MockMetadataStorageMockRecorder) GetFileByID(arg0, arg1, arg2 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetFileByID", reflect.TypeOf((*MockMetadataStorage)(nil).GetFileByID), arg0, arg1, arg2)
}
@@ -89,13 +93,13 @@ func (m *MockMetadataStorage) InitializeFile(arg0 context.Context, arg1, arg2 st
}
// InitializeFile indicates an expected call of InitializeFile.
-func (mr *MockMetadataStorageMockRecorder) InitializeFile(arg0, arg1, arg2, arg3, arg4, arg5, arg6 interface{}) *gomock.Call {
+func (mr *MockMetadataStorageMockRecorder) InitializeFile(arg0, arg1, arg2, arg3, arg4, arg5, arg6 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InitializeFile", reflect.TypeOf((*MockMetadataStorage)(nil).InitializeFile), arg0, arg1, arg2, arg3, arg4, arg5, arg6)
}
// InsertVirus mocks base method.
-func (m *MockMetadataStorage) InsertVirus(arg0 context.Context, arg1, arg2, arg3 string, arg4 map[string]interface{}, arg5 http.Header) *controller.APIError {
+func (m *MockMetadataStorage) InsertVirus(arg0 context.Context, arg1, arg2, arg3 string, arg4 map[string]any, arg5 http.Header) *controller.APIError {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "InsertVirus", arg0, arg1, arg2, arg3, arg4, arg5)
ret0, _ := ret[0].(*controller.APIError)
@@ -103,7 +107,7 @@ func (m *MockMetadataStorage) InsertVirus(arg0 context.Context, arg1, arg2, arg3
}
// InsertVirus indicates an expected call of InsertVirus.
-func (mr *MockMetadataStorageMockRecorder) InsertVirus(arg0, arg1, arg2, arg3, arg4, arg5 interface{}) *gomock.Call {
+func (mr *MockMetadataStorageMockRecorder) InsertVirus(arg0, arg1, arg2, arg3, arg4, arg5 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "InsertVirus", reflect.TypeOf((*MockMetadataStorage)(nil).InsertVirus), arg0, arg1, arg2, arg3, arg4, arg5)
}
@@ -118,13 +122,13 @@ func (m *MockMetadataStorage) ListFiles(arg0 context.Context, arg1 http.Header)
}
// ListFiles indicates an expected call of ListFiles.
-func (mr *MockMetadataStorageMockRecorder) ListFiles(arg0, arg1 interface{}) *gomock.Call {
+func (mr *MockMetadataStorageMockRecorder) ListFiles(arg0, arg1 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListFiles", reflect.TypeOf((*MockMetadataStorage)(nil).ListFiles), arg0, arg1)
}
// PopulateMetadata mocks base method.
-func (m *MockMetadataStorage) PopulateMetadata(arg0 context.Context, arg1, arg2 string, arg3 int64, arg4, arg5 string, arg6 bool, arg7 string, arg8 map[string]interface{}, arg9 http.Header) (controller.FileMetadata, *controller.APIError) {
+func (m *MockMetadataStorage) PopulateMetadata(arg0 context.Context, arg1, arg2 string, arg3 int64, arg4, arg5 string, arg6 bool, arg7 string, arg8 map[string]any, arg9 http.Header) (controller.FileMetadata, *controller.APIError) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "PopulateMetadata", arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
ret0, _ := ret[0].(controller.FileMetadata)
@@ -133,7 +137,7 @@ func (m *MockMetadataStorage) PopulateMetadata(arg0 context.Context, arg1, arg2
}
// PopulateMetadata indicates an expected call of PopulateMetadata.
-func (mr *MockMetadataStorageMockRecorder) PopulateMetadata(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 interface{}) *gomock.Call {
+func (mr *MockMetadataStorageMockRecorder) PopulateMetadata(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PopulateMetadata", reflect.TypeOf((*MockMetadataStorage)(nil).PopulateMetadata), arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
}
@@ -147,7 +151,7 @@ func (m *MockMetadataStorage) SetIsUploaded(arg0 context.Context, arg1 string, a
}
// SetIsUploaded indicates an expected call of SetIsUploaded.
-func (mr *MockMetadataStorageMockRecorder) SetIsUploaded(arg0, arg1, arg2, arg3 interface{}) *gomock.Call {
+func (mr *MockMetadataStorageMockRecorder) SetIsUploaded(arg0, arg1, arg2, arg3 any) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetIsUploaded", reflect.TypeOf((*MockMetadataStorage)(nil).SetIsUploaded), arg0, arg1, arg2, arg3)
}
diff --git a/controller/update_file_test.go b/controller/update_file_test.go
index 20e32201..fb07e0c0 100644
--- a/controller/update_file_test.go
+++ b/controller/update_file_test.go
@@ -11,12 +11,12 @@ import (
"strings"
"testing"
- "github.com/golang/mock/gomock"
"github.com/google/go-cmp/cmp/cmpopts"
"github.com/google/uuid"
"github.com/nhost/hasura-storage/controller"
"github.com/nhost/hasura-storage/controller/mock"
"github.com/sirupsen/logrus"
+ gomock "go.uber.org/mock/gomock"
)
func createUpdateMultiForm(t *testing.T, file fakeFile) (io.Reader, string) {
diff --git a/controller/upload_file_test.go b/controller/upload_file_test.go
index e1697063..5bf5cbe6 100644
--- a/controller/upload_file_test.go
+++ b/controller/upload_file_test.go
@@ -13,12 +13,12 @@ import (
"strings"
"testing"
- "github.com/golang/mock/gomock"
"github.com/google/go-cmp/cmp/cmpopts"
"github.com/google/uuid"
"github.com/nhost/hasura-storage/controller"
"github.com/nhost/hasura-storage/controller/mock"
"github.com/sirupsen/logrus"
+ gomock "go.uber.org/mock/gomock"
)
type fakeFileMetadata struct {
diff --git a/flake.lock b/flake.lock
index 33d7400a..a8140c04 100644
--- a/flake.lock
+++ b/flake.lock
@@ -5,11 +5,11 @@
"systems": "systems"
},
"locked": {
- "lastModified": 1694529238,
- "narHash": "sha256-zsNZZGTGnMOf9YpHKJqMSsa0dXbfmxeoJ7xHlrt+xmY=",
+ "lastModified": 1701680307,
+ "narHash": "sha256-kAuep2h5ajznlPMD9rnQyffWG8EM/C73lejGofXvdM8=",
"owner": "numtide",
"repo": "flake-utils",
- "rev": "ff7b65b44d01cf9ba6a71320833626af21126384",
+ "rev": "4022d587cbbfd70fe950c1e2083a02621806a725",
"type": "github"
},
"original": {
@@ -20,11 +20,11 @@
},
"nix-filter": {
"locked": {
- "lastModified": 1694857738,
- "narHash": "sha256-bxxNyLHjhu0N8T3REINXQ2ZkJco0ABFPn6PIe2QUfqo=",
+ "lastModified": 1701697642,
+ "narHash": "sha256-L217WytWZHSY8GW9Gx1A64OnNctbuDbfslaTEofXXRw=",
"owner": "numtide",
"repo": "nix-filter",
- "rev": "41fd48e00c22b4ced525af521ead8792402de0ea",
+ "rev": "c843418ecfd0344ecb85844b082ff5675e02c443",
"type": "github"
},
"original": {
@@ -35,11 +35,11 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1697915759,
- "narHash": "sha256-WyMj5jGcecD+KC8gEs+wFth1J1wjisZf8kVZH13f1Zo=",
+ "lastModified": 1704842529,
+ "narHash": "sha256-OTeQA+F8d/Evad33JMfuXC89VMetQbsU4qcaePchGr4=",
"owner": "NixOS",
"repo": "nixpkgs",
- "rev": "51d906d2341c9e866e48c2efcaac0f2d70bfd43e",
+ "rev": "eabe8d3eface69f5bb16c18f8662a702f50c20d5",
"type": "github"
},
"original": {
diff --git a/go.mod b/go.mod
index 5461bf37..8d050c4f 100644
--- a/go.mod
+++ b/go.mod
@@ -3,57 +3,57 @@ module github.com/nhost/hasura-storage
go 1.21
require (
- github.com/Yamashou/gqlgenc v0.15.1
- github.com/aws/aws-sdk-go-v2 v1.22.1
- github.com/aws/aws-sdk-go-v2/config v1.22.2
- github.com/aws/aws-sdk-go-v2/credentials v1.15.1
- github.com/aws/aws-sdk-go-v2/service/s3 v1.42.0
+ github.com/Yamashou/gqlgenc v0.16.2
+ github.com/aws/aws-sdk-go-v2 v1.24.1
+ github.com/aws/aws-sdk-go-v2/config v1.26.3
+ github.com/aws/aws-sdk-go-v2/credentials v1.16.14
+ github.com/aws/aws-sdk-go-v2/service/s3 v1.48.0
github.com/gabriel-vasile/mimetype v1.4.3
- github.com/gin-contrib/cors v1.4.0
+ github.com/gin-contrib/cors v1.5.0
github.com/gin-gonic/gin v1.9.1
- github.com/golang-jwt/jwt/v5 v5.0.0
- github.com/golang-migrate/migrate/v4 v4.16.2
- github.com/golang/mock v1.6.0
+ github.com/golang-jwt/jwt/v5 v5.2.0
+ github.com/golang-migrate/migrate/v4 v4.17.0
github.com/google/go-cmp v0.6.0
- github.com/google/uuid v1.3.1
+ github.com/google/uuid v1.5.0
github.com/sirupsen/logrus v1.9.3
- github.com/spf13/cobra v1.7.0
+ github.com/spf13/cobra v1.8.0
github.com/spf13/pflag v1.0.5
- github.com/spf13/viper v1.17.0
- golang.org/x/net v0.17.0
+ github.com/spf13/viper v1.18.2
+ go.uber.org/mock v0.4.0
+ golang.org/x/net v0.20.0
)
require (
- github.com/99designs/gqlgen v0.17.40 // indirect
- github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.0 // indirect
- github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.2 // indirect
- github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.1 // indirect
- github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.1 // indirect
- github.com/aws/aws-sdk-go-v2/internal/ini v1.5.1 // indirect
- github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.1 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.0 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.1 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.1 // indirect
- github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.1 // indirect
- github.com/aws/aws-sdk-go-v2/service/sso v1.17.0 // indirect
- github.com/aws/aws-sdk-go-v2/service/ssooidc v1.19.0 // indirect
- github.com/aws/aws-sdk-go-v2/service/sts v1.25.0 // indirect
- github.com/aws/smithy-go v1.16.0 // indirect
+ github.com/99designs/gqlgen v0.17.42 // indirect
+ github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.4 // indirect
+ github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2 // indirect
+ github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.10 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.10 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10 // indirect
+ github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.10 // indirect
+ github.com/aws/aws-sdk-go-v2/service/sso v1.18.6 // indirect
+ github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.6 // indirect
+ github.com/aws/aws-sdk-go-v2/service/sts v1.26.7 // indirect
+ github.com/aws/smithy-go v1.19.0 // indirect
github.com/bytedance/sonic v1.10.2 // indirect
github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d // indirect
- github.com/chenzhuoyu/iasm v0.9.0 // indirect
+ github.com/chenzhuoyu/iasm v0.9.1 // indirect
github.com/fsnotify/fsnotify v1.7.0 // indirect
github.com/gin-contrib/sse v0.1.0 // indirect
github.com/go-playground/locales v0.14.1 // indirect
github.com/go-playground/universal-translator v0.18.1 // indirect
- github.com/go-playground/validator/v10 v10.15.5 // indirect
+ github.com/go-playground/validator/v10 v10.16.0 // indirect
github.com/goccy/go-json v0.10.2 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/hcl v1.0.0 // indirect
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/json-iterator/go v1.1.12 // indirect
- github.com/klauspost/cpuid/v2 v2.2.5 // indirect
+ github.com/klauspost/cpuid/v2 v2.2.6 // indirect
github.com/leodido/go-urn v1.2.4 // indirect
github.com/lib/pq v1.10.9 // indirect
github.com/magiconair/properties v1.8.7 // indirect
@@ -62,25 +62,25 @@ require (
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect
github.com/modern-go/reflect2 v1.0.2 // indirect
github.com/opencontainers/image-spec v1.1.0-rc2 // indirect
- github.com/pelletier/go-toml/v2 v2.1.0 // indirect
- github.com/sagikazarmark/locafero v0.3.0 // indirect
+ github.com/pelletier/go-toml/v2 v2.1.1 // indirect
+ github.com/sagikazarmark/locafero v0.4.0 // indirect
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
github.com/sosodev/duration v1.2.0 // indirect
github.com/sourcegraph/conc v0.3.0 // indirect
- github.com/spf13/afero v1.10.0 // indirect
- github.com/spf13/cast v1.5.1 // indirect
+ github.com/spf13/afero v1.11.0 // indirect
+ github.com/spf13/cast v1.6.0 // indirect
github.com/subosito/gotenv v1.6.0 // indirect
github.com/twitchyliquid64/golang-asm v0.15.1 // indirect
- github.com/ugorji/go/codec v1.2.11 // indirect
+ github.com/ugorji/go/codec v1.2.12 // indirect
github.com/vektah/gqlparser/v2 v2.5.10 // indirect
go.uber.org/atomic v1.11.0 // indirect
go.uber.org/multierr v1.11.0 // indirect
- golang.org/x/arch v0.5.0 // indirect
- golang.org/x/crypto v0.14.0 // indirect
- golang.org/x/exp v0.0.0-20231006140011-7918f672742d // indirect
- golang.org/x/sys v0.13.0 // indirect
- golang.org/x/text v0.13.0 // indirect
- google.golang.org/protobuf v1.31.0 // indirect
+ golang.org/x/arch v0.7.0 // indirect
+ golang.org/x/crypto v0.18.0 // indirect
+ golang.org/x/exp v0.0.0-20240110193028-0dcbfd608b1e // indirect
+ golang.org/x/sys v0.16.0 // indirect
+ golang.org/x/text v0.14.0 // indirect
+ google.golang.org/protobuf v1.32.0 // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
diff --git a/go.sum b/go.sum
index 84825ab1..577e841b 100644
--- a/go.sum
+++ b/go.sum
@@ -1,269 +1,133 @@
-cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
-cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
-cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
-cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
-cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
-cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
-cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
-cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
-cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
-cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
-cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
-cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
-cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
-cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
-cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
-cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
-cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY=
-cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
-cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
-cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
-cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
-cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
-cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
-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/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.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
-cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
-cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
-cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
-cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
-cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
-cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
-cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
-dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
-github.com/99designs/gqlgen v0.17.40 h1:/l8JcEVQ93wqIfmH9VS1jsAkwm6eAF1NwQn3N+SDqBY=
-github.com/99designs/gqlgen v0.17.40/go.mod h1:b62q1USk82GYIVjC60h02YguAZLqYZtvWml8KkhJps4=
+github.com/99designs/gqlgen v0.17.42 h1:BVWDOb2VVHQC5k3m6oa0XhDnxltLLrU4so7x/u39Zu4=
+github.com/99designs/gqlgen v0.17.42/go.mod h1:GQ6SyMhwFbgHR0a8r2Wn8fYgEwPxxmndLFPhU63+cJE=
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0=
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E=
-github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
-github.com/Yamashou/gqlgenc v0.15.1 h1:pva+W/myYSo0f7greV0joKe1wFsRo8tZtI52CWojrhI=
-github.com/Yamashou/gqlgenc v0.15.1/go.mod h1:yKaNzczoGrIElG3mG8j2Bg3imv4WyIjLSTRBtvhfMtU=
+github.com/Yamashou/gqlgenc v0.16.2 h1:Vooa6TpYIlOaMzmaKFVP8046ubR+jhIbfNsdj+m5Ceo=
+github.com/Yamashou/gqlgenc v0.16.2/go.mod h1:yKaNzczoGrIElG3mG8j2Bg3imv4WyIjLSTRBtvhfMtU=
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ=
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
-github.com/aws/aws-sdk-go-v2 v1.22.1 h1:sjnni/AuoTXxHitsIdT0FwmqUuNUuHtufcVDErVFT9U=
-github.com/aws/aws-sdk-go-v2 v1.22.1/go.mod h1:Kd0OJtkW3Q0M0lUWGszapWjEvrXDzRW+D21JNsroB+c=
-github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.0 h1:hHgLiIrTRtddC0AKcJr5s7i/hLgcpTt+q/FKxf1Zayk=
-github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.0/go.mod h1:w4I/v3NOWgD+qvs1NPEwhd++1h3XPHFaVxasfY6HlYQ=
-github.com/aws/aws-sdk-go-v2/config v1.22.2 h1:fuDAlqkXcf7taDK4i1ejaAzDKajnlvHRQldqz649DeY=
-github.com/aws/aws-sdk-go-v2/config v1.22.2/go.mod h1:cBBFBM39pRUzw4dCLuRYkTDeIcscOtfFQNbQcgWnbL4=
-github.com/aws/aws-sdk-go-v2/credentials v1.15.1 h1:hmf6lAm9hk7uLCfapZn/jL05lm6Uwdbn1B0fgjyuf4M=
-github.com/aws/aws-sdk-go-v2/credentials v1.15.1/go.mod h1:QTcHga3ZbQOneJuxmGBOCxiClxmp+TlvmjFexAnJ790=
-github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.2 h1:gIeH4+o1MN/caGBWjoGQTUTIu94xD6fI5B2+TcwBf70=
-github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.2/go.mod h1:wLyMIo/zPOhQhPXTddpfdkSleyigtFi8iMnC+2m/SK4=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.1 h1:fi1ga6WysOyYb5PAf3Exd6B5GiSNpnZim4h1rhlBqx0=
-github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.1/go.mod h1:V5CY8wNurvPUibTi9mwqUqpiFZ5LnioKWIFUDtIzdI8=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.1 h1:ZpaV/j48RlPc4AmOZuPv22pJliXjXq8/reL63YzyFnw=
-github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.1/go.mod h1:R8aXraabD2e3qv1csxM14/X9WF4wFMIY0kH4YEtYD5M=
-github.com/aws/aws-sdk-go-v2/internal/ini v1.5.1 h1:6zMMQmHFW0F+2bnK2Y66lleMjrmvPU6sbhKVqNcqCMg=
-github.com/aws/aws-sdk-go-v2/internal/ini v1.5.1/go.mod h1:VV/Kbw9Mg1GWJOT9WK+oTL3cWZiXtapnNvDSRqTZLsg=
-github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.1 h1:vzYLDkwTw4CY0vUk84MeSufRf8XIsC/GsoIFXD60sTg=
-github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.1/go.mod h1:ToBFBnjeGR2ruMx8IWp/y7vSK3Irj5/oPwifruiqoOM=
-github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.0 h1:CJxo7ZBbaIzmXfV3hjcx36n9V87gJsIUPJflwqEHl3Q=
-github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.0/go.mod h1:yjVfjuY4nD1EW9i387Kau+I6V5cBA5YnC/mWNopjZrI=
-github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.1 h1:15FUCJzAP9Y25nioTqTrGlZmhOtthaXBWlt4pS+d3Xo=
-github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.1/go.mod h1:5655NW53Un6l7JzkI6AA3rZvf0m532cSnLThA1fVXcA=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.1 h1:2OXw3ppu1XsB6rqKEMV4tnecTjIY3PRV2U6IP6KPJQo=
-github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.1/go.mod h1:FZB4AdakIqW/yERVdGJA6Z9jraax1beXfhBBnK2wwR8=
-github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.1 h1:dnl0klXYX9EKpzZbWlH5LJL+YTcEZcJEMPFFr/rAHUQ=
-github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.1/go.mod h1:Mfk/9Joso4tCQYzM4q4HRUIqwln8lnIIMB/OE8Zebdc=
-github.com/aws/aws-sdk-go-v2/service/s3 v1.42.0 h1:u0YoSrxjr3Lm+IqIlRAV+4YTFwkXjyB9db9CfUFge2w=
-github.com/aws/aws-sdk-go-v2/service/s3 v1.42.0/go.mod h1:98EIdRu+BNsdqITsXfy+57TZfwlUQC9aDn9a9qoo90U=
-github.com/aws/aws-sdk-go-v2/service/sso v1.17.0 h1:I/Oh3IxGPfHXiGnwM54TD6hNr/8TlUrBXAtTyGhR+zw=
-github.com/aws/aws-sdk-go-v2/service/sso v1.17.0/go.mod h1:H6NCMvDBqA+CvIaXzaSqM6LWtzv9BzZrqBOqz+PzRF8=
-github.com/aws/aws-sdk-go-v2/service/ssooidc v1.19.0 h1:irbXQkfVYIRaewYSXcu4yVk0m2T+JzZd0dkop7FjmO0=
-github.com/aws/aws-sdk-go-v2/service/ssooidc v1.19.0/go.mod h1:4wPNCkM22+oRe71oydP66K50ojDUC33XutSMi2pEF/M=
-github.com/aws/aws-sdk-go-v2/service/sts v1.25.0 h1:sYIFy8tm1xQwRvVQ4CRuBGXKIg9sHNuG6+3UAQuoujk=
-github.com/aws/aws-sdk-go-v2/service/sts v1.25.0/go.mod h1:S/LOQUeYDfJeJpFCIJDMjy7dwL4aA33HUdVi+i7uH8k=
-github.com/aws/smithy-go v1.16.0 h1:gJZEH/Fqh+RsvlJ1Zt4tVAtV6bKkp3cC+R6FCZMNzik=
-github.com/aws/smithy-go v1.16.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE=
+github.com/aws/aws-sdk-go-v2 v1.24.1 h1:xAojnj+ktS95YZlDf0zxWBkbFtymPeDP+rvUQIH3uAU=
+github.com/aws/aws-sdk-go-v2 v1.24.1/go.mod h1:LNh45Br1YAkEKaAqvmE1m8FUx6a5b/V0oAKV7of29b4=
+github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.4 h1:OCs21ST2LrepDfD3lwlQiOqIGp6JiEUqG84GzTDoyJs=
+github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.4/go.mod h1:usURWEKSNNAcAZuzRn/9ZYPT8aZQkR7xcCtunK/LkJo=
+github.com/aws/aws-sdk-go-v2/config v1.26.3 h1:dKuc2jdp10y13dEEvPqWxqLoc0vF3Z9FC45MvuQSxOA=
+github.com/aws/aws-sdk-go-v2/config v1.26.3/go.mod h1:Bxgi+DeeswYofcYO0XyGClwlrq3DZEXli0kLf4hkGA0=
+github.com/aws/aws-sdk-go-v2/credentials v1.16.14 h1:mMDTwwYO9A0/JbOCOG7EOZHtYM+o7OfGWfu0toa23VE=
+github.com/aws/aws-sdk-go-v2/credentials v1.16.14/go.mod h1:cniAUh3ErQPHtCQGPT5ouvSAQ0od8caTO9OOuufZOAE=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11 h1:c5I5iH+DZcH3xOIMlz3/tCKJDaHFwYEmxvlh2fAcFo8=
+github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11/go.mod h1:cRrYDYAMUohBJUtUnOhydaMHtiK/1NZ0Otc9lIb6O0Y=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10 h1:vF+Zgd9s+H4vOXd5BMaPWykta2a6Ih0AKLq/X6NYKn4=
+github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10/go.mod h1:6BkRjejp/GR4411UGqkX8+wFMbFbqsUIimfK4XjOKR4=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10 h1:nYPe006ktcqUji8S2mqXf9c/7NdiKriOwMvWQHgYztw=
+github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10/go.mod h1:6UV4SZkVvmODfXKql4LCbaZUpF7HO2BX38FgBf9ZOLw=
+github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2 h1:GrSw8s0Gs/5zZ0SX+gX4zQjRnRsMJDJ2sLur1gRBhEM=
+github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2/go.mod h1:6fQQgfuGmw8Al/3M2IgIllycxV7ZW7WCdVSqfBeUiCY=
+github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.10 h1:5oE2WzJE56/mVveuDZPJESKlg/00AaS2pY2QZcnxg4M=
+github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.10/go.mod h1:FHbKWQtRBYUz4vO5WBWjzMD2by126ny5y/1EoaWoLfI=
+github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4 h1:/b31bi3YVNlkzkBrm9LfpaKoaYZUxIAj4sHfOTmLfqw=
+github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4/go.mod h1:2aGXHFmbInwgP9ZfpmdIfOELL79zhdNYNmReK8qDfdQ=
+github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.10 h1:L0ai8WICYHozIKK+OtPzVJBugL7culcuM4E4JOpIEm8=
+github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.10/go.mod h1:byqfyxJBshFk0fF9YmK0M0ugIO8OWjzH2T3bPG4eGuA=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10 h1:DBYTXwIGQSGs9w4jKm60F5dmCQ3EEruxdc0MFh+3EY4=
+github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10/go.mod h1:wohMUQiFdzo0NtxbBg0mSRGZ4vL3n0dKjLTINdcIino=
+github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.10 h1:KOxnQeWy5sXyS37fdKEvAsGHOr9fa/qvwxfJurR/BzE=
+github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.10/go.mod h1:jMx5INQFYFYB3lQD9W0D8Ohgq6Wnl7NYOJ2TQndbulI=
+github.com/aws/aws-sdk-go-v2/service/s3 v1.48.0 h1:PJTdBMsyvra6FtED7JZtDpQrIAflYDHFoZAu/sKYkwU=
+github.com/aws/aws-sdk-go-v2/service/s3 v1.48.0/go.mod h1:4qXHrG1Ne3VGIMZPCB8OjH/pLFO94sKABIusjh0KWPU=
+github.com/aws/aws-sdk-go-v2/service/sso v1.18.6 h1:dGrs+Q/WzhsiUKh82SfTVN66QzyulXuMDTV/G8ZxOac=
+github.com/aws/aws-sdk-go-v2/service/sso v1.18.6/go.mod h1:+mJNDdF+qiUlNKNC3fxn74WWNN+sOiGOEImje+3ScPM=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.6 h1:Yf2MIo9x+0tyv76GljxzqA3WtC5mw7NmazD2chwjxE4=
+github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.6/go.mod h1:ykf3COxYI0UJmxcfcxcVuz7b6uADi1FkiUz6Eb7AgM8=
+github.com/aws/aws-sdk-go-v2/service/sts v1.26.7 h1:NzO4Vrau795RkUdSHKEwiR01FaGzGOH1EETJ+5QHnm0=
+github.com/aws/aws-sdk-go-v2/service/sts v1.26.7/go.mod h1:6h2YuIoxaMSCFf5fi1EgZAwdfkGMgDY+DVfa61uLe4U=
+github.com/aws/smithy-go v1.19.0 h1:KWFKQV80DpP3vJrrA9sVAHQ5gc2z8i4EzrLhLlWXcBM=
+github.com/aws/smithy-go v1.19.0/go.mod h1:NukqUGpCZIILqqiV0NIjeFh24kd/FAa4beRb6nbIUPE=
github.com/bytedance/sonic v1.5.0/go.mod h1:ED5hyg4y6t3/9Ku1R6dU/4KyJ48DZ4jPhfY1O2AihPM=
github.com/bytedance/sonic v1.10.0-rc/go.mod h1:ElCzW+ufi8qKqNW0FY314xriJhyJhuoJ3gFZdAHF7NM=
github.com/bytedance/sonic v1.10.2 h1:GQebETVBxYB7JGWJtLBi07OVzWwt+8dWA00gEVW2ZFE=
github.com/bytedance/sonic v1.10.2/go.mod h1:iZcSUejdk5aukTND/Eu/ivjQuEL0Cu9/rf50Hi0u/g4=
-github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/chenzhuoyu/base64x v0.0.0-20211019084208-fb5309c8db06/go.mod h1:DH46F32mSOjUmXrMHnKwZdA8wcEefY7UVqBKYGjpdQY=
github.com/chenzhuoyu/base64x v0.0.0-20221115062448-fe3a3abad311/go.mod h1:b583jCggY9gE99b6G5LEC39OIiVsWj+R97kbl5odCEk=
github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d h1:77cEq6EriyTZ0g/qfRdp61a3Uu/AWrgIq2s0ClJV1g0=
github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d/go.mod h1:8EPpVsBuRksnlj1mLy4AWzRNQYxauNi62uWcE3to6eA=
-github.com/chenzhuoyu/iasm v0.9.0 h1:9fhXjVzq5hUy2gkhhgHl95zG2cEAhw9OSGs8toWWAwo=
github.com/chenzhuoyu/iasm v0.9.0/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog=
-github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
-github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
-github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
-github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
-github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
-github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
-github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
-github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
-github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
+github.com/chenzhuoyu/iasm v0.9.1 h1:tUHQJXo3NhBqw6s33wkGn9SP3bvrWLdlVIJ3hQBL7P0=
+github.com/chenzhuoyu/iasm v0.9.1/go.mod h1:Xjy2NpN3h7aUqeqM+woSuuvxmIe6+DDsiNLIrkAmYog=
+github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/dhui/dktest v0.3.16 h1:i6gq2YQEtcrjKbeJpBkWjE8MmLZPYllcjOFbTZuPDnw=
-github.com/dhui/dktest v0.3.16/go.mod h1:gYaA3LRmM8Z4vJl2MA0THIigJoZrwOansEOsp+kqxp0=
+github.com/dhui/dktest v0.4.0 h1:z05UmuXZHO/bgj/ds2bGMBu8FI4WA+Ag/m3ghL+om7M=
+github.com/dhui/dktest v0.4.0/go.mod h1:v/Dbz1LgCBOi2Uki2nUqLBGa83hWBGFMu5MrgMDCc78=
github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8=
github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w=
-github.com/docker/docker v20.10.24+incompatible h1:Ugvxm7a8+Gz6vqQYQQ2W7GYq5EUPaAiuPgIfVyI3dYE=
-github.com/docker/docker v20.10.24+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
+github.com/docker/docker v24.0.7+incompatible h1:Wo6l37AuwP3JaMnZa226lzVXGA3F9Ig1seQen0cKYlM=
+github.com/docker/docker v24.0.7+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
-github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
-github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
-github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
-github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
-github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY=
-github.com/frankban/quicktest v1.14.4/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
+github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
+github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0=
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
github.com/gabriel-vasile/mimetype v1.4.3 h1:in2uUcidCuFcDKtdcBxlR0rJ1+fsokWf+uqxgUFjbI0=
github.com/gabriel-vasile/mimetype v1.4.3/go.mod h1:d8uq/6HKRL6CGdk+aubisF/M5GcPfT7nKyLpA0lbSSk=
-github.com/gin-contrib/cors v1.4.0 h1:oJ6gwtUl3lqV0WEIwM/LxPF1QZ5qe2lGWdY2+bz7y0g=
-github.com/gin-contrib/cors v1.4.0/go.mod h1:bs9pNM0x/UsmHPBWT2xZz9ROh8xYjYkiURUfmBoMlcs=
+github.com/gin-contrib/cors v1.5.0 h1:DgGKV7DDoOn36DFkNtbHrjoRiT5ExCe+PC9/xp7aKvk=
+github.com/gin-contrib/cors v1.5.0/go.mod h1:TvU7MAZ3EwrPLI2ztzTt3tqgvBCq+wn8WpZmfADjupI=
github.com/gin-contrib/sse v0.1.0 h1:Y/yl/+YNO8GZSjAhjMsSuLt29uWRFHdHYUb5lYOV9qE=
github.com/gin-contrib/sse v0.1.0/go.mod h1:RHrZQHXnP2xjPF+u1gW/2HnVO7nvIa9PG3Gm+fLHvGI=
-github.com/gin-gonic/gin v1.8.1/go.mod h1:ji8BvRH1azfM+SYow9zQ6SZMvR8qOMZHmsCuWR9tTTk=
github.com/gin-gonic/gin v1.9.1 h1:4idEAncQnU5cB7BeOkPtxjfCSye0AAm1R0RVIqJ+Jmg=
github.com/gin-gonic/gin v1.9.1/go.mod h1:hPrL7YrpYKXt5YId3A/Tnip5kqbEAP+KLuI3SUcPTeU=
-github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
-github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
-github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
-github.com/go-playground/assert/v2 v2.0.1/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
github.com/go-playground/assert/v2 v2.2.0 h1:JvknZsQTYeFEAhQwI4qEt9cyV5ONwRHC+lYKSsYSR8s=
github.com/go-playground/assert/v2 v2.2.0/go.mod h1:VDjEfimB/XKnb+ZQfWdccd7VUvScMdVu0Titje2rxJ4=
-github.com/go-playground/locales v0.14.0/go.mod h1:sawfccIbzZTqEDETgFXqTho0QybSa7l++s0DH+LDiLs=
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
-github.com/go-playground/universal-translator v0.18.0/go.mod h1:UvRDBj+xPUEGrFYl+lu/H90nyDXpg0fqeB/AQUGNTVA=
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
-github.com/go-playground/validator/v10 v10.10.0/go.mod h1:74x4gJWsvQexRdW8Pn3dXSGrTK4nAUsbPlLADvpJkos=
-github.com/go-playground/validator/v10 v10.15.5 h1:LEBecTWb/1j5TNY1YYG2RcOUN3R7NLylN+x8TTueE24=
-github.com/go-playground/validator/v10 v10.15.5/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU=
-github.com/goccy/go-json v0.9.7/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
+github.com/go-playground/validator/v10 v10.16.0 h1:x+plE831WK4vaKHO/jpgUGsvLKIqRRkz6M78GuJAfGE=
+github.com/go-playground/validator/v10 v10.16.0/go.mod h1:9iXMNT7sEkjXb0I+enO7QXmzG6QCsPWY4zveKFVRSyU=
github.com/goccy/go-json v0.10.2 h1:CrxCmQqYDkv1z7lO7Wbh2HN93uovUHgrECaO5ZrCXAU=
github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I=
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
-github.com/golang-jwt/jwt/v5 v5.0.0 h1:1n1XNM9hk7O9mnQoNBGolZvzebBQ7p93ULHRc28XJUE=
-github.com/golang-jwt/jwt/v5 v5.0.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
-github.com/golang-migrate/migrate/v4 v4.16.2 h1:8coYbMKUyInrFk1lfGfRovTLAW7PhWp8qQDT2iKfuoA=
-github.com/golang-migrate/migrate/v4 v4.16.2/go.mod h1:pfcJX4nPHaVdc5nmdCikFBWtm+UBpiZjRNNsyBbp0/o=
-github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
-github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
-github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
-github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
-github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
-github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc=
-github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
-github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
-github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
-github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
-github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
-github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
-github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
-github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
-github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
-github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
-github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
-github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
-github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
-github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
-github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
-github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/golang-jwt/jwt/v5 v5.2.0 h1:d/ix8ftRUorsN+5eMIlF4T6J8CAt9rch3My2winC1Jw=
+github.com/golang-jwt/jwt/v5 v5.2.0/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk=
+github.com/golang-migrate/migrate/v4 v4.17.0 h1:rd40H3QXU0AA4IoLllFcEAEo9dYKRHYND2gB4p7xcaU=
+github.com/golang-migrate/migrate/v4 v4.17.0/go.mod h1:+Cp2mtLP4/aXDTKb9wmXYitdrNx2HGs45rbWAo6OsKM=
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
-github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
-github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
-github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
-github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
-github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
-github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
-github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/google/uuid v1.3.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4=
-github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
-github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
-github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
+github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU=
+github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
-github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
-github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
-github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM=
github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo=
-github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
-github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
-github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
-github.com/klauspost/cpuid/v2 v2.2.5 h1:0E5MSMDEoAulmXNFquVs//DdoomxaoTY1kUhbc/qbZg=
-github.com/klauspost/cpuid/v2 v2.2.5/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
+github.com/klauspost/cpuid/v2 v2.2.6 h1:ndNyv040zDGIDh8thGkXYjnFtiN02M1PVVF+JE/48xc=
+github.com/klauspost/cpuid/v2 v2.2.6/go.mod h1:Lcz8mBdAVJIBVzewtcLocK12l3Y+JytZYpaMropDUws=
github.com/knz/go-libedit v1.10.1/go.mod h1:MZTVkCWyz0oBc7JOWP3wNAzd002ZbM/5hgShxwh4x8M=
-github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
-github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
-github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/leodido/go-urn v1.2.1/go.mod h1:zt4jvISO2HfUBqxjfIshjdMTYS56ZS/qv49ictyFfxY=
github.com/leodido/go-urn v1.2.4 h1:XlAE/cm/ms7TE/VMVoduSpNBoyc2dOxHs5MZSwAN63Q=
github.com/leodido/go-urn v1.2.4/go.mod h1:7ZrI8mTSeBSHl/UaRyKQW1qZeMgak41ANeCNaVckg+4=
github.com/lib/pq v1.10.9 h1:YXG7RB+JIjhP29X+OtkiDnYaXQwpS4JEWq7dtCCRUEw=
github.com/lib/pq v1.10.9/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
-github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
@@ -281,25 +145,18 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8
github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM=
github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034=
github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ=
-github.com/pelletier/go-toml/v2 v2.0.1/go.mod h1:r9LEWfGN8R5k0VXJ+0BkIe7MYkRdwZOjgMj2KwnJFUo=
-github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4=
-github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc=
-github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA=
+github.com/pelletier/go-toml/v2 v2.1.1 h1:LWAJwfNvjQZCFIDKWYQaM62NcYeYViCmWIwmOStowAI=
+github.com/pelletier/go-toml/v2 v2.1.1/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc=
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
-github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
-github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE=
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
-github.com/sagikazarmark/locafero v0.3.0 h1:zT7VEGWC2DTflmccN/5T1etyKvxSxpHsjb9cJvm4SvQ=
-github.com/sagikazarmark/locafero v0.3.0/go.mod h1:w+v7UsPNFwzF1cHuOajOOzoq4U7v/ig1mpRjqV+Bu1U=
+github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ=
+github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4=
github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ=
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
@@ -310,23 +167,20 @@ github.com/sosodev/duration v1.2.0 h1:pqK/FLSjsAADWY74SyWDCjOcd5l7H8GSnnOGEB9A1U
github.com/sosodev/duration v1.2.0/go.mod h1:RQIBBX0+fMLc/D9+Jb/fwvVmo0eZvDDEERAikUR6SDg=
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
-github.com/spf13/afero v1.10.0 h1:EaGW2JJh15aKOejeuJ+wpFSHnbd7GE6Wvp3TsNhb6LY=
-github.com/spf13/afero v1.10.0/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ=
-github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA=
-github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48=
-github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I=
-github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0=
+github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8=
+github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY=
+github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0=
+github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
+github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
+github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
-github.com/spf13/viper v1.17.0 h1:I5txKw7MJasPL/BrfkbA0Jyo/oELqVmux4pR/UxOMfI=
-github.com/spf13/viper v1.17.0/go.mod h1:BmMMMLQXSbcHK6KAOiFLz0l5JHrU89OdIRHvsk0+yVI=
+github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ=
+github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
-github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
-github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
@@ -338,359 +192,45 @@ github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
github.com/twitchyliquid64/golang-asm v0.15.1 h1:SU5vSMR7hnwNxj24w34ZyCi/FmDZTkS4MhqMhdFk5YI=
github.com/twitchyliquid64/golang-asm v0.15.1/go.mod h1:a1lVb/DtPvCB8fslRZhAngC2+aY1QWCk3Cedj/Gdt08=
-github.com/ugorji/go v1.2.7/go.mod h1:nF9osbDWLy6bDVv/Rtoh6QgnvNDpmCalQV5urGCCS6M=
-github.com/ugorji/go/codec v1.2.7/go.mod h1:WGN1fab3R1fzQlVQTkfxVtIBhWDRqOviHU95kRgeqEY=
-github.com/ugorji/go/codec v1.2.11 h1:BMaWp1Bb6fHwEtbplGBGJ498wD+LKlNSl25MjdZY4dU=
-github.com/ugorji/go/codec v1.2.11/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
+github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65EE=
+github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg=
github.com/vektah/gqlparser/v2 v2.5.10 h1:6zSM4azXC9u4Nxy5YmdmGu4uKamfwsdKTwp5zsEealU=
github.com/vektah/gqlparser/v2 v2.5.10/go.mod h1:1rCcfwB2ekJofmluGWXMSEnPMZgbxzwj6FaZ/4OT8Cc=
-github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
-go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
-go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
-go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
go.uber.org/atomic v1.11.0 h1:ZvwS0R+56ePWxUNi+Atn9dWONBPp/AUETXlHW0DxSjE=
go.uber.org/atomic v1.11.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0=
+go.uber.org/mock v0.4.0 h1:VcM4ZOtdbR4f6VXfiOpwpVJDL6lCReaZ6mw31wqh7KU=
+go.uber.org/mock v0.4.0/go.mod h1:a6FSlNadKUHUa9IP5Vyt1zh4fC7uAwxMutEAscFbkZc=
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
golang.org/x/arch v0.0.0-20210923205945-b76863e36670/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
-golang.org/x/arch v0.5.0 h1:jpGode6huXQxcskEIpOCvrU+tzo81b6+oFLUYXWtH/Y=
-golang.org/x/arch v0.5.0/go.mod h1:5om86z9Hs0C8fWVUuoMHwpExlXzs5Tkyp9hOrfG7pp8=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
-golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
-golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
-golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
-golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
-golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
-golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
-golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
-golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
-golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
-golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
-golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
-golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
-golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI=
-golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo=
-golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
-golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
-golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
-golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
-golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
-golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
-golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
-golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
-golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
-golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
-golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
-golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.13.0 h1:I/DsJXRlw/8l/0c24sM9yb0T4z9liZTduXvdAWYiysY=
-golang.org/x/mod v0.13.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
-golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
-golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
-golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
-golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
-golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
-golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
-golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
-golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/arch v0.7.0 h1:pskyeJh/3AmoQ8CPE95vxHLqp1G1GfGNXTmcl9NEKTc=
+golang.org/x/arch v0.7.0/go.mod h1:FEVrYAQjsQXMVJ1nsMoVVXPZg6p2JE2mx8psSWTDQys=
+golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc=
+golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg=
+golang.org/x/exp v0.0.0-20240110193028-0dcbfd608b1e h1:723BNChdd0c2Wk6WOE320qGBiPtYx0F0Bbm1kriShfE=
+golang.org/x/exp v0.0.0-20240110193028-0dcbfd608b1e/go.mod h1:iRJReGqOEeBhDZGkGbynYwcHlctCvnjTYIamk7uXpHI=
+golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
+golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
+golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo=
+golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY=
golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
-golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
-golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
-golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
-golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
-golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
-golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
-golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
-golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
-golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
-golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.14.0 h1:jvNa2pY0M4r62jkRQ6RwEZZyPcymeL9XZMLBbV7U2nc=
-golang.org/x/tools v0.14.0/go.mod h1:uYBEerGOWcJyEORxN+Ek8+TT266gXkNlHdJBwexUsBg=
-golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
-google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
-google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.24.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.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
-google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg=
-google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE=
-google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
-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.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
-google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
-google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
-google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
-google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
-google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
-google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
-google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
-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-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-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.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
-google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
-google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
-google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
-google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
-google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
-google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
-google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
-google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
-google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
-google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
-google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
-google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
-google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
-google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
-google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
-google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
-google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
-google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
+golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU=
+golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
+golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
+golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
+golang.org/x/tools v0.16.0 h1:GO788SKMRunPIBCXiQyo2AaexLstOrVhuAL5YwsckQM=
+golang.org/x/tools v0.16.0/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0=
+google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7I=
+google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
-gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
-gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
-honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
nullprogram.com/x/optparse v1.0.0/go.mod h1:KdyPE+Igbe0jQUrVfMqDMeJQIJZEuyV7pjYmp6pbG50=
-rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
-rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
-rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
diff --git a/metadata/client_gen.go b/metadata/client_gen.go
index e51aac0d..af3a039d 100644
--- a/metadata/client_gen.go
+++ b/metadata/client_gen.go
@@ -358,6 +358,10 @@ func (c *Client) GetBucket(ctx context.Context, id string, interceptors ...clien
var res GetBucket
if err := c.Client.Post(ctx, "GetBucket", GetBucketDocument, &res, vars, interceptors...); err != nil {
+ if c.Client.ParseDataWhenErrors {
+ return &res, err
+ }
+
return nil, err
}
@@ -391,6 +395,10 @@ func (c *Client) GetFile(ctx context.Context, id string, interceptors ...clientv
var res GetFile
if err := c.Client.Post(ctx, "GetFile", GetFileDocument, &res, vars, interceptors...); err != nil {
+ if c.Client.ParseDataWhenErrors {
+ return &res, err
+ }
+
return nil, err
}
@@ -415,6 +423,10 @@ func (c *Client) ListFilesSummary(ctx context.Context, interceptors ...clientv2.
var res ListFilesSummary
if err := c.Client.Post(ctx, "ListFilesSummary", ListFilesSummaryDocument, &res, vars, interceptors...); err != nil {
+ if c.Client.ParseDataWhenErrors {
+ return &res, err
+ }
+
return nil, err
}
@@ -435,6 +447,10 @@ func (c *Client) InsertFile(ctx context.Context, object FilesInsertInput, interc
var res InsertFile
if err := c.Client.Post(ctx, "InsertFile", InsertFileDocument, &res, vars, interceptors...); err != nil {
+ if c.Client.ParseDataWhenErrors {
+ return &res, err
+ }
+
return nil, err
}
@@ -469,6 +485,10 @@ func (c *Client) UpdateFile(ctx context.Context, id string, set FilesSetInput, i
var res UpdateFile
if err := c.Client.Post(ctx, "UpdateFile", UpdateFileDocument, &res, vars, interceptors...); err != nil {
+ if c.Client.ParseDataWhenErrors {
+ return &res, err
+ }
+
return nil, err
}
@@ -489,6 +509,10 @@ func (c *Client) DeleteFile(ctx context.Context, id string, interceptors ...clie
var res DeleteFile
if err := c.Client.Post(ctx, "DeleteFile", DeleteFileDocument, &res, vars, interceptors...); err != nil {
+ if c.Client.ParseDataWhenErrors {
+ return &res, err
+ }
+
return nil, err
}
@@ -509,8 +533,22 @@ func (c *Client) InsertVirus(ctx context.Context, object VirusInsertInput, inter
var res InsertVirus
if err := c.Client.Post(ctx, "InsertVirus", InsertVirusDocument, &res, vars, interceptors...); err != nil {
+ if c.Client.ParseDataWhenErrors {
+ return &res, err
+ }
+
return nil, err
}
return &res, nil
}
+
+var DocumentOperationNames = map[string]string{
+ GetBucketDocument: "GetBucket",
+ GetFileDocument: "GetFile",
+ ListFilesSummaryDocument: "ListFilesSummary",
+ InsertFileDocument: "InsertFile",
+ UpdateFileDocument: "UpdateFile",
+ DeleteFileDocument: "DeleteFile",
+ InsertVirusDocument: "InsertVirus",
+}
diff --git a/migrations/hasura.go b/migrations/hasura.go
index bc4aa690..344e22c4 100644
--- a/migrations/hasura.go
+++ b/migrations/hasura.go
@@ -142,11 +142,11 @@ type DropRelationshipArgs struct {
Relationship string `json:"relationship"`
}
-func ApplyHasuraMetadata(url, hasuraSecret, hasuraDbName string) error { //nolint: funlen
+func ApplyHasuraMetadata(url, hasuraSecret, hasuraDBName string) error { //nolint: funlen
bucketsTable := TrackTable{
Type: "pg_track_table",
Args: PgTrackTableArgs{
- Source: hasuraDbName,
+ Source: hasuraDBName,
Table: Table{
Schema: "storage",
Name: "buckets",
@@ -185,7 +185,7 @@ func ApplyHasuraMetadata(url, hasuraSecret, hasuraDbName string) error { //nolin
filesTable := TrackTable{
Type: "pg_track_table",
Args: PgTrackTableArgs{
- Source: hasuraDbName,
+ Source: hasuraDBName,
Table: Table{
Schema: "storage",
Name: "files",
@@ -227,7 +227,7 @@ func ApplyHasuraMetadata(url, hasuraSecret, hasuraDbName string) error { //nolin
virusTable := TrackTable{
Type: "pg_track_table",
Args: PgTrackTableArgs{
- Source: hasuraDbName,
+ Source: hasuraDBName,
Table: Table{
Schema: "storage",
Name: "virus",
@@ -270,7 +270,7 @@ func ApplyHasuraMetadata(url, hasuraSecret, hasuraDbName string) error { //nolin
Name: "files",
},
Name: "bucket",
- Source: hasuraDbName,
+ Source: hasuraDBName,
Using: CreateObjectRelationshipUsing{
ForeignKeyConstraintOn: []string{"bucket_id"},
},
@@ -289,7 +289,7 @@ func ApplyHasuraMetadata(url, hasuraSecret, hasuraDbName string) error { //nolin
Name: "buckets",
},
Name: "files",
- Source: hasuraDbName,
+ Source: hasuraDBName,
Using: CreateArrayRelationshipUsing{
ForeignKeyConstraintOn: ForeignKeyConstraintOn{
Table: Table{
@@ -314,7 +314,7 @@ func ApplyHasuraMetadata(url, hasuraSecret, hasuraDbName string) error { //nolin
Name: "virus",
},
Name: "file",
- Source: hasuraDbName,
+ Source: hasuraDBName,
Using: CreateObjectRelationshipUsing{
ForeignKeyConstraintOn: []string{"file_id"},
},
diff --git a/nix/overlay.nix b/nix/overlay.nix
index 781cc509..456eebac 100644
--- a/nix/overlay.nix
+++ b/nix/overlay.nix
@@ -1,11 +1,11 @@
final: prev: rec {
go = prev.go_1_21.overrideAttrs
(finalAttrs: previousAttrs: rec {
- version = "1.21.4";
+ version = "1.21.5";
src = final.fetchurl {
url = "https://go.dev/dl/go${version}.src.tar.gz";
- sha256 = "sha256-R7Jqg9K2WjwcG8rOJztpvuSaentRaKdgTe09JqN714c=";
+ sha256 = "sha256-KFy730tubmLtWPNw8/bYwwgl1uVsWFPGbTwjvNsJ2xk=";
};
});
@@ -38,15 +38,28 @@ final: prev: rec {
gqlgenc = prev.gqlgenc.override rec {
buildGoModule = args: prev.buildGoModule.override { go = go; } (args // rec {
- version = "0.14.0";
+ version = "0.16.2";
src = prev.fetchFromGitHub {
owner = "Yamashou";
repo = "gqlgenc";
rev = "v${version}";
- sha256 = "sha256-0KUJlz8ey0kLmHO083ZPaJYIhInlKvO/a1oZYjPGopo=";
+ sha256 = "sha256-XNmCSkgJJ2notrv0Din4jlU9EoHJcznjEUiXQgQ5a7I=";
};
- vendorHash = "sha256-Up7Wi6z0Cbp9RHKAsjj/kd50UqcXtsS+ETRYuxRfGuA=";
+ vendorHash = "sha256-6iwNykvW1m+hl6FzMNbvvPpBNp8OQn2/vfJLmAj60Mw=";
+ });
+ };
+
+ mockgen = prev.mockgen.override rec {
+ buildGoModule = args: final.buildGoModule (args // rec {
+ version = "0.3.0";
+ src = final.fetchFromGitHub {
+ owner = "uber-go";
+ repo = "mock";
+ rev = "v${version}";
+ sha256 = "sha256-pwlssqk/2aXTOwchePJK7CqEQ6lkQv7E+aT3HzUhvpE=";
+ };
+ vendorHash = "sha256-mcNVud2jzvlPPQEaar/eYZkP71V2Civz+R5v10+tewA=";
});
};
@@ -61,6 +74,8 @@ final: prev: rec {
final.libwebp
final.openjpeg
final.pango
+ final.libarchive
+ final.libhwy
];
mesonFlags = [
"-Dgtk_doc=false"
@@ -68,7 +83,6 @@ final: prev: rec {
"-Dspng=disabled"
"-Dpdfium=disabled"
"-Dnifti=disabled"
- "-Dgsf=disabled"
"-Dfftw=disabled"
"-Dmagick=disabled"
"-Dcfitsio=disabled"
diff --git a/storage/s3.go b/storage/s3.go
index 3a826e28..1798f0c2 100644
--- a/storage/s3.go
+++ b/storage/s3.go
@@ -18,6 +18,13 @@ import (
"github.com/sirupsen/logrus"
)
+func deptr[T any](p *T) T { //nolint:ireturn
+ if p == nil {
+ return *new(T)
+ }
+ return *p
+}
+
type S3Error struct {
Code string `xml:"Code"`
Message string `xml:"Message"`
@@ -48,7 +55,11 @@ type S3 struct {
}
func NewS3(
- client *s3.Client, bucket string, rootFolder string, url string, disableHTTPS bool, logger *logrus.Logger,
+ client *s3.Client,
+ bucket string,
+ rootFolder string,
+ url string,
+ logger *logrus.Logger,
) *S3 {
return &S3{
client: client,
@@ -59,7 +70,12 @@ func NewS3(
}
}
-func (s *S3) PutFile(ctx context.Context, content io.ReadSeeker, filepath string, contentType string) (string, *controller.APIError) {
+func (s *S3) PutFile(
+ ctx context.Context,
+ content io.ReadSeeker,
+ filepath string,
+ contentType string,
+) (string, *controller.APIError) {
key, err := url.JoinPath(s.rootFolder, filepath)
if err != nil {
return "", controller.InternalServerError(fmt.Errorf("problem joining path: %w", err))
@@ -85,7 +101,11 @@ func (s *S3) PutFile(ctx context.Context, content io.ReadSeeker, filepath string
return *object.ETag, nil
}
-func (s *S3) GetFile(ctx context.Context, filepath string, headers http.Header) (*controller.File, *controller.APIError) {
+func (s *S3) GetFile(
+ ctx context.Context,
+ filepath string,
+ headers http.Header,
+) (*controller.File, *controller.APIError) {
key, err := url.JoinPath(s.rootFolder, filepath)
if err != nil {
return nil, controller.InternalServerError(fmt.Errorf("problem joining path: %w", err))
@@ -119,7 +139,7 @@ func (s *S3) GetFile(ctx context.Context, filepath string, headers http.Header)
return &controller.File{
ContentType: *object.ContentType,
- ContentLength: object.ContentLength,
+ ContentLength: deptr(object.ContentLength),
Etag: *object.ETag,
StatusCode: status,
Body: object.Body,
@@ -127,7 +147,11 @@ func (s *S3) GetFile(ctx context.Context, filepath string, headers http.Header)
}, nil
}
-func (s *S3) CreatePresignedURL(ctx context.Context, filepath string, expire time.Duration) (string, *controller.APIError) {
+func (s *S3) CreatePresignedURL(
+ ctx context.Context,
+ filepath string,
+ expire time.Duration,
+) (string, *controller.APIError) {
key, err := url.JoinPath(s.rootFolder, filepath)
if err != nil {
return "", controller.InternalServerError(fmt.Errorf("problem joining path: %w", err))
diff --git a/storage/s3_test.go b/storage/s3_test.go
index 9c06dd0c..82c23859 100644
--- a/storage/s3_test.go
+++ b/storage/s3_test.go
@@ -46,7 +46,7 @@ func getS3() *storage.S3 {
o.UsePathStyle = true
o.EndpointOptions.DisableHTTPS = true
})
- st := storage.NewS3(client, "default", "f215cf48-7458-4596-9aa5-2159fc6a3caf", url, true, logger)
+ st := storage.NewS3(client, "default", "f215cf48-7458-4596-9aa5-2159fc6a3caf", url, logger)
return st
}
diff --git a/vendor/github.com/99designs/gqlgen/graphql/fieldset.go b/vendor/github.com/99designs/gqlgen/graphql/fieldset.go
index 3ba28582..2c9e3dc9 100644
--- a/vendor/github.com/99designs/gqlgen/graphql/fieldset.go
+++ b/vendor/github.com/99designs/gqlgen/graphql/fieldset.go
@@ -46,8 +46,8 @@ func (m *FieldSet) Dispatch(ctx context.Context) {
for _, d := range m.delayed[1:] {
wg.Add(1)
go func(d delayedResult) {
+ defer wg.Done()
m.Values[d.i] = d.f(ctx)
- wg.Done()
}(d)
}
diff --git a/vendor/github.com/99designs/gqlgen/graphql/omittable.go b/vendor/github.com/99designs/gqlgen/graphql/omittable.go
index 3d1e3279..89716400 100644
--- a/vendor/github.com/99designs/gqlgen/graphql/omittable.go
+++ b/vendor/github.com/99designs/gqlgen/graphql/omittable.go
@@ -1,5 +1,7 @@
package graphql
+import "encoding/json"
+
// Omittable is a wrapper around a value that also stores whether it is set
// or not.
type Omittable[T any] struct {
@@ -7,6 +9,11 @@ type Omittable[T any] struct {
set bool
}
+var (
+ _ json.Marshaler = Omittable[struct{}]{}
+ _ json.Unmarshaler = (*Omittable[struct{}])(nil)
+)
+
func OmittableOf[T any](value T) Omittable[T] {
return Omittable[T]{
value: value,
@@ -33,3 +40,19 @@ func (o Omittable[T]) ValueOK() (T, bool) {
func (o Omittable[T]) IsSet() bool {
return o.set
}
+
+func (o Omittable[T]) MarshalJSON() ([]byte, error) {
+ if !o.set {
+ return []byte("null"), nil
+ }
+ return json.Marshal(o.value)
+}
+
+func (o *Omittable[T]) UnmarshalJSON(bytes []byte) error {
+ err := json.Unmarshal(bytes, &o.value)
+ if err != nil {
+ return err
+ }
+ o.set = true
+ return nil
+}
diff --git a/vendor/github.com/99designs/gqlgen/graphql/version.go b/vendor/github.com/99designs/gqlgen/graphql/version.go
index 90731021..b987f6ed 100644
--- a/vendor/github.com/99designs/gqlgen/graphql/version.go
+++ b/vendor/github.com/99designs/gqlgen/graphql/version.go
@@ -1,3 +1,3 @@
package graphql
-const Version = "v0.17.40"
+const Version = "v0.17.42"
diff --git a/vendor/github.com/Yamashou/gqlgenc/clientv2/client.go b/vendor/github.com/Yamashou/gqlgenc/clientv2/client.go
index 7676aaf3..fbbe7315 100644
--- a/vendor/github.com/Yamashou/gqlgenc/clientv2/client.go
+++ b/vendor/github.com/Yamashou/gqlgenc/clientv2/client.go
@@ -5,6 +5,7 @@ import (
"compress/gzip"
"context"
"encoding/json"
+ "errors"
"fmt"
"io"
"mime/multipart"
@@ -54,6 +55,7 @@ type Client struct {
Client *http.Client
BaseURL string
RequestInterceptor RequestInterceptor
+ CustomDo RequestInterceptorFunc
ParseDataWhenErrors bool
}
@@ -202,6 +204,11 @@ func (c *Client) Post(ctx context.Context, operationName, query string, respData
f := ChainInterceptor(append([]RequestInterceptor{c.RequestInterceptor}, interceptors...)...)
+ // if custom do is set, use it instead of the default one
+ if c.CustomDo != nil {
+ return f(ctx, req, gqlInfo, respData, c.CustomDo)
+ }
+
return f(ctx, req, gqlInfo, respData, c.do)
}
@@ -332,9 +339,10 @@ func (c *Client) parseResponse(body []byte, httpCode int, result interface{}) er
// some servers return a graphql error with a non OK http code, try anyway to parse the body
if err := c.unmarshal(body, result); err != nil {
- if gqlErr, ok := err.(*GqlErrorList); ok {
+ var gqlErr *GqlErrorList
+ if errors.As(err, &gqlErr) {
errResponse.GqlErrors = &gqlErr.Errors
- } else if !isKOCode { // if is KO code there is already the http error, this error should not be returned
+ } else if !isKOCode {
return err
}
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/.gitignore b/vendor/github.com/aws/aws-sdk-go-v2/.gitignore
deleted file mode 100644
index 5f8b8c94..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/.gitignore
+++ /dev/null
@@ -1,14 +0,0 @@
-dist
-/doc
-/doc-staging
-.yardoc
-Gemfile.lock
-/internal/awstesting/integration/smoke/**/importmarker__.go
-/internal/awstesting/integration/smoke/_test/
-/vendor
-/private/model/cli/gen-api/gen-api
-.gradle/
-build/
-.idea/
-bin/
-.vscode/
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/.golangci.toml b/vendor/github.com/aws/aws-sdk-go-v2/.golangci.toml
deleted file mode 100644
index 8792d0ca..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/.golangci.toml
+++ /dev/null
@@ -1,27 +0,0 @@
-[run]
-concurrency = 4
-timeout = "1m"
-issues-exit-code = 0
-modules-download-mode = "readonly"
-allow-parallel-runners = true
-skip-dirs = ["internal/repotools"]
-skip-dirs-use-default = true
-skip-files = ["service/transcribestreaming/eventstream_test.go"]
-[output]
-format = "github-actions"
-
-[linters-settings.cyclop]
-skip-tests = false
-
-[linters-settings.errcheck]
-check-blank = true
-
-[linters]
-disable-all = true
-enable = ["errcheck"]
-fast = false
-
-[issues]
-exclude-use-default = false
-
-# Refer config definitions at https://golangci-lint.run/usage/configuration/#config-file
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/.travis.yml b/vendor/github.com/aws/aws-sdk-go-v2/.travis.yml
deleted file mode 100644
index 4b498a7a..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/.travis.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-language: go
-sudo: true
-dist: bionic
-
-branches:
- only:
- - main
-
-os:
- - linux
- - osx
- # Travis doesn't work with windows and Go tip
- #- windows
-
-go:
- - tip
-
-matrix:
- allow_failures:
- - go: tip
-
-before_install:
- - if [ "$TRAVIS_OS_NAME" = "windows" ]; then choco install make; fi
- - (cd /tmp/; go get golang.org/x/lint/golint)
-
-env:
- - EACHMODULE_CONCURRENCY=4
-
-script:
- - make ci-test-no-generate;
-
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/CHANGELOG.md
deleted file mode 100644
index 48105a44..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/CHANGELOG.md
+++ /dev/null
@@ -1,12065 +0,0 @@
-# Release (2023-11-01)
-
-## General Highlights
-* **Feature**: Adds support for configured endpoints via environment variables and the AWS shared configuration file.
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.74.0](service/connect/CHANGELOG.md#v1740-2023-11-01)
- * **Feature**: Adds the BatchGetFlowAssociation API which returns flow associations (flow-resource) corresponding to the list of resourceArns supplied in the request. This release also adds IsDefault, LastModifiedRegion and LastModifiedTime fields to the responses of several Describe and List APIs.
-* `github.com/aws/aws-sdk-go-v2/service/globalaccelerator`: [v1.19.0](service/globalaccelerator/CHANGELOG.md#v1190-2023-11-01)
- * **Feature**: Global Accelerator now support accelerators with cross account endpoints.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.61.0](service/rds/CHANGELOG.md#v1610-2023-11-01)
- * **Feature**: This release adds support for customized networking resources to Amazon RDS Custom.
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.35.0](service/redshift/CHANGELOG.md#v1350-2023-11-01)
- * **Feature**: Added support for Multi-AZ deployments for Provisioned RA3 clusters that provide 99.99% SLA availability.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.115.0](service/sagemaker/CHANGELOG.md#v11150-2023-11-01)
- * **Feature**: Support for batch transform input in Model dashboard
-
-# Release (2023-10-31)
-
-## General Highlights
-* **Feature**: **BREAKING CHANGE**: Bump minimum go version to 1.19 per the revised [go version support policy](https://aws.amazon.com/blogs/developer/aws-sdk-for-go-aligns-with-go-release-policy-on-supported-runtimes/).
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/amplify`: [v1.16.0](service/amplify/CHANGELOG.md#v1160-2023-10-31)
- * **Feature**: Add backend field to CreateBranch and UpdateBranch requests. Add pagination support for ListApps, ListDomainAssociations, ListBranches, and ListJobs
-* `github.com/aws/aws-sdk-go-v2/service/applicationinsights`: [v1.20.0](service/applicationinsights/CHANGELOG.md#v1200-2023-10-31)
- * **Feature**: Automate attaching managed policies
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.129.0](service/ec2/CHANGELOG.md#v11290-2023-10-31)
- * **Feature**: Capacity Blocks for ML are a new EC2 purchasing option for reserving GPU instances on a future date to support short duration machine learning (ML) workloads. Capacity Blocks automatically place instances close together inside Amazon EC2 UltraClusters for low-latency, high-throughput networking.
-* `github.com/aws/aws-sdk-go-v2/service/m2`: [v1.8.0](service/m2/CHANGELOG.md#v180-2023-10-31)
- * **Feature**: Added name filter ability for ListDataSets API, added ForceUpdate for Updating environment and BatchJob submission using S3BatchJobIdentifier
-* `github.com/aws/aws-sdk-go-v2/service/neptunedata`: [v1.1.0](service/neptunedata/CHANGELOG.md#v110-2023-10-31)
- * **Feature**: Minor change to not retry CancelledByUserException
-* `github.com/aws/aws-sdk-go-v2/service/translate`: [v1.20.0](service/translate/CHANGELOG.md#v1200-2023-10-31)
- * **Feature**: Added support for Brevity translation settings feature.
-
-# Release (2023-10-30)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.72.0](service/connect/CHANGELOG.md#v1720-2023-10-30)
- * **Feature**: This release adds InstanceId field for phone number APIs.
-* `github.com/aws/aws-sdk-go-v2/service/dataexchange`: [v1.22.0](service/dataexchange/CHANGELOG.md#v1220-2023-10-30)
- * **Feature**: We added a new API action: SendDataSetNotification.
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.30.0](service/datasync/CHANGELOG.md#v1300-2023-10-30)
- * **Feature**: Platform version changes to support AL1 deprecation initiative.
-* `github.com/aws/aws-sdk-go-v2/service/finspace`: [v1.14.0](service/finspace/CHANGELOG.md#v1140-2023-10-30)
- * **Feature**: Introducing new API UpdateKxClusterCodeConfiguration, introducing new cache types for clusters and introducing new deployment modes for updating clusters.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagev2`: [v1.4.0](service/mediapackagev2/CHANGELOG.md#v140-2023-10-30)
- * **Feature**: This feature allows customers to create a combination of manifest filtering, startover and time delay configuration that applies to all egress requests by default.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.59.0](service/rds/CHANGELOG.md#v1590-2023-10-30)
- * **Feature**: This release launches the CreateIntegration, DeleteIntegration, and DescribeIntegrations APIs to manage zero-ETL Integrations.
-* `github.com/aws/aws-sdk-go-v2/service/redshiftserverless`: [v1.9.0](service/redshiftserverless/CHANGELOG.md#v190-2023-10-30)
- * **Feature**: Added support for custom domain names for Amazon Redshift Serverless workgroups. This feature enables customers to create a custom domain name and use ACM to generate fully secure connections to it.
-* `github.com/aws/aws-sdk-go-v2/service/resiliencehub`: [v1.14.0](service/resiliencehub/CHANGELOG.md#v1140-2023-10-30)
- * **Feature**: Introduced the ability to filter applications by their last assessment date and time and have included metrics for the application's estimated workload Recovery Time Objective (RTO) and estimated workload Recovery Point Objective (RPO).
-* `github.com/aws/aws-sdk-go-v2/service/s3outposts`: [v1.19.0](service/s3outposts/CHANGELOG.md#v1190-2023-10-30)
- * **Feature**: Updated ListOutpostsWithS3 API response to include S3OutpostArn for use with AWS RAM.
-* `github.com/aws/aws-sdk-go-v2/service/wisdom`: [v1.16.1](service/wisdom/CHANGELOG.md#v1161-2023-10-30)
- * **Documentation**: This release added necessary API documents on creating a Wisdom knowledge base to integrate with S3.
-
-# Release (2023-10-27)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.30.0](service/emr/CHANGELOG.md#v1300-2023-10-27)
- * **Feature**: Updated CreateCluster API request and DescribeCluster API responses to include EbsRootVolumeIops, and EbsRootVolumeThroughput attributes that specify the user configured root volume IOPS and throughput for Amazon EBS root device volume. This feature will be available from Amazon EMR releases 6.15.0
-* `github.com/aws/aws-sdk-go-v2/service/neptune`: [v1.24.0](service/neptune/CHANGELOG.md#v1240-2023-10-27)
- * **Feature**: Update TdeCredentialPassword type to SensitiveString
-* `github.com/aws/aws-sdk-go-v2/service/pinpoint`: [v1.23.1](service/pinpoint/CHANGELOG.md#v1231-2023-10-27)
- * **Documentation**: Updated documentation to describe the case insensitivity for EndpointIds.
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.33.0](service/redshift/CHANGELOG.md#v1330-2023-10-27)
- * **Feature**: added support to create a dual stack cluster
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.40.1](service/wafv2/CHANGELOG.md#v1401-2023-10-27)
- * **Documentation**: Updates the descriptions for the calls that manage web ACL associations, to provide information for customer-managed IAM policies.
-
-# Release (2023-10-26)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.26.0](service/appstream/CHANGELOG.md#v1260-2023-10-26)
- * **Feature**: This release introduces multi-session fleets, allowing customers to provision more than one user session on a single fleet instance.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.128.0](service/ec2/CHANGELOG.md#v11280-2023-10-26)
- * **Feature**: Launching GetSecurityGroupsForVpc API. This API gets security groups that can be associated by the AWS account making the request with network interfaces in the specified VPC.
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.32.0](service/networkfirewall/CHANGELOG.md#v1320-2023-10-26)
- * **Feature**: Network Firewall now supports inspection of outbound SSL/TLS traffic.
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.23.0](service/opensearch/CHANGELOG.md#v1230-2023-10-26)
- * **Feature**: You can specify ipv4 or dualstack IPAddressType for cluster endpoints. If you specify IPAddressType as dualstack, the new endpoint will be visible under the 'EndpointV2' parameter and will support IPv4 and IPv6 requests. Whereas, the 'Endpoint' will continue to serve IPv4 requests.
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.32.0](service/redshift/CHANGELOG.md#v1320-2023-10-26)
- * **Feature**: Add Redshift APIs GetResourcePolicy, DeleteResourcePolicy, PutResourcePolicy and DescribeInboundIntegrations for the new Amazon Redshift Zero-ETL integration feature, which can be used to control data ingress into Redshift namespace, and view inbound integrations.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.113.0](service/sagemaker/CHANGELOG.md#v11130-2023-10-26)
- * **Feature**: Amazon Sagemaker Autopilot now supports Text Generation jobs.
-* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.23.0](service/sns/CHANGELOG.md#v1230-2023-10-26)
- * **Feature**: Message Archiving and Replay is now supported in Amazon SNS for FIFO topics.
-* `github.com/aws/aws-sdk-go-v2/service/ssmsap`: [v1.6.0](service/ssmsap/CHANGELOG.md#v160-2023-10-26)
- * **Feature**: AWS Systems Manager for SAP added support for registration and discovery of SAP ABAP applications
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.35.0](service/transfer/CHANGELOG.md#v1350-2023-10-26)
- * **Feature**: No API changes from previous release. This release migrated the model to Smithy keeping all features unchanged.
-
-# Release (2023-10-25)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connectcases`: [v1.8.0](service/connectcases/CHANGELOG.md#v180-2023-10-25)
- * **Feature**: Increase maximum length of CommentBody to 3000, and increase maximum length of StringValue to 1500
-* `github.com/aws/aws-sdk-go-v2/service/groundstation`: [v1.20.0](service/groundstation/CHANGELOG.md#v1200-2023-10-25)
- * **Feature**: This release will allow KMS alias names to be used when creating Mission Profiles
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.24.0](service/iam/CHANGELOG.md#v1240-2023-10-25)
- * **Feature**: Updates to GetAccessKeyLastUsed action to replace NoSuchEntity error with AccessDeniedException error.
-
-# Release (2023-10-24)
-
-## General Highlights
-* **Feature**: **BREAKFIX**: Correct nullability and default value representation of various input fields across a large number of services. Calling code that references one or more of the affected fields will need to update usage accordingly. See [2162](https://github.com/aws/aws-sdk-go-v2/issues/2162).
-* **Feature**: **BREAKFIX**: Correct nullability representation of APIGateway-based services.
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/codepipeline`: [v1.18.0](service/codepipeline/CHANGELOG.md#v1180-2023-10-24)
- * **Feature**: Add ability to trigger pipelines from git tags, define variables at pipeline level and new pipeline type V2.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.127.0](service/ec2/CHANGELOG.md#v11270-2023-10-24)
- * **Feature**: This release updates the documentation for InstanceInterruptionBehavior and HibernationOptionsRequest to more accurately describe the behavior of these two parameters when using Spot hibernation.
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.30.0](service/eks/CHANGELOG.md#v1300-2023-10-24)
- * **Feature**: Added support for Cluster Subnet and Security Group mutability.
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.23.0](service/iam/CHANGELOG.md#v1230-2023-10-24)
- * **Feature**: Add the partitional endpoint for IAM in iso-f.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubconfig`: [v1.16.0](service/migrationhubconfig/CHANGELOG.md#v1160-2023-10-24)
- * **Feature**: This release introduces DeleteHomeRegionControl API that customers can use to delete the Migration Hub Home Region configuration
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubstrategy`: [v1.12.0](service/migrationhubstrategy/CHANGELOG.md#v1120-2023-10-24)
- * **Feature**: This release introduces multi-data-source feature in Migration Hub Strategy Recommendations. This feature now supports vCenter as a data source to fetch inventory in addition to ADS and Import from file workflow that is currently supported with MHSR collector.
-* `github.com/aws/aws-sdk-go-v2/service/opensearchserverless`: [v1.6.0](service/opensearchserverless/CHANGELOG.md#v160-2023-10-24)
- * **Feature**: This release includes the following new APIs: CreateLifecyclePolicy, UpdateLifecyclePolicy, BatchGetLifecyclePolicy, DeleteLifecyclePolicy, ListLifecyclePolicies and BatchGetEffectiveLifecyclePolicy to support the data lifecycle management feature.
-
-# Release (2023-10-23)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/marketplacecommerceanalytics`: [v1.15.0](service/marketplacecommerceanalytics/CHANGELOG.md#v1150-2023-10-23)
- * **Feature**: The StartSupportDataExport operation has been deprecated as part of the Product Support Connection deprecation. As of December 2022, Product Support Connection is no longer supported.
-* `github.com/aws/aws-sdk-go-v2/service/networkmanager`: [v1.20.0](service/networkmanager/CHANGELOG.md#v1200-2023-10-23)
- * **Feature**: This release adds API support for Tunnel-less Connect (NoEncap Protocol) for AWS Cloud WAN
-* `github.com/aws/aws-sdk-go-v2/service/redshiftserverless`: [v1.8.0](service/redshiftserverless/CHANGELOG.md#v180-2023-10-23)
- * **Feature**: This release adds support for customers to see the patch version and workgroup version in Amazon Redshift Serverless.
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.32.0](service/rekognition/CHANGELOG.md#v1320-2023-10-23)
- * **Feature**: Amazon Rekognition introduces StartMediaAnalysisJob, GetMediaAnalysisJob, and ListMediaAnalysisJobs operations to run a bulk analysis of images with a Detect Moderation model.
-
-# Release (2023-10-20)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.22.0](service/appconfig/CHANGELOG.md#v1220-2023-10-20)
- * **Feature**: Update KmsKeyIdentifier constraints to support AWS KMS multi-Region keys.
-* `github.com/aws/aws-sdk-go-v2/service/appintegrations`: [v1.19.0](service/appintegrations/CHANGELOG.md#v1190-2023-10-20)
- * **Feature**: Updated ScheduleConfig to be an optional input to CreateDataIntegration to support event driven downloading of files from sources such as Amazon s3 using Amazon Connect AppIntegrations.
-* `github.com/aws/aws-sdk-go-v2/service/applicationdiscoveryservice`: [v1.19.0](service/applicationdiscoveryservice/CHANGELOG.md#v1190-2023-10-20)
- * **Feature**: This release introduces three new APIs: StartBatchDeleteConfigurationTask, DescribeBatchDeleteConfigurationTask, and BatchDeleteAgents.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.70.0](service/connect/CHANGELOG.md#v1700-2023-10-20)
- * **Feature**: This release adds support for updating phone number metadata, such as phone number description.
-* `github.com/aws/aws-sdk-go-v2/service/medicalimaging`: [v1.2.3](service/medicalimaging/CHANGELOG.md#v123-2023-10-20)
- * **Documentation**: Updates on documentation links
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.39.0](service/ssm/CHANGELOG.md#v1390-2023-10-20)
- * **Feature**: This release introduces a new API: DeleteOpsItem. This allows deletion of an OpsItem.
-
-# Release (2023-10-19)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.126.0](service/ec2/CHANGELOG.md#v11260-2023-10-19)
- * **Feature**: Amazon EC2 C7a instances, powered by 4th generation AMD EPYC processors, are ideal for high performance, compute-intensive workloads such as high performance computing. Amazon EC2 R7i instances are next-generation memory optimized and powered by custom 4th Generation Intel Xeon Scalable processors.
-* `github.com/aws/aws-sdk-go-v2/service/managedblockchainquery`: [v1.3.0](service/managedblockchainquery/CHANGELOG.md#v130-2023-10-19)
- * **Feature**: This release adds support for Ethereum Sepolia network
-* `github.com/aws/aws-sdk-go-v2/service/neptunedata`: [v1.0.4](service/neptunedata/CHANGELOG.md#v104-2023-10-19)
- * **Documentation**: Doc changes to add IAM action mappings for the data actions.
-* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.11.0](service/omics/CHANGELOG.md#v1110-2023-10-19)
- * **Feature**: This change enables customers to retrieve failure reasons with detailed status messages for their failed runs
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.21.0](service/opensearch/CHANGELOG.md#v1210-2023-10-19)
- * **Feature**: Added Cluster Administrative options for node restart, opensearch process restart and opensearch dashboard restart for Multi-AZ without standby domains
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.46.0](service/quicksight/CHANGELOG.md#v1460-2023-10-19)
- * **Feature**: This release adds the following: 1) Trino and Starburst Database Connectors 2) Custom total for tables and pivot tables 3) Enable restricted folders 4) Add rolling dates for time equality filters 5) Refine DataPathValue and introduce DataPathType 6) Add SeriesType to ReferenceLineDataConfiguration
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.21.6](service/secretsmanager/CHANGELOG.md#v1216-2023-10-19)
- * **Documentation**: Documentation updates for Secrets Manager
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.22.0](service/servicecatalog/CHANGELOG.md#v1220-2023-10-19)
- * **Feature**: Introduce support for EXTERNAL product and provisioning artifact type in CreateProduct and CreateProvisioningArtifact APIs.
-* `github.com/aws/aws-sdk-go-v2/service/verifiedpermissions`: [v1.3.0](service/verifiedpermissions/CHANGELOG.md#v130-2023-10-19)
- * **Feature**: Improving Amazon Verified Permissions Create experience
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.31.3](service/workspaces/CHANGELOG.md#v1313-2023-10-19)
- * **Documentation**: Documentation updates for WorkSpaces
-
-# Release (2023-10-18)
-
-## General Highlights
-* **Feature**: Add handwritten paginators that were present in some services in the v1 SDK.
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloud9`: [v1.18.11](service/cloud9/CHANGELOG.md#v11811-2023-10-18)
- * **Documentation**: Update to imageId parameter behavior and dates updated.
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.23.0](service/dynamodb/CHANGELOG.md#v1230-2023-10-18)
- * **Documentation**: Updating descriptions for several APIs.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.44.0](service/kendra/CHANGELOG.md#v1440-2023-10-18)
- * **Feature**: Changes for a new feature in Amazon Kendra's Query API to Collapse/Expand query results
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.57.0](service/rds/CHANGELOG.md#v1570-2023-10-18)
- * **Feature**: This release adds support for upgrading the storage file system configuration on the DB instance using a blue/green deployment or a read replica.
-* `github.com/aws/aws-sdk-go-v2/service/wisdom`: [v1.16.0](service/wisdom/CHANGELOG.md#v1160-2023-10-18)
- * **Feature**: This release adds an max limit of 25 recommendation ids for NotifyRecommendationsReceived API.
-
-# Release (2023-10-17)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/applicationdiscoveryservice`: [v1.18.0](service/applicationdiscoveryservice/CHANGELOG.md#v1180-2023-10-17)
- * **Feature**: This release introduces three new APIs: StartBatchDeleteConfigurationTask, DescribeBatchDeleteConfigurationTask, and BatchDeleteAgents.
-* `github.com/aws/aws-sdk-go-v2/service/codepipeline`: [v1.17.0](service/codepipeline/CHANGELOG.md#v1170-2023-10-17)
- * **Feature**: Add retryMode ALL_ACTIONS to RetryStageExecution API that retries a failed stage starting from first action in the stage
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.30.4](service/ecs/CHANGELOG.md#v1304-2023-10-17)
- * **Documentation**: Documentation only updates to address Amazon ECS tickets.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.29.0](service/guardduty/CHANGELOG.md#v1290-2023-10-17)
- * **Feature**: Add domainWithSuffix finding field to dnsRequestAction
-* `github.com/aws/aws-sdk-go-v2/service/kafka`: [v1.23.0](service/kafka/CHANGELOG.md#v1230-2023-10-17)
- * **Feature**: AWS Managed Streaming for Kafka is launching MSK Replicator, a new feature that enables customers to reliably replicate data across Amazon MSK clusters in same or different AWS regions. You can now use SDK to create, list, describe, delete, update, and manage tags of MSK Replicators.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycluster`: [v1.14.0](service/route53recoverycluster/CHANGELOG.md#v1140-2023-10-17)
- * **Feature**: Adds Owner field to ListRoutingControls API.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig`: [v1.14.0](service/route53recoverycontrolconfig/CHANGELOG.md#v1140-2023-10-17)
- * **Feature**: Adds permissions for GetResourcePolicy to support returning details about AWS Resource Access Manager resource policies for shared resources.
-
-# Release (2023-10-16)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.19.0](config/CHANGELOG.md#v1190-2023-10-16)
- * **Feature**: Modify logic of retrieving user agent appID from env config
-* `github.com/aws/aws-sdk-go-v2/feature/cloudfront/sign`: [v1.4.0](feature/cloudfront/sign/CHANGELOG.md#v140-2023-10-16)
- * **Feature**: Add support for loading PKCS8-formatted private keys.
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.35.0](service/cloudformation/CHANGELOG.md#v1350-2023-10-16)
- * **Feature**: SDK and documentation updates for UpdateReplacePolicy
-* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.17.0](service/drs/CHANGELOG.md#v1170-2023-10-16)
- * **Feature**: Updated exsiting API to allow AWS Elastic Disaster Recovery support of launching recovery into existing EC2 instances.
-* `github.com/aws/aws-sdk-go-v2/service/entityresolution`: [v1.3.0](service/entityresolution/CHANGELOG.md#v130-2023-10-16)
- * **Feature**: This launch expands our matching techniques to include provider-based matching to help customer match, link, and enhance records with minimal data movement. With data service providers, we have removed the need for customers to build bespoke integrations,.
-* `github.com/aws/aws-sdk-go-v2/service/managedblockchainquery`: [v1.2.0](service/managedblockchainquery/CHANGELOG.md#v120-2023-10-16)
- * **Feature**: This release introduces two new APIs: GetAssetContract and ListAssetContracts. This release also adds support for Bitcoin Testnet.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagev2`: [v1.3.0](service/mediapackagev2/CHANGELOG.md#v130-2023-10-16)
- * **Feature**: This release allows customers to manage MediaPackage v2 resource using CloudFormation.
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.20.0](service/opensearch/CHANGELOG.md#v1200-2023-10-16)
- * **Feature**: This release allows customers to list and associate optional plugin packages with compatible Amazon OpenSearch Service clusters for enhanced functionality.
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.30.0](service/redshift/CHANGELOG.md#v1300-2023-10-16)
- * **Feature**: Added support for managing credentials of provisioned cluster admin using AWS Secrets Manager.
-* `github.com/aws/aws-sdk-go-v2/service/redshiftserverless`: [v1.7.0](service/redshiftserverless/CHANGELOG.md#v170-2023-10-16)
- * **Feature**: Added support for managing credentials of serverless namespace admin using AWS Secrets Manager.
-* `github.com/aws/aws-sdk-go-v2/service/sesv2`: [v1.21.0](service/sesv2/CHANGELOG.md#v1210-2023-10-16)
- * **Feature**: This release provides enhanced visibility into your SES identity verification status. This will offer you more actionable insights, enabling you to promptly address any verification-related issues.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.34.2](service/transfer/CHANGELOG.md#v1342-2023-10-16)
- * **Documentation**: Documentation updates for AWS Transfer Family
-* `github.com/aws/aws-sdk-go-v2/service/xray`: [v1.19.0](service/xray/CHANGELOG.md#v1190-2023-10-16)
- * **Feature**: This releases enhances GetTraceSummaries API to support new TimeRangeType Service to query trace summaries by segment end time.
-
-# Release (2023-10-12)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.21.2
- * **Bug Fix**: Improve recognition of retryable DNS errors.
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.18.45](config/CHANGELOG.md#v11845-2023-10-12)
- * **Bug Fix**: Fail to load config if an explicitly provided profile doesn't exist.
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.27.0](service/auditmanager/CHANGELOG.md#v1270-2023-10-12)
- * **Feature**: This release introduces a new limit to the awsAccounts parameter. When you create or update an assessment, there is now a limit of 200 AWS accounts that can be specified in the assessment scope.
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.31.0](service/autoscaling/CHANGELOG.md#v1310-2023-10-12)
- * **Feature**: Update the NotificationMetadata field to only allow visible ascii characters. Add paginators to DescribeInstanceRefreshes, DescribeLoadBalancers, and DescribeLoadBalancerTargetGroups
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.37.0](service/configservice/CHANGELOG.md#v1370-2023-10-12)
- * **Feature**: Add enums for resource types supported by Config
-* `github.com/aws/aws-sdk-go-v2/service/controltower`: [v1.4.0](service/controltower/CHANGELOG.md#v140-2023-10-12)
- * **Feature**: Added new EnabledControl resource details to ListEnabledControls API and added new GetEnabledControl API.
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.29.0](service/customerprofiles/CHANGELOG.md#v1290-2023-10-12)
- * **Feature**: Adds sensitive trait to various shapes in Customer Profiles Calculated Attribute API model.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.125.0](service/ec2/CHANGELOG.md#v11250-2023-10-12)
- * **Feature**: This release adds Ubuntu Pro as a supported platform for On-Demand Capacity Reservations and adds support for setting an Amazon Machine Image (AMI) to disabled state. Disabling the AMI makes it private if it was previously shared, and prevents new EC2 instance launches from it.
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.21.6](service/elasticloadbalancingv2/CHANGELOG.md#v1216-2023-10-12)
- * **Documentation**: This release enables routing policies with Availability Zone affinity for Network Load Balancers.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.63.0](service/glue/CHANGELOG.md#v1630-2023-10-12)
- * **Feature**: Extending version control support to GitLab and Bitbucket from AWSGlue
-* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.17.0](service/inspector2/CHANGELOG.md#v1170-2023-10-12)
- * **Feature**: Add MacOs ec2 platform support
-* `github.com/aws/aws-sdk-go-v2/service/ivsrealtime`: [v1.5.0](service/ivsrealtime/CHANGELOG.md#v150-2023-10-12)
- * **Feature**: Update GetParticipant to return additional metadata.
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.40.0](service/lambda/CHANGELOG.md#v1400-2023-10-12)
- * **Feature**: Adds support for Lambda functions to access Dual-Stack subnets over IPv6, via an opt-in flag in CreateFunction and UpdateFunctionConfiguration APIs
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.28.0](service/location/CHANGELOG.md#v1280-2023-10-12)
- * **Feature**: This release adds endpoint updates for all AWS Location resource operations.
-* `github.com/aws/aws-sdk-go-v2/service/machinelearning`: [v1.18.0](service/machinelearning/CHANGELOG.md#v1180-2023-10-12)
- * **Feature**: This release marks Password field as sensitive
-* `github.com/aws/aws-sdk-go-v2/service/pricing`: [v1.21.9](service/pricing/CHANGELOG.md#v1219-2023-10-12)
- * **Documentation**: Documentation updates for Price List
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.56.0](service/rds/CHANGELOG.md#v1560-2023-10-12)
- * **Feature**: This release adds support for adding a dedicated log volume to open-source RDS instances.
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.31.0](service/rekognition/CHANGELOG.md#v1310-2023-10-12)
- * **Feature**: Amazon Rekognition introduces support for Custom Moderation. This allows the enhancement of accuracy for detect moderation labels operations by creating custom adapters tuned on customer data.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.111.0](service/sagemaker/CHANGELOG.md#v11110-2023-10-12)
- * **Feature**: Amazon SageMaker Canvas adds KendraSettings and DirectDeploySettings support for CanvasAppSettings
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.25.0](service/textract/CHANGELOG.md#v1250-2023-10-12)
- * **Feature**: This release adds 9 new APIs for adapter and adapter version management, 3 new APIs for tagging, and updates AnalyzeDocument and StartDocumentAnalysis API parameters for using adapters.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.29.0](service/transcribe/CHANGELOG.md#v1290-2023-10-12)
- * **Feature**: This release is to enable m4a format to customers
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.31.2](service/workspaces/CHANGELOG.md#v1312-2023-10-12)
- * **Documentation**: Updated the CreateWorkspaces action documentation to clarify that the PCoIP protocol is only available for Windows bundles.
-
-# Release (2023-10-06)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.124.0](service/ec2/CHANGELOG.md#v11240-2023-10-06)
- * **Feature**: Documentation updates for Elastic Compute Cloud (EC2).
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.33.0](service/fsx/CHANGELOG.md#v1330-2023-10-06)
- * **Feature**: After performing steps to repair the Active Directory configuration of a file system, use this action to initiate the process of attempting to recover to the file system.
-* `github.com/aws/aws-sdk-go-v2/service/marketplacecatalog`: [v1.18.0](service/marketplacecatalog/CHANGELOG.md#v1180-2023-10-06)
- * **Feature**: This release adds support for Document type as an alternative for stringified JSON for StartChangeSet, DescribeChangeSet and DescribeEntity APIs
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.45.0](service/quicksight/CHANGELOG.md#v1450-2023-10-06)
- * **Feature**: NullOption in FilterListConfiguration; Dataset schema/table max length increased; Support total placement for pivot table visual; Lenient mode relaxes the validation to create resources with definition; Data sources can be added to folders; Redshift data sources support IAM Role-based authentication
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.34.0](service/transfer/CHANGELOG.md#v1340-2023-10-06)
- * **Feature**: This release updates the max character limit of PreAuthenticationLoginBanner and PostAuthenticationLoginBanner to 4096 characters
-
-# Release (2023-10-05)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.10.0](service/omics/CHANGELOG.md#v1100-2023-10-05)
- * **Feature**: Add Etag Support for Omics Storage in ListReadSets and GetReadSetMetadata API
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.55.1](service/rds/CHANGELOG.md#v1551-2023-10-05)
- * **Documentation**: Updates Amazon RDS documentation for corrections and minor improvements.
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.30.0](service/route53/CHANGELOG.md#v1300-2023-10-05)
- * **Feature**: Add hostedzonetype filter to ListHostedZones API.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.37.0](service/securityhub/CHANGELOG.md#v1370-2023-10-05)
- * **Feature**: Added new resource detail objects to ASFF, including resources for AwsEventsEventbus, AwsEventsEndpoint, AwsDmsEndpoint, AwsDmsReplicationTask, AwsDmsReplicationInstance, AwsRoute53HostedZone, and AwsMskCluster
-* `github.com/aws/aws-sdk-go-v2/service/storagegateway`: [v1.21.0](service/storagegateway/CHANGELOG.md#v1210-2023-10-05)
- * **Feature**: Add SoftwareVersion to response of DescribeGatewayInformation.
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.31.0](service/workspaces/CHANGELOG.md#v1310-2023-10-05)
- * **Feature**: This release introduces Manage applications. This feature allows users to manage their WorkSpaces applications by associating or disassociating their WorkSpaces with applications. The DescribeWorkspaces API will now additionally return OperatingSystemName in its responses.
-
-# Release (2023-10-04)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.21.0](service/appconfig/CHANGELOG.md#v1210-2023-10-04)
- * **Feature**: AWS AppConfig introduces KMS customer-managed key (CMK) encryption support for data saved to AppConfig's hosted configuration store.
-* `github.com/aws/aws-sdk-go-v2/service/datazone`: [v1.0.0](service/datazone/CHANGELOG.md#v100-2023-10-04)
- * **Release**: New AWS service client module
- * **Feature**: Initial release of Amazon DataZone
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.28.0](service/mediatailor/CHANGELOG.md#v1280-2023-10-04)
- * **Feature**: Updates DescribeVodSource to include a list of ad break opportunities in the response
-* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.21.0](service/mgn/CHANGELOG.md#v1210-2023-10-04)
- * **Feature**: This release includes the following new APIs: ListConnectors, CreateConnector, UpdateConnector, DeleteConnector and UpdateSourceServer to support the source action framework feature.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.110.0](service/sagemaker/CHANGELOG.md#v11100-2023-10-04)
- * **Feature**: Adding support for AdditionalS3DataSource, a data source used for training or inference that is in addition to the input dataset or model data.
-
-# Release (2023-10-03)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.69.0](service/connect/CHANGELOG.md#v1690-2023-10-03)
- * **Feature**: GetMetricDataV2 API: Update to include new metrics CONTACTS_RESOLVED_IN_X , AVG_HOLD_TIME_ALL_CONTACTS , AVG_RESOLUTION_TIME , ABANDONMENT_RATE , AGENT_NON_RESPONSE_WITHOUT_CUSTOMER_ABANDONS with added features: Interval Period, TimeZone, Negate MetricFilters, Extended date time range.
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.27.0](service/location/CHANGELOG.md#v1270-2023-10-03)
- * **Feature**: Amazon Location Service adds support for bounding polygon queries. Additionally, the GeofenceCount field has been added to the DescribeGeofenceCollection API response.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.43.0](service/mediaconvert/CHANGELOG.md#v1430-2023-10-03)
- * **Feature**: This release adds the ability to replace video frames without modifying the audio essence.
-* `github.com/aws/aws-sdk-go-v2/service/oam`: [v1.4.0](service/oam/CHANGELOG.md#v140-2023-10-03)
- * **Feature**: This release adds support for sharing AWS::ApplicationInsights::Application resources.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.109.0](service/sagemaker/CHANGELOG.md#v11090-2023-10-03)
- * **Feature**: This release allows users to run Selective Execution in SageMaker Pipelines without SourcePipelineExecutionArn if selected steps do not have any dependent steps.
-* `github.com/aws/aws-sdk-go-v2/service/wellarchitected`: [v1.23.0](service/wellarchitected/CHANGELOG.md#v1230-2023-10-03)
- * **Feature**: AWS Well-Architected now supports Review Templates that allows you to create templates with pre-filled answers for Well-Architected and Custom Lens best practices.
-
-# Release (2023-10-02)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/bedrock`: [v1.1.0](service/bedrock/CHANGELOG.md#v110-2023-10-02)
- * **Feature**: Provisioned throughput feature with Amazon and third-party base models, and update validators for model identifier and taggable resource ARNs.
-* `github.com/aws/aws-sdk-go-v2/service/bedrockruntime`: [v1.1.0](service/bedrockruntime/CHANGELOG.md#v110-2023-10-02)
- * **Feature**: Add model timeout exception for InvokeModelWithResponseStream API and update validator for invoke model identifier.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.123.0](service/ec2/CHANGELOG.md#v11230-2023-10-02)
- * **Feature**: Introducing Amazon EC2 R7iz instances with 3.9 GHz sustained all-core turbo frequency and deliver up to 20% better performance than previous generation z1d instances.
-* `github.com/aws/aws-sdk-go-v2/service/managedblockchain`: [v1.16.6](service/managedblockchain/CHANGELOG.md#v1166-2023-10-02)
- * **Documentation**: Remove Rinkeby as option from Ethereum APIs
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.55.0](service/rds/CHANGELOG.md#v1550-2023-10-02)
- * **Feature**: Adds DefaultCertificateForNewLaunches field in the DescribeCertificates API response.
-* `github.com/aws/aws-sdk-go-v2/service/sso`: [v1.15.0](service/sso/CHANGELOG.md#v1150-2023-10-02)
- * **Feature**: Fix FIPS Endpoints in aws-us-gov.
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.23.0](service/sts/CHANGELOG.md#v1230-2023-10-02)
- * **Feature**: STS API updates for assumeRole
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.33.9](service/transfer/CHANGELOG.md#v1339-2023-10-02)
- * **Documentation**: Documentation updates for AWS Transfer Family
-
-# Release (2023-09-28)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/bedrock`: [v1.0.0](service/bedrock/CHANGELOG.md#v100-2023-09-28)
- * **Release**: New AWS service client module
- * **Feature**: Model Invocation logging added to enable or disable logs in customer account. Model listing and description support added. Provisioned Throughput feature added. Custom model support added for creating custom models. Also includes list, and delete functions for custom model.
-* `github.com/aws/aws-sdk-go-v2/service/bedrockruntime`: [v1.0.0](service/bedrockruntime/CHANGELOG.md#v100-2023-09-28)
- * **Release**: New AWS service client module
- * **Feature**: Run Inference: Added support to run the inference on models. Includes set of APIs for running inference in streaming and non-streaming mode.
-* `github.com/aws/aws-sdk-go-v2/service/budgets`: [v1.17.0](service/budgets/CHANGELOG.md#v1170-2023-09-28)
- * **Feature**: Update DescribeBudgets and DescribeBudgetNotificationsForAccount MaxResults limit to 1000.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.122.0](service/ec2/CHANGELOG.md#v11220-2023-09-28)
- * **Feature**: Adds support for Customer Managed Key encryption for Amazon Verified Access resources
-* `github.com/aws/aws-sdk-go-v2/service/iotfleetwise`: [v1.6.0](service/iotfleetwise/CHANGELOG.md#v160-2023-09-28)
- * **Feature**: AWS IoT FleetWise now supports encryption through a customer managed AWS KMS key. The PutEncryptionConfiguration and GetEncryptionConfiguration APIs were added.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.108.0](service/sagemaker/CHANGELOG.md#v11080-2023-09-28)
- * **Feature**: Online store feature groups supports Standard and InMemory tier storage types for low latency storage for real-time data retrieval. The InMemory tier supports collection types List, Set, and Vector.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerfeaturestoreruntime`: [v1.18.0](service/sagemakerfeaturestoreruntime/CHANGELOG.md#v1180-2023-09-28)
- * **Feature**: Feature Store supports read/write of records with collection type features.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.39.1](service/wafv2/CHANGELOG.md#v1391-2023-09-28)
- * **Documentation**: Correct and improve the documentation for the FieldToMatch option JA3 fingerprint.
-
-# Release (2023-09-27)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.27.0](service/cognitoidentityprovider/CHANGELOG.md#v1270-2023-09-27)
- * **Feature**: The UserPoolType Status field is no longer used.
-* `github.com/aws/aws-sdk-go-v2/service/firehose`: [v1.19.0](service/firehose/CHANGELOG.md#v1190-2023-09-27)
- * **Feature**: Features : Adding support for new data ingestion source to Kinesis Firehose - AWS Managed Services Kafka.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.40.0](service/iot/CHANGELOG.md#v1400-2023-09-27)
- * **Feature**: Added support for IoT Rules Engine Kafka Action Headers
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.24.0](service/textract/CHANGELOG.md#v1240-2023-09-27)
- * **Feature**: This release adds new feature - Layout to Analyze Document API which can automatically extract layout elements such as titles, paragraphs, headers, section headers, lists, page numbers, footers, table areas, key-value areas and figure areas and order the elements as a human would read.
-
-# Release (2023-09-26)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appintegrations`: [v1.18.0](service/appintegrations/CHANGELOG.md#v1180-2023-09-26)
- * **Feature**: The Amazon AppIntegrations service adds a set of APIs (in preview) to manage third party applications to be used in Amazon Connect agent workspace.
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.21.0](service/apprunner/CHANGELOG.md#v1210-2023-09-26)
- * **Feature**: This release allows an App Runner customer to specify a custom source directory to run the build & start command. This change allows App Runner to support monorepo based repositories
-* `github.com/aws/aws-sdk-go-v2/service/codedeploy`: [v1.18.1](service/codedeploy/CHANGELOG.md#v1181-2023-09-26)
- * **Documentation**: CodeDeploy now supports In-place and Blue/Green EC2 deployments with multiple Classic Load Balancers and multiple Target Groups.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.68.0](service/connect/CHANGELOG.md#v1680-2023-09-26)
- * **Feature**: This release updates a set of Amazon Connect APIs that provides the ability to integrate third party applications in the Amazon Connect agent workspace.
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.22.0](service/dynamodb/CHANGELOG.md#v1220-2023-09-26)
- * **Feature**: Amazon DynamoDB now supports Incremental Export as an enhancement to the existing Export Table
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.121.0](service/ec2/CHANGELOG.md#v11210-2023-09-26)
- * **Feature**: The release includes AWS verified access to support FIPs compliance in North America regions
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.24.0](service/lakeformation/CHANGELOG.md#v1240-2023-09-26)
- * **Feature**: This release adds three new API support "CreateLakeFormationOptIn", "DeleteLakeFormationOptIn" and "ListLakeFormationOptIns", and also updates the corresponding documentation.
-* `github.com/aws/aws-sdk-go-v2/service/pinpoint`: [v1.22.6](service/pinpoint/CHANGELOG.md#v1226-2023-09-26)
- * **Documentation**: Update documentation for RemoveAttributes to more accurately reflect its behavior when attributes are deleted.
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.40.0](service/s3/CHANGELOG.md#v1400-2023-09-26)
- * **Feature**: This release adds a new field COMPLETED to the ReplicationStatus Enum. You can now use this field to validate the replication status of S3 objects using the AWS SDK.
-
-# Release (2023-09-25)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder`: [v1.13.0](service/amplifyuibuilder/CHANGELOG.md#v1130-2023-09-25)
- * **Feature**: Support for generating code that is compatible with future versions of amplify project dependencies.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines`: [v1.9.0](service/chimesdkmediapipelines/CHANGELOG.md#v190-2023-09-25)
- * **Feature**: Adds support for sending WebRTC audio to Amazon Kineses Video Streams.
-* `github.com/aws/aws-sdk-go-v2/service/emrserverless`: [v1.11.0](service/emrserverless/CHANGELOG.md#v1110-2023-09-25)
- * **Feature**: This release adds support for application-wide default job configurations.
-* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.17.0](service/finspacedata/CHANGELOG.md#v1170-2023-09-25)
- * **Feature**: Adding sensitive trait to attributes. Change max SessionDuration from 720 to 60. Correct "ApiAccess" attribute to "apiAccess" to maintain consistency between APIs.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.44.0](service/quicksight/CHANGELOG.md#v1440-2023-09-25)
- * **Feature**: Added ability to tag users upon creation.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.38.0](service/ssm/CHANGELOG.md#v1380-2023-09-25)
- * **Feature**: This release updates the enum values for ResourceType in SSM DescribeInstanceInformation input and ConnectionStatus in GetConnectionStatus output.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.39.0](service/wafv2/CHANGELOG.md#v1390-2023-09-25)
- * **Feature**: You can now perform an exact match against the web request's JA3 fingerprint.
-
-# Release (2023-09-22)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.18.42](config/CHANGELOG.md#v11842-2023-09-22)
- * **Bug Fix**: Fixed a bug where merging `max_attempts` or `duration_seconds` fields across shared config files with invalid values would silently default them to 0.
- * **Bug Fix**: Move type assertion of config values out of the parsing stage, which resolves an issue where the contents of a profile would silently be dropped with certain numeric formats.
-* `github.com/aws/aws-sdk-go-v2/internal/ini`: [v1.3.43](internal/ini/CHANGELOG.md#v1343-2023-09-22)
- * **Bug Fix**: Fixed a bug where merging `max_attempts` or `duration_seconds` fields across shared config files with invalid values would silently default them to 0.
- * **Bug Fix**: Move type assertion of config values out of the parsing stage, which resolves an issue where the contents of a profile would silently be dropped with certain numeric formats.
-* `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.20.0](service/braket/CHANGELOG.md#v1200-2023-09-22)
- * **Feature**: This release adds support to view the device queue depth (the number of queued quantum tasks and hybrid jobs on a device) and queue position for a quantum task and hybrid job.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchevents`: [v1.18.0](service/cloudwatchevents/CHANGELOG.md#v1180-2023-09-22)
- * **Feature**: Adds sensitive trait to various shapes in Jetstream Connections API model.
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.31.0](service/databasemigrationservice/CHANGELOG.md#v1310-2023-09-22)
- * **Feature**: new vendors for DMS CSF: MongoDB, MariaDB, DocumentDb and Redshift
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.120.0](service/ec2/CHANGELOG.md#v11200-2023-09-22)
- * **Feature**: EC2 M2 Pro Mac instances are powered by Apple M2 Pro Mac Mini computers featuring 12 core CPU, 19 core GPU, 32 GiB of memory, and 16 core Apple Neural Engine and uniquely enabled by the AWS Nitro System through high-speed Thunderbolt connections.
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.21.7](service/efs/CHANGELOG.md#v1217-2023-09-22)
- * **Documentation**: Documentation updates for Elastic File System
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.28.0](service/guardduty/CHANGELOG.md#v1280-2023-09-22)
- * **Feature**: Add `EKS_CLUSTER_NAME` to filter and sort key.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.42.0](service/mediaconvert/CHANGELOG.md#v1420-2023-09-22)
- * **Feature**: This release supports the creation of of audio-only tracks in CMAF output groups.
-
-# Release (2023-09-20)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.20.0](service/appconfig/CHANGELOG.md#v1200-2023-09-20)
- * **Feature**: Enabling boto3 paginators for list APIs and adding documentation around ServiceQuotaExceededException errors
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.20.0](service/apprunner/CHANGELOG.md#v1200-2023-09-20)
- * **Feature**: This release adds improvements for managing App Runner auto scaling configuration resources. New APIs: UpdateDefaultAutoScalingConfiguration and ListServicesForAutoScalingConfiguration. Updated API: DeleteAutoScalingConfiguration.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.24.0](service/cloudwatchlogs/CHANGELOG.md#v1240-2023-09-20)
- * **Feature**: Add ClientToken to QueryDefinition CFN Handler in CWL
-* `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.20.0](service/codeartifact/CHANGELOG.md#v1200-2023-09-20)
- * **Feature**: Add support for the Swift package format.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideo`: [v1.18.4](service/kinesisvideo/CHANGELOG.md#v1184-2023-09-20)
- * **Documentation**: Updated DescribeMediaStorageConfiguration, StartEdgeConfigurationUpdate, ImageGenerationConfiguration$SamplingInterval, and UpdateMediaStorageConfiguration to match AWS Docs.
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.39.0](service/s3/CHANGELOG.md#v1390-2023-09-20)
- * **Feature**: Fix an issue where the SDK can fail to unmarshall response due to NumberFormatException
-* `github.com/aws/aws-sdk-go-v2/service/servicediscovery`: [v1.24.0](service/servicediscovery/CHANGELOG.md#v1240-2023-09-20)
- * **Feature**: Adds a new DiscoverInstancesRevision API and also adds InstanceRevision field to the DiscoverInstances API response.
-* `github.com/aws/aws-sdk-go-v2/service/ssooidc`: [v1.17.0](service/ssooidc/CHANGELOG.md#v1170-2023-09-20)
- * **Feature**: Update FIPS endpoints in aws-us-gov.
-
-# Release (2023-09-19)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.119.0](service/ec2/CHANGELOG.md#v11190-2023-09-19)
- * **Feature**: This release adds support for C7i, and R7a instance types.
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.30.0](service/outposts/CHANGELOG.md#v1300-2023-09-19)
- * **Feature**: This release adds the InstanceFamilies field to the ListAssets response.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.107.0](service/sagemaker/CHANGELOG.md#v11070-2023-09-19)
- * **Feature**: This release adds support for one-time model monitoring schedules that are executed immediately without delay, explicit data analysis windows for model monitoring schedules and exclude features attributes to remove features from model monitor analysis.
-
-# Release (2023-09-18)
-
-## General Highlights
-* **Feature**: Adds several endpoint ruleset changes across all models: smaller rulesets, removed non-unique regional endpoints, fixes FIPS and DualStack endpoints, and make region not required in SDK::Endpoint. Additional breakfix to cognito-sync field.
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/accessanalyzer`: [v1.21.0](service/accessanalyzer/CHANGELOG.md#v1210-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/acm`: [v1.19.0](service/acm/CHANGELOG.md#v1190-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/amplify`: [v1.15.0](service/amplify/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi`: [v1.13.0](service/apigatewaymanagementapi/CHANGELOG.md#v1130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.19.0](service/appconfig/CHANGELOG.md#v1190-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/appconfigdata`: [v1.8.0](service/appconfigdata/CHANGELOG.md#v180-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/appfabric`: [v1.2.0](service/appfabric/CHANGELOG.md#v120-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/appintegrations`: [v1.17.0](service/appintegrations/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/applicationcostprofiler`: [v1.12.0](service/applicationcostprofiler/CHANGELOG.md#v1120-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/appmesh`: [v1.19.0](service/appmesh/CHANGELOG.md#v1190-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/arczonalshift`: [v1.3.0](service/arczonalshift/CHANGELOG.md#v130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/autoscalingplans`: [v1.15.0](service/autoscalingplans/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/backupgateway`: [v1.11.0](service/backupgateway/CHANGELOG.md#v1110-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/backupstorage`: [v1.3.0](service/backupstorage/CHANGELOG.md#v130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.19.0](service/braket/CHANGELOG.md#v1190-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkvoice`: [v1.9.0](service/chimesdkvoice/CHANGELOG.md#v190-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/clouddirectory`: [v1.15.0](service/clouddirectory/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/cloudhsmv2`: [v1.16.0](service/cloudhsmv2/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/cloudsearch`: [v1.16.0](service/cloudsearch/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/cloudsearchdomain`: [v1.14.0](service/cloudsearchdomain/CHANGELOG.md#v1140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/cloudtraildata`: [v1.2.0](service/cloudtraildata/CHANGELOG.md#v120-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/codebuild`: [v1.22.0](service/codebuild/CHANGELOG.md#v1220-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/codedeploy`: [v1.18.0](service/codedeploy/CHANGELOG.md#v1180-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/codeguruprofiler`: [v1.15.0](service/codeguruprofiler/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/codegurureviewer`: [v1.19.0](service/codegurureviewer/CHANGELOG.md#v1190-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/codegurusecurity`: [v1.2.0](service/codegurusecurity/CHANGELOG.md#v120-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/codestar`: [v1.15.0](service/codestar/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/codestarnotifications`: [v1.16.0](service/codestarnotifications/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentity`: [v1.17.0](service/cognitoidentity/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/cognitosync`: [v1.14.0](service/cognitosync/CHANGELOG.md#v1140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/connectcases`: [v1.7.0](service/connectcases/CHANGELOG.md#v170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/connectcontactlens`: [v1.15.0](service/connectcontactlens/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/controltower`: [v1.3.0](service/controltower/CHANGELOG.md#v130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/databrew`: [v1.23.0](service/databrew/CHANGELOG.md#v1230-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/dataexchange`: [v1.21.0](service/dataexchange/CHANGELOG.md#v1210-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/datapipeline`: [v1.16.0](service/datapipeline/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/dax`: [v1.14.0](service/dax/CHANGELOG.md#v1140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/devicefarm`: [v1.17.0](service/devicefarm/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/docdbelastic`: [v1.3.0](service/docdbelastic/CHANGELOG.md#v130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect`: [v1.17.0](service/ec2instanceconnect/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/ecrpublic`: [v1.18.0](service/ecrpublic/CHANGELOG.md#v1180-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk`: [v1.17.0](service/elasticbeanstalk/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing`: [v1.17.0](service/elasticloadbalancing/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/elastictranscoder`: [v1.16.0](service/elastictranscoder/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/evidently`: [v1.13.0](service/evidently/CHANGELOG.md#v1130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.16.0](service/finspacedata/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/fis`: [v1.16.0](service/fis/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.27.0](service/forecast/CHANGELOG.md#v1270-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/forecastquery`: [v1.15.0](service/forecastquery/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/gamesparks`: [v1.4.0](service/gamesparks/CHANGELOG.md#v140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/glacier`: [v1.16.0](service/glacier/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/greengrass`: [v1.17.0](service/greengrass/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.24.0](service/greengrassv2/CHANGELOG.md#v1240-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/honeycode`: [v1.15.0](service/honeycode/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/inspector`: [v1.15.0](service/inspector/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/iot1clickdevicesservice`: [v1.13.0](service/iot1clickdevicesservice/CHANGELOG.md#v1130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/iot1clickprojects`: [v1.14.0](service/iot1clickprojects/CHANGELOG.md#v1140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/iotanalytics`: [v1.16.0](service/iotanalytics/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/iotevents`: [v1.17.0](service/iotevents/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/ioteventsdata`: [v1.15.0](service/ioteventsdata/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/iotfleethub`: [v1.15.0](service/iotfleethub/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/iotjobsdataplane`: [v1.14.0](service/iotjobsdataplane/CHANGELOG.md#v1140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/iotroborunner`: [v1.3.0](service/iotroborunner/CHANGELOG.md#v130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/iotsecuretunneling`: [v1.17.0](service/iotsecuretunneling/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/iotthingsgraph`: [v1.16.0](service/iotthingsgraph/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/ivschat`: [v1.6.0](service/ivschat/CHANGELOG.md#v160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/kendraranking`: [v1.2.0](service/kendraranking/CHANGELOG.md#v120-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/kinesis`: [v1.19.0](service/kinesis/CHANGELOG.md#v1190-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalytics`: [v1.16.0](service/kinesisanalytics/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideoarchivedmedia`: [v1.17.0](service/kinesisvideoarchivedmedia/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideomedia`: [v1.13.0](service/kinesisvideomedia/CHANGELOG.md#v1130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideosignaling`: [v1.13.0](service/kinesisvideosignaling/CHANGELOG.md#v1130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideowebrtcstorage`: [v1.4.0](service/kinesisvideowebrtcstorage/CHANGELOG.md#v140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice`: [v1.19.0](service/lexmodelbuildingservice/CHANGELOG.md#v1190-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimeservice`: [v1.15.0](service/lexruntimeservice/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.19.0](service/lexruntimev2/CHANGELOG.md#v1190-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/licensemanager`: [v1.20.0](service/licensemanager/CHANGELOG.md#v1200-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/licensemanagerlinuxsubscriptions`: [v1.3.0](service/licensemanagerlinuxsubscriptions/CHANGELOG.md#v130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/licensemanagerusersubscriptions`: [v1.4.0](service/licensemanagerusersubscriptions/CHANGELOG.md#v140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.21.0](service/lookoutmetrics/CHANGELOG.md#v1210-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutvision`: [v1.17.0](service/lookoutvision/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/machinelearning`: [v1.17.0](service/machinelearning/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/macie`: [v1.17.0](service/macie/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.29.7](service/macie2/CHANGELOG.md#v1297-2023-09-18)
- * **Documentation**: This release changes the default managedDataIdentifierSelector setting for new classification jobs to RECOMMENDED. By default, new classification jobs now use the recommended set of managed data identifiers.
-* `github.com/aws/aws-sdk-go-v2/service/marketplacecommerceanalytics`: [v1.14.0](service/marketplacecommerceanalytics/CHANGELOG.md#v1140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/marketplaceentitlementservice`: [v1.14.0](service/marketplaceentitlementservice/CHANGELOG.md#v1140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/marketplacemetering`: [v1.16.0](service/marketplacemetering/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagev2`: [v1.2.0](service/mediapackagev2/CHANGELOG.md#v120-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagevod`: [v1.24.0](service/mediapackagevod/CHANGELOG.md#v1240-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/mediastore`: [v1.15.0](service/mediastore/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/mediastoredata`: [v1.15.0](service/mediastoredata/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/medicalimaging`: [v1.2.0](service/medicalimaging/CHANGELOG.md#v120-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhub`: [v1.15.0](service/migrationhub/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubconfig`: [v1.15.0](service/migrationhubconfig/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhuborchestrator`: [v1.3.0](service/migrationhuborchestrator/CHANGELOG.md#v130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubstrategy`: [v1.11.0](service/migrationhubstrategy/CHANGELOG.md#v1110-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/mobile`: [v1.14.0](service/mobile/CHANGELOG.md#v1140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/mturk`: [v1.16.0](service/mturk/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/neptune`: [v1.22.0](service/neptune/CHANGELOG.md#v1220-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/networkmanager`: [v1.19.0](service/networkmanager/CHANGELOG.md#v1190-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/nimble`: [v1.18.0](service/nimble/CHANGELOG.md#v1180-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/oam`: [v1.3.0](service/oam/CHANGELOG.md#v130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/opensearchserverless`: [v1.5.0](service/opensearchserverless/CHANGELOG.md#v150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/opsworks`: [v1.16.0](service/opsworks/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/opsworkscm`: [v1.17.0](service/opsworkscm/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/osis`: [v1.2.0](service/osis/CHANGELOG.md#v120-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/panorama`: [v1.13.0](service/panorama/CHANGELOG.md#v1130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/paymentcryptography`: [v1.2.0](service/paymentcryptography/CHANGELOG.md#v120-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/personalizeevents`: [v1.15.0](service/personalizeevents/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/personalizeruntime`: [v1.15.0](service/personalizeruntime/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/pinpointemail`: [v1.14.0](service/pinpointemail/CHANGELOG.md#v1140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoice`: [v1.13.0](service/pinpointsmsvoice/CHANGELOG.md#v1130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2`: [v1.3.0](service/pinpointsmsvoicev2/CHANGELOG.md#v130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/pipes`: [v1.4.0](service/pipes/CHANGELOG.md#v140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/qldbsession`: [v1.16.0](service/qldbsession/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/rbin`: [v1.10.0](service/rbin/CHANGELOG.md#v1100-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/rdsdata`: [v1.15.0](service/rdsdata/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/redshiftserverless`: [v1.6.0](service/redshiftserverless/CHANGELOG.md#v160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/resourceexplorer2`: [v1.4.0](service/resourceexplorer2/CHANGELOG.md#v140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/resourcegroups`: [v1.16.0](service/resourcegroups/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi`: [v1.16.0](service/resourcegroupstaggingapi/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/robomaker`: [v1.20.0](service/robomaker/CHANGELOG.md#v1200-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycluster`: [v1.13.0](service/route53recoverycluster/CHANGELOG.md#v1130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig`: [v1.13.0](service/route53recoverycontrolconfig/CHANGELOG.md#v1130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness`: [v1.11.0](service/route53recoveryreadiness/CHANGELOG.md#v1110-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/route53resolver`: [v1.20.0](service/route53resolver/CHANGELOG.md#v1200-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/rum`: [v1.12.0](service/rum/CHANGELOG.md#v1120-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/s3outposts`: [v1.18.0](service/s3outposts/CHANGELOG.md#v1180-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakera2iruntime`: [v1.17.0](service/sagemakera2iruntime/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakeredge`: [v1.15.0](service/sagemakeredge/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakergeospatial`: [v1.5.0](service/sagemakergeospatial/CHANGELOG.md#v150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakermetrics`: [v1.2.0](service/sagemakermetrics/CHANGELOG.md#v120-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/scheduler`: [v1.3.0](service/scheduler/CHANGELOG.md#v130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/schemas`: [v1.17.0](service/schemas/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository`: [v1.14.0](service/serverlessapplicationrepository/CHANGELOG.md#v1140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry`: [v1.19.0](service/servicecatalogappregistry/CHANGELOG.md#v1190-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/servicediscovery`: [v1.23.0](service/servicediscovery/CHANGELOG.md#v1230-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/shield`: [v1.20.0](service/shield/CHANGELOG.md#v1200-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/sms`: [v1.15.0](service/sms/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/snowdevicemanagement`: [v1.11.0](service/snowdevicemanagement/CHANGELOG.md#v1110-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.22.0](service/sns/CHANGELOG.md#v1220-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/ssmcontacts`: [v1.17.0](service/ssmcontacts/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.23.0](service/ssmincidents/CHANGELOG.md#v1230-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/ssmsap`: [v1.5.0](service/ssmsap/CHANGELOG.md#v150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/sso`: [v1.14.0](service/sso/CHANGELOG.md#v1140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/ssooidc`: [v1.16.0](service/ssooidc/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/storagegateway`: [v1.20.0](service/storagegateway/CHANGELOG.md#v1200-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.22.0](service/sts/CHANGELOG.md#v1220-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/supportapp`: [v1.4.0](service/supportapp/CHANGELOG.md#v140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/synthetics`: [v1.19.0](service/synthetics/CHANGELOG.md#v1190-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.23.0](service/textract/CHANGELOG.md#v1230-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/timestreamquery`: [v1.17.0](service/timestreamquery/CHANGELOG.md#v1170-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/timestreamwrite`: [v1.19.0](service/timestreamwrite/CHANGELOG.md#v1190-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/tnb`: [v1.3.0](service/tnb/CHANGELOG.md#v130-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/transcribestreaming`: [v1.11.0](service/transcribestreaming/CHANGELOG.md#v1110-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/voiceid`: [v1.15.0](service/voiceid/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/waf`: [v1.14.0](service/waf/CHANGELOG.md#v1140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/wafregional`: [v1.15.0](service/wafregional/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/workdocs`: [v1.16.0](service/workdocs/CHANGELOG.md#v1160-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/worklink`: [v1.15.0](service/worklink/CHANGELOG.md#v1150-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-* `github.com/aws/aws-sdk-go-v2/service/workmail`: [v1.20.0](service/workmail/CHANGELOG.md#v1200-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
- * **Feature**: This release includes four new APIs UpdateUser, UpdateGroup, ListGroupsForEntity and DescribeEntity, along with RemoteUsers and some enhancements to existing APIs.
-* `github.com/aws/aws-sdk-go-v2/service/workmailmessageflow`: [v1.14.0](service/workmailmessageflow/CHANGELOG.md#v1140-2023-09-18)
- * **Announcement**: [BREAKFIX] Change in MaxResults datatype from value to pointer type in cognito-sync service.
-
-# Release (2023-09-15)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.24.0](service/appstream/CHANGELOG.md#v1240-2023-09-15)
- * **Feature**: This release introduces app block builder, allowing customers to provision a resource to package applications into an app block
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.67.0](service/connect/CHANGELOG.md#v1670-2023-09-15)
- * **Feature**: New rule type (OnMetricDataUpdate) has been added
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.29.1](service/datasync/CHANGELOG.md#v1291-2023-09-15)
- * **Documentation**: Documentation-only updates for AWS DataSync.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.106.0](service/sagemaker/CHANGELOG.md#v11060-2023-09-15)
- * **Feature**: This release introduces Skip Model Validation for Model Packages
-
-# Release (2023-09-14)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.23.0](service/appstream/CHANGELOG.md#v1230-2023-09-14)
- * **Feature**: This release introduces multi-session fleets, allowing customers to provision more than one user session on a single fleet instance.
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.34.6](service/cloudformation/CHANGELOG.md#v1346-2023-09-14)
- * **Documentation**: Documentation updates for AWS CloudFormation
-* `github.com/aws/aws-sdk-go-v2/service/entityresolution`: [v1.2.0](service/entityresolution/CHANGELOG.md#v120-2023-09-14)
- * **Feature**: Changed "ResolutionTechniques" and "MappedInputFields" in workflow and schema mapping operations to be required fields.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutequipment`: [v1.19.0](service/lookoutequipment/CHANGELOG.md#v1190-2023-09-14)
- * **Feature**: This release adds APIs for the new scheduled retraining feature.
-
-# Release (2023-09-13)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloud9`: [v1.18.8](service/cloud9/CHANGELOG.md#v1188-2023-09-13)
- * **Documentation**: Update to include information on Ubuntu 18 deprecation.
-* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.16.0](service/drs/CHANGELOG.md#v1160-2023-09-13)
- * **Feature**: Updated existing APIs and added new ones to support using AWS Elastic Disaster Recovery post-launch actions. Added support for new regions.
-* `github.com/aws/aws-sdk-go-v2/service/firehose`: [v1.18.0](service/firehose/CHANGELOG.md#v1180-2023-09-13)
- * **Feature**: DocumentIdOptions has been added for the Amazon OpenSearch destination.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.27.0](service/guardduty/CHANGELOG.md#v1270-2023-09-13)
- * **Feature**: Add `managementType` field to ListCoverage API response.
-* `github.com/aws/aws-sdk-go-v2/service/internetmonitor`: [v1.6.0](service/internetmonitor/CHANGELOG.md#v160-2023-09-13)
- * **Feature**: This release updates the Amazon CloudWatch Internet Monitor API domain name.
-* `github.com/aws/aws-sdk-go-v2/service/ivsrealtime`: [v1.4.4](service/ivsrealtime/CHANGELOG.md#v144-2023-09-13)
- * **Documentation**: Doc only update that changes description for ParticipantToken.
-* `github.com/aws/aws-sdk-go-v2/service/simspaceweaver`: [v1.5.1](service/simspaceweaver/CHANGELOG.md#v151-2023-09-13)
- * **Documentation**: Edited the introductory text for the API reference.
-* `github.com/aws/aws-sdk-go-v2/service/xray`: [v1.18.0](service/xray/CHANGELOG.md#v1180-2023-09-13)
- * **Feature**: Add StartTime field in GetTraceSummaries API response for each TraceSummary.
-
-# Release (2023-09-12)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.118.0](service/ec2/CHANGELOG.md#v11180-2023-09-12)
- * **Feature**: This release adds support for restricting public sharing of AMIs through AMI Block Public Access
-* `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.22.0](service/eventbridge/CHANGELOG.md#v1220-2023-09-12)
- * **Feature**: Adds sensitive trait to various shapes in Jetstream Connections API model.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.43.0](service/kendra/CHANGELOG.md#v1430-2023-09-12)
- * **Feature**: Amazon Kendra now supports confidence score buckets for retrieved passage results using the Retrieve API.
-
-# Release (2023-09-11)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ecr`: [v1.20.0](service/ecr/CHANGELOG.md#v1200-2023-09-11)
- * **Feature**: This release will have ValidationException be thrown from ECR LifecyclePolicy APIs in regions LifecyclePolicy is not supported, this includes existing Amazon Dedicated Cloud (ADC) regions. This release will also change Tag: TagValue and Tag: TagKey to required.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.37.0](service/medialive/CHANGELOG.md#v1370-2023-09-11)
- * **Feature**: AWS Elemental Link now supports attaching a Link UHD device to a MediaConnect flow.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.43.0](service/quicksight/CHANGELOG.md#v1430-2023-09-11)
- * **Feature**: This release launches new updates to QuickSight KPI visuals - support for sparklines, new templated layout and new targets for conditional formatting rules.
-
-# Release (2023-09-08)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.32.6](service/fsx/CHANGELOG.md#v1326-2023-09-08)
- * **Documentation**: Amazon FSx documentation fixes
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.105.0](service/sagemaker/CHANGELOG.md#v11050-2023-09-08)
- * **Feature**: Autopilot APIs will now support holiday featurization for Timeseries models. The models will now hold holiday metadata and should be able to accommodate holiday effect during inference.
-* `github.com/aws/aws-sdk-go-v2/service/ssoadmin`: [v1.18.0](service/ssoadmin/CHANGELOG.md#v1180-2023-09-08)
- * **Feature**: Content updates to IAM Identity Center API for China Regions.
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.30.0](service/workspaces/CHANGELOG.md#v1300-2023-09-08)
- * **Feature**: A new field "ErrorDetails" will be added to the output of "DescribeWorkspaceImages" API call. This field provides in-depth details about the error occurred during image import process. These details include the possible causes of the errors and troubleshooting information.
-
-# Release (2023-09-07)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.36.2](service/securityhub/CHANGELOG.md#v1362-2023-09-07)
- * **Documentation**: Documentation updates for AWS Security Hub
-* `github.com/aws/aws-sdk-go-v2/service/simspaceweaver`: [v1.5.0](service/simspaceweaver/CHANGELOG.md#v150-2023-09-07)
- * **Feature**: BucketName and ObjectKey are now required for the S3Location data type. BucketName is now required for the S3Destination data type.
-
-# Release (2023-09-06)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.35.0](service/appflow/CHANGELOG.md#v1350-2023-09-06)
- * **Feature**: Adding OAuth2.0 support for servicenow connector.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.117.0](service/ec2/CHANGELOG.md#v11170-2023-09-06)
- * **Feature**: This release adds 'outpost' location type to the DescribeInstanceTypeOfferings API, allowing customers that have been allowlisted for outpost to query their offerings in the API.
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.21.4](service/elasticloadbalancingv2/CHANGELOG.md#v1214-2023-09-06)
- * **Documentation**: This release enables default UDP connection termination and disabling unhealthy target connection termination for Network Load Balancers.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.36.0](service/medialive/CHANGELOG.md#v1360-2023-09-06)
- * **Feature**: Adds advanced Output Locking options for Epoch Locking: Custom Epoch and Jam Sync Time
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.38.0](service/wafv2/CHANGELOG.md#v1380-2023-09-06)
- * **Feature**: The targeted protection level of the Bot Control managed rule group now provides optional, machine-learning analysis of traffic statistics to detect some bot-related activity. You can enable or disable the machine learning functionality through the API.
-
-# Release (2023-09-05)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/billingconductor`: [v1.9.0](service/billingconductor/CHANGELOG.md#v190-2023-09-05)
- * **Feature**: This release adds support for line item filtering in for the custom line item resource.
-* `github.com/aws/aws-sdk-go-v2/service/cloud9`: [v1.18.7](service/cloud9/CHANGELOG.md#v1187-2023-09-05)
- * **Documentation**: Added support for Ubuntu 22.04 that was not picked up in a previous Trebuchet request. Doc-only update.
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.27.0](service/computeoptimizer/CHANGELOG.md#v1270-2023-09-05)
- * **Feature**: This release adds support to provide recommendations for G4dn and P3 instances that use NVIDIA GPUs.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.116.0](service/ec2/CHANGELOG.md#v11160-2023-09-05)
- * **Feature**: Introducing Amazon EC2 C7gd, M7gd, and R7gd Instances with up to 3.8 TB of local NVMe-based SSD block-level storage. These instances are powered by AWS Graviton3 processors, delivering up to 25% better performance over Graviton2-based instances.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.30.1](service/ecs/CHANGELOG.md#v1301-2023-09-05)
- * **Documentation**: Documentation only update for Amazon ECS.
-* `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.21.0](service/eventbridge/CHANGELOG.md#v1210-2023-09-05)
- * **Feature**: Improve Endpoint Ruleset test coverage.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.54.0](service/rds/CHANGELOG.md#v1540-2023-09-05)
- * **Feature**: Add support for feature integration with AWS Backup.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.104.0](service/sagemaker/CHANGELOG.md#v11040-2023-09-05)
- * **Feature**: SageMaker Neo now supports data input shape derivation for Pytorch 2.0 and XGBoost compilation job for cloud instance targets. You can skip DataInputConfig field during compilation job creation. You can also access derived information from model in DescribeCompilationJob response.
-* `github.com/aws/aws-sdk-go-v2/service/vpclattice`: [v1.2.0](service/vpclattice/CHANGELOG.md#v120-2023-09-05)
- * **Feature**: This release adds Lambda event structure version config support for LAMBDA target groups. It also adds newline support for auth policies.
-
-# Release (2023-09-01)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines`: [v1.8.0](service/chimesdkmediapipelines/CHANGELOG.md#v180-2023-09-01)
- * **Feature**: This release adds support for the Voice Analytics feature for customer-owned KVS streams as part of the Amazon Chime SDK call analytics.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.66.0](service/connect/CHANGELOG.md#v1660-2023-09-01)
- * **Feature**: Amazon Connect adds the ability to read, create, update, delete, and list view resources, and adds the ability to read, create, delete, and list view versions.
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.18.0](service/identitystore/CHANGELOG.md#v1180-2023-09-01)
- * **Feature**: New Identity Store content for China Region launch
-* `github.com/aws/aws-sdk-go-v2/service/neptunedata`: [v1.0.1](service/neptunedata/CHANGELOG.md#v101-2023-09-01)
- * **Documentation**: Removed the descriptive text in the introduction.
-
-# Release (2023-08-31)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines`: [v1.7.0](service/chimesdkmediapipelines/CHANGELOG.md#v170-2023-08-31)
- * **Feature**: This release adds support for feature Voice Enhancement for Call Recording as part of Amazon Chime SDK call analytics.
-* `github.com/aws/aws-sdk-go-v2/service/cloudhsm`: [v1.15.0](service/cloudhsm/CHANGELOG.md#v1150-2023-08-31)
- * **Feature**: Deprecating CloudHSM Classic API Service.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchevents`: [v1.17.0](service/cloudwatchevents/CHANGELOG.md#v1170-2023-08-31)
- * **Feature**: Documentation updates for CloudWatch Events.
-* `github.com/aws/aws-sdk-go-v2/service/connectcampaigns`: [v1.4.0](service/connectcampaigns/CHANGELOG.md#v140-2023-08-31)
- * **Feature**: Amazon Connect outbound campaigns has launched agentless dialing mode which enables customers to make automated outbound calls without agent engagement. This release updates three of the campaign management API's to support the new agentless dialing mode and the new dialing capacity field.
-* `github.com/aws/aws-sdk-go-v2/service/connectparticipant`: [v1.17.0](service/connectparticipant/CHANGELOG.md#v1170-2023-08-31)
- * **Feature**: Amazon Connect Participant Service adds the ability to get a view resource using a view token, which is provided in a participant message, with the release of the DescribeView API.
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.28.0](service/customerprofiles/CHANGELOG.md#v1280-2023-08-31)
- * **Feature**: Adds sensitive trait to various shapes in Customer Profiles API model.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.30.0](service/ecs/CHANGELOG.md#v1300-2023-08-31)
- * **Feature**: This release adds support for an account-level setting that you can use to configure the number of days for AWS Fargate task retirement.
-* `github.com/aws/aws-sdk-go-v2/service/health`: [v1.19.0](service/health/CHANGELOG.md#v1190-2023-08-31)
- * **Feature**: Adds new API DescribeEntityAggregatesForOrganization that retrieves entity aggregates across your organization. Also adds support for resource status filtering in DescribeAffectedEntitiesForOrganization, resource status aggregates in the DescribeEntityAggregates response, and new resource statuses.
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.26.0](service/ivs/CHANGELOG.md#v1260-2023-08-31)
- * **Feature**: Updated "type" description for CreateChannel, UpdateChannel, Channel, and ChannelSummary.
-* `github.com/aws/aws-sdk-go-v2/service/kafkaconnect`: [v1.11.0](service/kafkaconnect/CHANGELOG.md#v1110-2023-08-31)
- * **Feature**: Minor model changes for Kafka Connect as well as endpoint updates.
-* `github.com/aws/aws-sdk-go-v2/service/paymentcryptographydata`: [v1.2.0](service/paymentcryptographydata/CHANGELOG.md#v120-2023-08-31)
- * **Feature**: Make KeyCheckValue field optional when using asymmetric keys as Key Check Values typically only apply to symmetric keys
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerruntime`: [v1.21.0](service/sagemakerruntime/CHANGELOG.md#v1210-2023-08-31)
- * **Feature**: This release adds a new InvokeEndpointWithResponseStream API to support streaming of model responses.
-
-# Release (2023-08-30)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.34.0](service/appflow/CHANGELOG.md#v1340-2023-08-30)
- * **Feature**: Add SAP source connector parallel and pagination feature
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.19.0](service/apprunner/CHANGELOG.md#v1190-2023-08-30)
- * **Feature**: App Runner adds support for Bitbucket. You can now create App Runner connection that connects to your Bitbucket repositories and deploy App Runner service with the source code stored in a Bitbucket repository.
-* `github.com/aws/aws-sdk-go-v2/service/cleanrooms`: [v1.4.0](service/cleanrooms/CHANGELOG.md#v140-2023-08-30)
- * **Feature**: This release decouples member abilities in a collaboration. With this change, the member who can run queries no longer needs to be the same as the member who can receive results.
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.29.0](service/datasync/CHANGELOG.md#v1290-2023-08-30)
- * **Feature**: AWS DataSync introduces Task Reports, a new feature that provides detailed reports of data transfer operations for each task execution.
-* `github.com/aws/aws-sdk-go-v2/service/neptunedata`: [v1.0.0](service/neptunedata/CHANGELOG.md#v100-2023-08-30)
- * **Release**: New AWS service client module
- * **Feature**: Allows customers to execute data plane actions like bulk loading graphs, issuing graph queries using Gremlin and openCypher directly from the SDK.
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.30.0](service/networkfirewall/CHANGELOG.md#v1300-2023-08-30)
- * **Feature**: Network Firewall increasing pagination token string length
-* `github.com/aws/aws-sdk-go-v2/service/pcaconnectorad`: [v1.0.0](service/pcaconnectorad/CHANGELOG.md#v100-2023-08-30)
- * **Release**: New AWS service client module
- * **Feature**: The Connector for AD allows you to use a fully-managed AWS Private CA as a drop-in replacement for your self-managed enterprise CAs without local agents or proxy servers. Enterprises that use AD to manage Windows environments can reduce their private certificate authority (CA) costs and complexity.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.103.0](service/sagemaker/CHANGELOG.md#v11030-2023-08-30)
- * **Feature**: Amazon SageMaker Canvas adds IdentityProviderOAuthSettings support for CanvasAppSettings
-
-# Release (2023-08-29)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.26.0](service/cognitoidentityprovider/CHANGELOG.md#v1260-2023-08-29)
- * **Feature**: Added API example requests and responses for several operations. Fixed the validation regex for user pools Identity Provider name.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.32.5](service/fsx/CHANGELOG.md#v1325-2023-08-29)
- * **Documentation**: Documentation updates for project quotas.
-* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.9.0](service/omics/CHANGELOG.md#v190-2023-08-29)
- * **Feature**: Add RetentionMode support for Runs.
-* `github.com/aws/aws-sdk-go-v2/service/sesv2`: [v1.20.0](service/sesv2/CHANGELOG.md#v1200-2023-08-29)
- * **Feature**: Adds support for the new Export and Message Insights features: create, get, list and cancel export jobs; get message insights.
-
-# Release (2023-08-28)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.25.0](service/backup/CHANGELOG.md#v1250-2023-08-28)
- * **Feature**: Add support for customizing time zone for backup window in backup plan rules.
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.26.0](service/computeoptimizer/CHANGELOG.md#v1260-2023-08-28)
- * **Feature**: This release enables AWS Compute Optimizer to analyze and generate licensing optimization recommendations for sql server running on EC2 instances.
-* `github.com/aws/aws-sdk-go-v2/service/organizations`: [v1.20.6](service/organizations/CHANGELOG.md#v1206-2023-08-28)
- * **Documentation**: Documentation updates for permissions and links.
-* `github.com/aws/aws-sdk-go-v2/service/securitylake`: [v1.7.0](service/securitylake/CHANGELOG.md#v170-2023-08-28)
- * **Feature**: Remove incorrect regex enforcement on pagination tokens.
-* `github.com/aws/aws-sdk-go-v2/service/servicequotas`: [v1.16.0](service/servicequotas/CHANGELOG.md#v1160-2023-08-28)
- * **Feature**: Service Quotas now supports viewing the applied quota value and requesting a quota increase for a specific resource in an AWS account.
-* `github.com/aws/aws-sdk-go-v2/service/workspacesweb`: [v1.12.0](service/workspacesweb/CHANGELOG.md#v1120-2023-08-28)
- * **Feature**: WorkSpaces Web now enables Admins to configure which cookies are synchronized from an end-user's local browser to the in-session browser. In conjunction with a browser extension, this feature enables enhanced Single-Sign On capability by reducing the number of times an end-user has to authenticate.
-
-# Release (2023-08-25)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.29.0](service/cloudtrail/CHANGELOG.md#v1290-2023-08-25)
- * **Feature**: Add ThrottlingException with error code 429 to handle CloudTrail Delegated Admin request rate exceeded on organization resources.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.27.7](service/cloudwatch/CHANGELOG.md#v1277-2023-08-25)
- * **Documentation**: Doc-only update to get doc bug fixes into the SDK docs
-
-# Release (2023-08-24)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.115.0](service/ec2/CHANGELOG.md#v11150-2023-08-24)
- * **Feature**: Amazon EC2 M7a instances, powered by 4th generation AMD EPYC processors, deliver up to 50% higher performance compared to M6a instances. Amazon EC2 Hpc7a instances, powered by 4th Gen AMD EPYC processors, deliver up to 2.5x better performance compared to Amazon EC2 Hpc6a instances.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.62.0](service/glue/CHANGELOG.md#v1620-2023-08-24)
- * **Feature**: Added API attributes that help in the monitoring of sessions.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.41.0](service/mediaconvert/CHANGELOG.md#v1410-2023-08-24)
- * **Feature**: This release includes additional audio channel tags in Quicktime outputs, support for film grain synthesis for AV1 outputs, ability to create audio-only FLAC outputs, and ability to specify Amazon S3 destination storage class.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.35.0](service/medialive/CHANGELOG.md#v1350-2023-08-24)
- * **Feature**: MediaLive now supports passthrough of KLV data to a HLS output group with a TS container. MediaLive now supports setting an attenuation mode for AC3 audio when the coding mode is 3/2 LFE. MediaLive now supports specifying whether to include filler NAL units in RTMP output group settings.
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.27.0](service/mediatailor/CHANGELOG.md#v1270-2023-08-24)
- * **Feature**: Adds new source location AUTODETECT_SIGV4 access type.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.42.0](service/quicksight/CHANGELOG.md#v1420-2023-08-24)
- * **Feature**: Excel support in Snapshot Export APIs. Removed Required trait for some insight Computations. Namespace-shared Folders support. Global Filters support. Table pin Column support.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.53.0](service/rds/CHANGELOG.md#v1530-2023-08-24)
- * **Feature**: This release updates the supported versions for Percona XtraBackup in Aurora MySQL.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.33.0](service/s3control/CHANGELOG.md#v1330-2023-08-24)
- * **Feature**: Updates to endpoint ruleset tests to address Smithy validation issues and standardize the capitalization of DualStack.
-* `github.com/aws/aws-sdk-go-v2/service/verifiedpermissions`: [v1.2.1](service/verifiedpermissions/CHANGELOG.md#v121-2023-08-24)
- * **Documentation**: Documentation updates for Amazon Verified Permissions.
-
-# Release (2023-08-23)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/apigateway`: [v1.18.0](service/apigateway/CHANGELOG.md#v1180-2023-08-23)
- * **Feature**: This release adds RootResourceId to GetRestApi response.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.31.0](service/polly/CHANGELOG.md#v1310-2023-08-23)
- * **Feature**: Amazon Polly adds 1 new voice - Zayd (ar-AE)
-
-# Release (2023-08-22)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.28.0](service/costexplorer/CHANGELOG.md#v1280-2023-08-22)
- * **Feature**: This release adds the LastUpdatedDate and LastUsedDate timestamps to help you manage your cost allocation tags.
-* `github.com/aws/aws-sdk-go-v2/service/globalaccelerator`: [v1.17.7](service/globalaccelerator/CHANGELOG.md#v1177-2023-08-22)
- * **Documentation**: Global Accelerator now supports Client Ip Preservation for Network Load Balancer endpoints.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.52.0](service/rds/CHANGELOG.md#v1520-2023-08-22)
- * **Feature**: Adding parameters to CreateCustomDbEngineVersion reserved for future use.
-* `github.com/aws/aws-sdk-go-v2/service/verifiedpermissions`: [v1.2.0](service/verifiedpermissions/CHANGELOG.md#v120-2023-08-22)
- * **Feature**: Documentation updates for Amazon Verified Permissions. Increases max results per page for ListPolicyStores, ListPolicies, and ListPolicyTemplates APIs from 20 to 50.
-
-# Release (2023-08-21)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.21.0
- * **Feature**: Add support for polly SynthesizeSpeech GET request presigner
-* `github.com/aws/aws-sdk-go-v2/service/cloud9`: [v1.18.6](service/cloud9/CHANGELOG.md#v1186-2023-08-21)
- * **Documentation**: Doc only update to add Ubuntu 22.04 as an Image ID option for Cloud9
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.114.0](service/ec2/CHANGELOG.md#v11140-2023-08-21)
- * **Feature**: The DeleteKeyPair API has been updated to return the keyPairId when an existing key pair is deleted.
-* `github.com/aws/aws-sdk-go-v2/service/finspace`: [v1.12.0](service/finspace/CHANGELOG.md#v1120-2023-08-21)
- * **Feature**: Allow customers to manage outbound traffic from their Kx Environment when attaching a transit gateway by providing network acl entries. Allow the customer to choose how they want to update the databases on a cluster allowing updates to possibly be faster than usual.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.30.0](service/polly/CHANGELOG.md#v1300-2023-08-21)
- * **Feature**: Add support for polly SynthesizeSpeech GET request presigner
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.51.0](service/rds/CHANGELOG.md#v1510-2023-08-21)
- * **Feature**: Adding support for RDS Aurora Global Database Unplanned Failover
-* `github.com/aws/aws-sdk-go-v2/service/route53domains`: [v1.17.3](service/route53domains/CHANGELOG.md#v1173-2023-08-21)
- * **Documentation**: Fixed typos in description fields
-
-# Release (2023-08-18)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/codecommit`: [v1.16.0](service/codecommit/CHANGELOG.md#v1160-2023-08-18)
- * **Feature**: Add new ListFileCommitHistory operation to retrieve commits which introduced changes to a specific file.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.36.0](service/securityhub/CHANGELOG.md#v1360-2023-08-18)
- * **Feature**: Added Inspector Lambda code Vulnerability section to ASFF, including GeneratorDetails, EpssScore, ExploitAvailable, and CodeVulnerabilities.
-
-# Release (2023-08-17)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.20.2
- * **Bug Fix**: Sign `X-Amz-Server-Side-Encryption-Context` header to fix signing for PutObject requests that set `SSEKMSEncryptionContext`.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.113.0](service/ec2/CHANGELOG.md#v11130-2023-08-17)
- * **Feature**: Adds support for SubnetConfigurations to allow users to select their own IPv4 and IPv6 addresses for Interface VPC endpoints
-* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.22.0](service/gamelift/CHANGELOG.md#v1220-2023-08-17)
- * **Feature**: Amazon GameLift updates its instance types support.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.32.3](service/s3control/CHANGELOG.md#v1323-2023-08-17)
- * **Announcement**: BREAKFIX: corrected function spelling in environment config from GetS3DisableMultRegionAccessPoints to GetS3DisableMultiRegionAccessPoints
- * **Bug Fix**: Adds DisableMRAP option to config loader, and DisableMRAP client resolver to achieve parity with other S3 options in the config loader. Additionally, added breakfix to correct spelling.
-
-# Release (2023-08-16)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.27.3](service/cloudwatch/CHANGELOG.md#v1273-2023-08-16)
- * **Documentation**: Doc-only update to incorporate several doc bug fixes
-
-# Release (2023-08-15)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.17.0](service/chimesdkmeetings/CHANGELOG.md#v1170-2023-08-15)
- * **Feature**: Updated API documentation to include additional exceptions.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.112.0](service/ec2/CHANGELOG.md#v11120-2023-08-15)
- * **Feature**: Documentation updates for Elastic Compute Cloud (EC2).
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.61.0](service/glue/CHANGELOG.md#v1610-2023-08-15)
- * **Feature**: AWS Glue Crawlers can now accept SerDe overrides from a custom csv classifier. The two SerDe options are LazySimpleSerDe and OpenCSVSerDe. In case, the user wants crawler to do the selection, "None" can be selected for this purpose.
-* `github.com/aws/aws-sdk-go-v2/service/pi`: [v1.19.0](service/pi/CHANGELOG.md#v1190-2023-08-15)
- * **Feature**: AWS Performance Insights for Amazon RDS is launching Performance Analysis On Demand, a new feature that allows you to analyze database performance metrics and find out the performance issues. You can now use SDK to create, list, get, delete, and manage tags of performance analysis reports.
-* `github.com/aws/aws-sdk-go-v2/service/route53domains`: [v1.17.0](service/route53domains/CHANGELOG.md#v1170-2023-08-15)
- * **Feature**: Provide explanation if CheckDomainTransferability return false. Provide requestId if a request is already submitted. Add sensitive protection for customer information
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.102.0](service/sagemaker/CHANGELOG.md#v11020-2023-08-15)
- * **Feature**: SageMaker Inference Recommender now provides SupportedResponseMIMETypes from DescribeInferenceRecommendationsJob response
-
-# Release (2023-08-14)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/mediapackage`: [v1.23.0](service/mediapackage/CHANGELOG.md#v1230-2023-08-14)
- * **Feature**: Fix SDK logging of certain fields.
-* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.8.0](service/omics/CHANGELOG.md#v180-2023-08-14)
- * **Feature**: This release provides support for annotation store versioning and cross account sharing for Omics Analytics
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.33.4](service/transfer/CHANGELOG.md#v1334-2023-08-14)
- * **Documentation**: Documentation updates for AWS Transfer Family
-
-# Release (2023-08-11)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/amplifybackend`: [v1.16.0](service/amplifybackend/CHANGELOG.md#v1160-2023-08-11)
- * **Feature**: Adds sensitive trait to required input shapes.
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.36.0](service/configservice/CHANGELOG.md#v1360-2023-08-11)
- * **Feature**: Updated ResourceType enum with new resource types onboarded by AWS Config in July 2023.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.111.0](service/ec2/CHANGELOG.md#v11110-2023-08-11)
- * **Feature**: Amazon EC2 P5 instances, powered by the latest NVIDIA H100 Tensor Core GPUs, deliver the highest performance in EC2 for deep learning (DL) and HPC applications. M7i-flex and M7i instances are next-generation general purpose instances powered by custom 4th Generation Intel Xeon Scalable processors.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.41.0](service/quicksight/CHANGELOG.md#v1410-2023-08-11)
- * **Feature**: New Authentication method for Account subscription - IAM Identity Center. Hierarchy layout support, default column width support and related style properties for pivot table visuals. Non-additive topic field aggregations for Topic API
-* `github.com/aws/aws-sdk-go-v2/service/ses`: [v1.16.3](service/ses/CHANGELOG.md#v1163-2023-08-11)
- * **Documentation**: Doc only updates to include: 1) Clarified which part of an email address where it's okay to have Punycode when it contains non-ASCII characters for the SendRawEmail action and other actions where this is applicable. 2) Updated S3Action description with new MB max bucket size from 30 to 40.
-* `github.com/aws/aws-sdk-go-v2/service/swf`: [v1.17.0](service/swf/CHANGELOG.md#v1170-2023-08-11)
- * **Feature**: This release adds new API parameters to override workflow task list for workflow executions.
-
-# Release (2023-08-10)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.28.3](service/cloudtrail/CHANGELOG.md#v1283-2023-08-10)
- * **Documentation**: Documentation updates for CloudTrail.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.65.0](service/connect/CHANGELOG.md#v1650-2023-08-10)
- * **Feature**: This release adds APIs to provision agents that are global / available in multiple AWS regions and distribute them across these regions by percentage.
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.21.0](service/elasticloadbalancingv2/CHANGELOG.md#v1210-2023-08-10)
- * **Feature**: This release enables configuring security groups for Network Load Balancers
-* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.7.0](service/omics/CHANGELOG.md#v170-2023-08-10)
- * **Feature**: This release adds instanceType to GetRunTask & ListRunTasks responses.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.21.0](service/secretsmanager/CHANGELOG.md#v1210-2023-08-10)
- * **Feature**: Add additional InvalidRequestException to list of possible exceptions for ListSecret.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.33.3](service/transfer/CHANGELOG.md#v1333-2023-08-10)
- * **Documentation**: Documentation updates for AW Transfer Family
-
-# Release (2023-08-09)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkvoice`: [v1.8.0](service/chimesdkvoice/CHANGELOG.md#v180-2023-08-09)
- * **Feature**: Updating CreatePhoneNumberOrder, UpdatePhoneNumber and BatchUpdatePhoneNumbers APIs, adding phone number name
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.32.0](service/fsx/CHANGELOG.md#v1320-2023-08-09)
- * **Feature**: For FSx for Lustre, add new data repository task type, RELEASE_DATA_FROM_FILESYSTEM, to release files that have been archived to S3. For FSx for Windows, enable support for configuring and updating SSD IOPS, and for updating storage type. For FSx for OpenZFS, add new deployment type, MULTI_AZ_1.
-* `github.com/aws/aws-sdk-go-v2/service/globalaccelerator`: [v1.17.3](service/globalaccelerator/CHANGELOG.md#v1173-2023-08-09)
- * **Documentation**: Documentation update for dualstack EC2 endpoint support
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.26.0](service/guardduty/CHANGELOG.md#v1260-2023-08-09)
- * **Feature**: Added autoEnable ALL to UpdateOrganizationConfiguration and DescribeOrganizationConfiguration APIs.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.101.0](service/sagemaker/CHANGELOG.md#v11010-2023-08-09)
- * **Feature**: This release adds support for cross account access for SageMaker Model Cards through AWS RAM.
-
-# Release (2023-08-08)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.24.0](service/backup/CHANGELOG.md#v1240-2023-08-08)
- * **Feature**: This release introduces a new logically air-gapped vault (Preview) in AWS Backup that stores immutable backup copies, which are locked by default and isolated with encryption using AWS owned keys. Logically air-gapped vault (Preview) allows secure recovery of application data across accounts.
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.29.0](service/elasticache/CHANGELOG.md#v1290-2023-08-08)
- * **Feature**: Added support for cluster mode in online migration and test migration API
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.21.0](service/servicecatalog/CHANGELOG.md#v1210-2023-08-08)
- * **Feature**: Introduce support for HashiCorp Terraform Cloud in Service Catalog by addying TERRAFORM_CLOUD product type in CreateProduct and CreateProvisioningArtifact API.
-
-# Release (2023-08-07)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/detective`: [v1.21.0](service/detective/CHANGELOG.md#v1210-2023-08-07)
- * **Feature**: Updated the email validation regex to be in line with the TLD name specifications.
-* `github.com/aws/aws-sdk-go-v2/service/ivsrealtime`: [v1.4.0](service/ivsrealtime/CHANGELOG.md#v140-2023-08-07)
- * **Feature**: Add QUOTA_EXCEEDED and PUBLISHER_NOT_FOUND to EventErrorCode for stage health events.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideo`: [v1.18.0](service/kinesisvideo/CHANGELOG.md#v1180-2023-08-07)
- * **Feature**: This release enables minimum of Images SamplingInterval to be as low as 200 milliseconds in Kinesis Video Stream Image feature.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideoarchivedmedia`: [v1.16.0](service/kinesisvideoarchivedmedia/CHANGELOG.md#v1160-2023-08-07)
- * **Feature**: This release enables minimum of Images SamplingInterval to be as low as 200 milliseconds in Kinesis Video Stream Image feature.
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.30.2](service/rekognition/CHANGELOG.md#v1302-2023-08-07)
- * **Documentation**: This release adds code snippets for Amazon Rekognition Custom Labels.
-
-# Release (2023-08-04)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.22.2](service/acmpca/CHANGELOG.md#v1222-2023-08-04)
- * **Documentation**: Documentation correction for AWS Private CA
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.64.0](service/connect/CHANGELOG.md#v1640-2023-08-04)
- * **Feature**: Added a new API UpdateRoutingProfileAgentAvailabilityTimer to update agent availability timer of a routing profile.
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.28.0](service/datasync/CHANGELOG.md#v1280-2023-08-04)
- * **Feature**: Display cloud storage used capacity at a cluster level.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.29.2](service/ecs/CHANGELOG.md#v1292-2023-08-04)
- * **Documentation**: This is a documentation update to address various tickets.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.100.0](service/sagemaker/CHANGELOG.md#v11000-2023-08-04)
- * **Feature**: Including DataCaptureConfig key in the Amazon Sagemaker Search's transform job object
-
-# Release (2023-08-03)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.30.2](service/autoscaling/CHANGELOG.md#v1302-2023-08-03)
- * **Documentation**: Documentation changes related to Amazon EC2 Auto Scaling APIs.
-* `github.com/aws/aws-sdk-go-v2/service/cloud9`: [v1.18.2](service/cloud9/CHANGELOG.md#v1182-2023-08-03)
- * **Documentation**: Updated the deprecation date for Amazon Linux. Doc only update.
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.30.0](service/databasemigrationservice/CHANGELOG.md#v1300-2023-08-03)
- * **Feature**: The release makes public API for DMS Schema Conversion feature.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.110.0](service/ec2/CHANGELOG.md#v11100-2023-08-03)
- * **Feature**: This release adds new parameter isPrimaryIPv6 to allow assigning an IPv6 address as a primary IPv6 address to a network interface which cannot be changed to give equivalent functionality available for network interfaces with primary IPv4 address.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.99.0](service/sagemaker/CHANGELOG.md#v1990-2023-08-03)
- * **Feature**: Amazon SageMaker now supports running training jobs on p5.48xlarge instance types.
-
-# Release (2023-08-02)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/budgets`: [v1.16.0](service/budgets/CHANGELOG.md#v1160-2023-08-02)
- * **Feature**: As part of CAE tagging integration we need to update our budget names regex filter to prevent customers from using "/action/" in their budget names.
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.25.0](service/cognitoidentityprovider/CHANGELOG.md#v1250-2023-08-02)
- * **Feature**: New feature that logs Cognito user pool error messages to CloudWatch logs.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.60.0](service/glue/CHANGELOG.md#v1600-2023-08-02)
- * **Feature**: This release includes additional Glue Streaming KAKFA SASL property types.
-* `github.com/aws/aws-sdk-go-v2/service/resiliencehub`: [v1.13.0](service/resiliencehub/CHANGELOG.md#v1130-2023-08-02)
- * **Feature**: Drift Detection capability added when applications policy has moved from a meet to breach state. Customers will be able to exclude operational recommendations and receive credit in their resilience score. Customers can now add ARH permissions to an existing or new role.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.98.0](service/sagemaker/CHANGELOG.md#v1980-2023-08-02)
- * **Feature**: SageMaker Inference Recommender introduces a new API GetScalingConfigurationRecommendation to recommend auto scaling policies based on completed Inference Recommender jobs.
-
-# Release (2023-08-01)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.26.0](service/batch/CHANGELOG.md#v1260-2023-08-01)
- * **Feature**: This release adds support for price capacity optimized allocation strategy for Spot Instances.
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.29.0](service/databasemigrationservice/CHANGELOG.md#v1290-2023-08-01)
- * **Feature**: Adding new API describe-engine-versions which provides information about the lifecycle of a replication instance's version.
-* `github.com/aws/aws-sdk-go-v2/service/internetmonitor`: [v1.5.0](service/internetmonitor/CHANGELOG.md#v150-2023-08-01)
- * **Feature**: This release adds a new feature for Amazon CloudWatch Internet Monitor that enables customers to set custom thresholds, for performance and availability drops, for impact limited to a single city-network to trigger creation of a health event.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.34.0](service/medialive/CHANGELOG.md#v1340-2023-08-01)
- * **Feature**: AWS Elemental Link devices now report their Availability Zone. Link devices now support the ability to change their Availability Zone.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.29.0](service/polly/CHANGELOG.md#v1290-2023-08-01)
- * **Feature**: Amazon Polly adds new French Belgian voice - Isabelle. Isabelle is available as Neural voice only.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.50.0](service/rds/CHANGELOG.md#v1500-2023-08-01)
- * **Feature**: Added support for deleted clusters PiTR.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.97.0](service/sagemaker/CHANGELOG.md#v1970-2023-08-01)
- * **Feature**: Add Stairs TrafficPattern and FlatInvocations to RecommendationJobStoppingConditions
-
-# Release (2023-07-31)
-
-## General Highlights
-* **Feature**: Adds support for smithy-modeled endpoint resolution. A new rules-based endpoint resolution will be added to the SDK which will supercede and deprecate existing endpoint resolution. Specifically, EndpointResolver will be deprecated while BaseEndpoint and EndpointResolverV2 will take its place. For more information, please see the Endpoints section in our Developer Guide.
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder`: [v1.12.0](service/amplifyuibuilder/CHANGELOG.md#v1120-2023-07-31)
- * **Feature**: Amplify Studio releases GraphQL support for codegen job action.
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.30.0](service/autoscaling/CHANGELOG.md#v1300-2023-07-31)
- * **Feature**: You can now configure an instance refresh to set its status to 'failed' when it detects that a specified CloudWatch alarm has gone into the ALARM state. You can also choose to roll back the instance refresh automatically when the alarm threshold is met.
-* `github.com/aws/aws-sdk-go-v2/service/cleanrooms`: [v1.3.0](service/cleanrooms/CHANGELOG.md#v130-2023-07-31)
- * **Feature**: This release introduces custom SQL queries - an expanded set of SQL you can run. This release adds analysis templates, a new resource for storing pre-defined custom SQL queries ahead of time. This release also adds the Custom analysis rule, which lets you approve analysis templates for querying.
-* `github.com/aws/aws-sdk-go-v2/service/codestarconnections`: [v1.15.0](service/codestarconnections/CHANGELOG.md#v1150-2023-07-31)
- * **Feature**: New integration with the Gitlab provider type.
-* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.15.0](service/drs/CHANGELOG.md#v1150-2023-07-31)
- * **Feature**: Add support for in-aws right sizing
-* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.16.0](service/inspector2/CHANGELOG.md#v1160-2023-07-31)
- * **Feature**: This release adds 1 new API: BatchGetFindingDetails to retrieve enhanced vulnerability intelligence details for findings.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutequipment`: [v1.18.0](service/lookoutequipment/CHANGELOG.md#v1180-2023-07-31)
- * **Feature**: This release includes new import resource, model versioning and resource policy features.
-* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.6.0](service/omics/CHANGELOG.md#v160-2023-07-31)
- * **Feature**: Add CreationType filter for ListReadSets
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.49.0](service/rds/CHANGELOG.md#v1490-2023-07-31)
- * **Feature**: This release adds support for Aurora MySQL local write forwarding, which allows for forwarding of write operations from reader DB instances to the writer DB instance.
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.29.0](service/route53/CHANGELOG.md#v1290-2023-07-31)
- * **Feature**: Amazon Route 53 now supports the Israel (Tel Aviv) Region (il-central-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region.
-* `github.com/aws/aws-sdk-go-v2/service/scheduler`: [v1.2.0](service/scheduler/CHANGELOG.md#v120-2023-07-31)
- * **Feature**: This release introduces automatic deletion of schedules in EventBridge Scheduler. If configured, EventBridge Scheduler automatically deletes a schedule after the schedule has completed its last invocation.
-
-# Release (2023-07-28.2)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/applicationinsights`: [v1.18.0](service/applicationinsights/CHANGELOG.md#v1180-2023-07-282)
- * **Feature**: This release enable customer to add/remove/update more than one workload for a component
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.33.0](service/cloudformation/CHANGELOG.md#v1330-2023-07-282)
- * **Feature**: This SDK release is for the feature launch of AWS CloudFormation RetainExceptOnCreate. It adds a new parameter retainExceptOnCreate in the following APIs: CreateStack, UpdateStack, RollbackStack, ExecuteChangeSet.
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.27.0](service/cloudfront/CHANGELOG.md#v1270-2023-07-282)
- * **Feature**: Add a new JavaScript runtime version for CloudFront Functions.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.62.0](service/connect/CHANGELOG.md#v1620-2023-07-282)
- * **Feature**: This release adds support for new number types.
-* `github.com/aws/aws-sdk-go-v2/service/kafka`: [v1.21.0](service/kafka/CHANGELOG.md#v1210-2023-07-282)
- * **Feature**: Amazon MSK has introduced new versions of ListClusterOperations and DescribeClusterOperation APIs. These v2 APIs provide information and insights into the ongoing operations of both MSK Provisioned and MSK Serverless clusters.
-* `github.com/aws/aws-sdk-go-v2/service/pinpoint`: [v1.21.0](service/pinpoint/CHANGELOG.md#v1210-2023-07-282)
- * **Feature**: Added support for sending push notifications using the FCM v1 API with json credentials. Amazon Pinpoint customers can now deliver messages to Android devices using both FCM v1 API and the legacy FCM/GCM API
-
-# Release (2023-07-28)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.23.4](service/sqs/CHANGELOG.md#v1234-2023-07-28)
- * **Documentation**: Documentation changes related to SQS APIs.
-
-# Release (2023-07-27)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.29.0](service/autoscaling/CHANGELOG.md#v1290-2023-07-27)
- * **Feature**: This release updates validation for instance types used in the AllowedInstanceTypes and ExcludedInstanceTypes parameters of the InstanceRequirements property of a MixedInstancesPolicy.
-* `github.com/aws/aws-sdk-go-v2/service/ebs`: [v1.17.0](service/ebs/CHANGELOG.md#v1170-2023-07-27)
- * **Feature**: SDK and documentation updates for Amazon Elastic Block Store API
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.108.0](service/ec2/CHANGELOG.md#v11080-2023-07-27)
- * **Feature**: SDK and documentation updates for Amazon Elastic Block Store APIs
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.28.0](service/eks/CHANGELOG.md#v1280-2023-07-27)
- * **Feature**: Add multiple customer error code to handle customer caused failure when managing EKS node groups
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.95.0](service/sagemaker/CHANGELOG.md#v1950-2023-07-27)
- * **Feature**: Expose ProfilerConfig attribute in SageMaker Search API response.
-
-# Release (2023-07-26)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/entityresolution`: [v1.0.0](service/entityresolution/CHANGELOG.md#v100-2023-07-26)
- * **Release**: New AWS service client module
- * **Feature**: AWS Entity Resolution can effectively match a source record from a customer relationship management (CRM) system with a source record from a marketing system containing campaign information.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.58.0](service/glue/CHANGELOG.md#v1580-2023-07-26)
- * **Feature**: Release Glue Studio Snowflake Connector Node for SDK/CLI
-* `github.com/aws/aws-sdk-go-v2/service/healthlake`: [v1.16.4](service/healthlake/CHANGELOG.md#v1164-2023-07-26)
- * **Documentation**: Updating the HealthLake service documentation.
-* `github.com/aws/aws-sdk-go-v2/service/managedblockchainquery`: [v1.0.0](service/managedblockchainquery/CHANGELOG.md#v100-2023-07-26)
- * **Release**: New AWS service client module
- * **Feature**: Amazon Managed Blockchain (AMB) Query provides serverless access to standardized, multi-blockchain datasets with developer-friendly APIs.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.39.1](service/mediaconvert/CHANGELOG.md#v1391-2023-07-26)
- * **Documentation**: This release includes general updates to user documentation.
-* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.5.2](service/omics/CHANGELOG.md#v152-2023-07-26)
- * **Documentation**: The service is renaming as a part of AWS Health.
-* `github.com/aws/aws-sdk-go-v2/service/opensearchserverless`: [v1.3.0](service/opensearchserverless/CHANGELOG.md#v130-2023-07-26)
- * **Feature**: This release adds new collection type VectorSearch.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.27.0](service/polly/CHANGELOG.md#v1270-2023-07-26)
- * **Feature**: Amazon Polly adds 1 new voice - Lisa (nl-BE)
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.28.5](service/route53/CHANGELOG.md#v1285-2023-07-26)
- * **Documentation**: Update that corrects the documents for received feedback.
-
-# Release (2023-07-25)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/billingconductor`: [v1.7.0](service/billingconductor/CHANGELOG.md#v170-2023-07-25)
- * **Feature**: Added support for Auto-Assocate Billing Groups for CreateBillingGroup, UpdateBillingGroup, and ListBillingGroups.
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.26.0](service/customerprofiles/CHANGELOG.md#v1260-2023-07-25)
- * **Feature**: Amazon Connect Customer Profiles now supports rule-based resolution to match and merge similar profiles into unified profiles, helping companies deliver faster and more personalized customer service by providing access to relevant customer information for agents and automated experiences.
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.26.0](service/datasync/CHANGELOG.md#v1260-2023-07-25)
- * **Feature**: AWS DataSync now supports Microsoft Azure Blob Storage locations.
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.20.2](service/dynamodb/CHANGELOG.md#v1202-2023-07-25)
- * **Documentation**: Documentation updates for DynamoDB
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.107.0](service/ec2/CHANGELOG.md#v11070-2023-07-25)
- * **Feature**: This release adds an instance's peak and baseline network bandwidth as well as the memory sizes of an instance's inference accelerators to DescribeInstanceTypes.
-* `github.com/aws/aws-sdk-go-v2/service/emrserverless`: [v1.9.0](service/emrserverless/CHANGELOG.md#v190-2023-07-25)
- * **Feature**: This release adds support for publishing application logs to CloudWatch.
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.38.0](service/lambda/CHANGELOG.md#v1380-2023-07-25)
- * **Feature**: Add Python 3.11 (python3.11) support to AWS Lambda
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.48.0](service/rds/CHANGELOG.md#v1480-2023-07-25)
- * **Feature**: This release adds support for monitoring storage optimization progress on the DescribeDBInstances API.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.94.0](service/sagemaker/CHANGELOG.md#v1940-2023-07-25)
- * **Feature**: Mark ContentColumn and TargetLabelColumn as required Targets in TextClassificationJobConfig in CreateAutoMLJobV2API
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.34.0](service/securityhub/CHANGELOG.md#v1340-2023-07-25)
- * **Feature**: Add support for CONTAINS and NOT_CONTAINS comparison operators for Automation Rules string filters and map filters
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.20.0](service/sts/CHANGELOG.md#v1200-2023-07-25)
- * **Feature**: API updates for the AWS Security Token Service
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.32.0](service/transfer/CHANGELOG.md#v1320-2023-07-25)
- * **Feature**: This release adds support for SFTP Connectors.
-* `github.com/aws/aws-sdk-go-v2/service/wisdom`: [v1.14.0](service/wisdom/CHANGELOG.md#v1140-2023-07-25)
- * **Feature**: This release added two new data types: AssistantIntegrationConfiguration, and SessionIntegrationConfiguration to support Wisdom integration with Amazon Connect Chat
-
-# Release (2023-07-24)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/apigatewayv2`: [v1.13.15](service/apigatewayv2/CHANGELOG.md#v11315-2023-07-24)
- * **Documentation**: Documentation updates for Amazon API Gateway.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines`: [v1.5.0](service/chimesdkmediapipelines/CHANGELOG.md#v150-2023-07-24)
- * **Feature**: AWS Media Pipeline compositing enhancement and Media Insights Pipeline auto language identification.
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.32.0](service/cloudformation/CHANGELOG.md#v1320-2023-07-24)
- * **Feature**: This release supports filtering by DRIFT_STATUS for existing API ListStackInstances and adds support for a new API ListStackInstanceResourceDrifts. Customers can now view resource drift information from their StackSet management accounts.
-* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.26.0](service/costexplorer/CHANGELOG.md#v1260-2023-07-24)
- * **Feature**: This release introduces the new API 'GetSavingsPlanPurchaseRecommendationDetails', which retrieves the details for a Savings Plan recommendation. It also updates the existing API 'GetSavingsPlansPurchaseRecommendation' to include the recommendation detail ID.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.106.0](service/ec2/CHANGELOG.md#v11060-2023-07-24)
- * **Feature**: Add "disabled" enum value to SpotInstanceState.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.57.0](service/glue/CHANGELOG.md#v1570-2023-07-24)
- * **Feature**: Added support for Data Preparation Recipe node in Glue Studio jobs
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.39.0](service/quicksight/CHANGELOG.md#v1390-2023-07-24)
- * **Feature**: This release launches new Snapshot APIs for CSV and PDF exports, adds support for info icon for filters and parameters in Exploration APIs, adds modeled exception to the DeleteAccountCustomization API, and introduces AttributeAggregationFunction's ability to add UNIQUE_VALUE aggregation in tooltips.
-
-# Release (2023-07-21)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.56.0](service/glue/CHANGELOG.md#v1560-2023-07-21)
- * **Feature**: This release adds support for AWS Glue Crawler with Apache Hudi Tables, allowing Crawlers to discover Hudi Tables in S3 and register them in Glue Data Catalog for query engines to query against.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.39.0](service/mediaconvert/CHANGELOG.md#v1390-2023-07-21)
- * **Feature**: This release includes improvements to Preserve 444 handling, compatibility of HEVC sources without frame rates, and general improvements to MP4 outputs.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.47.0](service/rds/CHANGELOG.md#v1470-2023-07-21)
- * **Feature**: Adds support for the DBSystemID parameter of CreateDBInstance to RDS Custom for Oracle.
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.28.17](service/workspaces/CHANGELOG.md#v12817-2023-07-21)
- * **Documentation**: Fixed VolumeEncryptionKey descriptions
-
-# Release (2023-07-20.2)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/codecatalyst`: [v1.4.0](service/codecatalyst/CHANGELOG.md#v140-2023-07-202)
- * **Feature**: This release adds support for updating and deleting spaces and projects in Amazon CodeCatalyst. It also adds support for creating, getting, and deleting source repositories in CodeCatalyst projects.
-* `github.com/aws/aws-sdk-go-v2/service/connectcases`: [v1.5.0](service/connectcases/CHANGELOG.md#v150-2023-07-202)
- * **Feature**: This release adds the ability to assign a case to a queue or user.
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.31.0](service/lexmodelsv2/CHANGELOG.md#v1310-2023-07-202)
- * **Feature**: This release updates type for Channel field in SessionSpecification and UtteranceSpecification
-* `github.com/aws/aws-sdk-go-v2/service/route53resolver`: [v1.18.0](service/route53resolver/CHANGELOG.md#v1180-2023-07-202)
- * **Feature**: This release adds support for Route 53 On Outposts, a new feature that allows customers to run Route 53 Resolver and Resolver endpoints locally on their Outposts.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.93.0](service/sagemaker/CHANGELOG.md#v1930-2023-07-202)
- * **Feature**: Cross account support for SageMaker Feature Store
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerfeaturestoreruntime`: [v1.16.0](service/sagemakerfeaturestoreruntime/CHANGELOG.md#v1160-2023-07-202)
- * **Feature**: Cross account support for SageMaker Feature Store
-* `github.com/aws/aws-sdk-go-v2/service/securitylake`: [v1.5.0](service/securitylake/CHANGELOG.md#v150-2023-07-202)
- * **Feature**: Adding support for Tags on Create and Resource Tagging API.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.27.0](service/transcribe/CHANGELOG.md#v1270-2023-07-202)
- * **Feature**: Added API argument --toxicity-detection to startTranscriptionJob API, which allows users to view toxicity scores of submitted audio.
-
-# Release (2023-07-20)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/savingsplans`: [v1.12.14](service/savingsplans/CHANGELOG.md#v11214-2023-07-20)
- * **Documentation**: Savings Plans endpoints update
-
-# Release (2023-07-19)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.31.0](service/cloudformation/CHANGELOG.md#v1310-2023-07-19)
- * **Feature**: SDK and documentation updates for GetTemplateSummary API (unrecognized resources)
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.105.1](service/ec2/CHANGELOG.md#v11051-2023-07-19)
- * **Documentation**: Amazon EC2 documentation updates.
-* `github.com/aws/aws-sdk-go-v2/service/grafana`: [v1.14.0](service/grafana/CHANGELOG.md#v1140-2023-07-19)
- * **Feature**: Amazon Managed Grafana now supports grafanaVersion update for existing workspaces with UpdateWorkspaceConfiguration API. DescribeWorkspaceConfiguration API additionally returns grafanaVersion. A new ListVersions API lists available versions or, if given a workspaceId, the versions it can upgrade to.
-* `github.com/aws/aws-sdk-go-v2/service/medicalimaging`: [v1.0.0](service/medicalimaging/CHANGELOG.md#v100-2023-07-19)
- * **Release**: New AWS service client module
- * **Feature**: General Availability (GA) release of AWS Health Imaging, enabling customers to store, transform, and analyze medical imaging data at petabyte-scale.
-* `github.com/aws/aws-sdk-go-v2/service/ram`: [v1.19.0](service/ram/CHANGELOG.md#v1190-2023-07-19)
- * **Feature**: This release adds support for securely sharing with AWS service principals.
-* `github.com/aws/aws-sdk-go-v2/service/ssmsap`: [v1.3.0](service/ssmsap/CHANGELOG.md#v130-2023-07-19)
- * **Feature**: Added support for SAP Hana High Availability discovery (primary and secondary nodes) and Backint agent installation with SSM for SAP.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.36.0](service/wafv2/CHANGELOG.md#v1360-2023-07-19)
- * **Feature**: Added the URI path to the custom aggregation keys that you can specify for a rate-based rule.
-
-# Release (2023-07-18)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/codegurusecurity`: [v1.0.3](service/codegurusecurity/CHANGELOG.md#v103-2023-07-18)
- * **Documentation**: Documentation updates for CodeGuru Security.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.61.1](service/connect/CHANGELOG.md#v1611-2023-07-18)
- * **Documentation**: GetMetricDataV2 API: Update to include Contact Lens Conversational Analytics Metrics
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.30.0](service/lexmodelsv2/CHANGELOG.md#v1300-2023-07-18)
- * **Feature**: This release adds support for Lex Developers to view analytics for their bots.
-* `github.com/aws/aws-sdk-go-v2/service/m2`: [v1.6.0](service/m2/CHANGELOG.md#v160-2023-07-18)
- * **Feature**: Allows UpdateEnvironment to update the environment to 0 host capacity. New GetSignedBluinsightsUrl API
-* `github.com/aws/aws-sdk-go-v2/service/snowball`: [v1.20.0](service/snowball/CHANGELOG.md#v1200-2023-07-18)
- * **Feature**: Adds support for RACK_5U_C. This is the first AWS Snow Family device designed to meet U.S. Military Ruggedization Standards (MIL-STD-810H) with 208 vCPU device in a portable, compact 5U, half-rack width form-factor.
-* `github.com/aws/aws-sdk-go-v2/service/translate`: [v1.18.4](service/translate/CHANGELOG.md#v1184-2023-07-18)
- * **Documentation**: Added DOCX word document support to TranslateDocument API
-
-# Release (2023-07-17)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.18.8](service/codeartifact/CHANGELOG.md#v1188-2023-07-17)
- * **Documentation**: Doc only update for AWS CodeArtifact
-* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.22.0](service/docdb/CHANGELOG.md#v1220-2023-07-17)
- * **Feature**: Added major version upgrade option in ModifyDBCluster API
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.105.0](service/ec2/CHANGELOG.md#v11050-2023-07-17)
- * **Feature**: Add Nitro TPM support on DescribeInstanceTypes
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.55.0](service/glue/CHANGELOG.md#v1550-2023-07-17)
- * **Feature**: Adding new supported permission type flags to get-unfiltered endpoints that callers may pass to indicate support for enforcing Lake Formation fine-grained access control on nested column attributes.
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.24.0](service/ivs/CHANGELOG.md#v1240-2023-07-17)
- * **Feature**: This release provides the flexibility to configure what renditions or thumbnail qualities to record when creating recording configuration.
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.22.0](service/lakeformation/CHANGELOG.md#v1220-2023-07-17)
- * **Feature**: Adds supports for ReadOnlyAdmins and AllowFullTableExternalDataAccess. Adds NESTED_PERMISSION and NESTED_CELL_PERMISSION to SUPPORTED_PERMISSION_TYPES enum. Adds CREATE_LF_TAG on catalog resource and ALTER, DROP, and GRANT_WITH_LF_TAG_EXPRESSION on LF Tag resource.
-
-# Release (2023-07-13)
-
-## General Highlights
-* **Feature**: Modify user agent syntax and introduce support for optional app identifier in UA header
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.23.0](service/cognitoidentityprovider/CHANGELOG.md#v1230-2023-07-13)
- * **Feature**: API model updated in Amazon Cognito
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.61.0](service/connect/CHANGELOG.md#v1610-2023-07-13)
- * **Feature**: Add support for deleting Queues and Routing Profiles.
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.27.0](service/databasemigrationservice/CHANGELOG.md#v1270-2023-07-13)
- * **Feature**: Enhanced PostgreSQL target endpoint settings for providing Babelfish support.
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.25.0](service/datasync/CHANGELOG.md#v1250-2023-07-13)
- * **Feature**: Added LunCount to the response object of DescribeStorageSystemResourcesResponse, LunCount represents the number of LUNs on a storage system resource.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.104.0](service/ec2/CHANGELOG.md#v11040-2023-07-13)
- * **Feature**: This release adds support for the C7gn and Hpc7g instances. C7gn instances are powered by AWS Graviton3 processors and the fifth-generation AWS Nitro Cards. Hpc7g instances are powered by AWS Graviton 3E processors and provide up to 200 Gbps network bandwidth.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.30.0](service/fsx/CHANGELOG.md#v1300-2023-07-13)
- * **Feature**: Amazon FSx for NetApp ONTAP now supports SnapLock, an ONTAP feature that enables you to protect your files in a volume by transitioning them to a write once, read many (WORM) state.
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.21.1](service/iam/CHANGELOG.md#v1211-2023-07-13)
- * **Documentation**: Documentation updates for AWS Identity and Access Management (IAM).
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.25.0](service/mediatailor/CHANGELOG.md#v1250-2023-07-13)
- * **Feature**: Adds categories to MediaTailor channel assembly alerts
-* `github.com/aws/aws-sdk-go-v2/service/personalize`: [v1.25.0](service/personalize/CHANGELOG.md#v1250-2023-07-13)
- * **Feature**: This release provides ability to customers to change schema associated with their datasets in Amazon Personalize
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.22.0](service/proton/CHANGELOG.md#v1220-2023-07-13)
- * **Feature**: This release adds support for deployment history for Proton provisioned resources
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.37.0](service/s3/CHANGELOG.md#v1370-2023-07-13)
- * **Feature**: S3 Inventory now supports Object Access Control List and Object Owner as available object metadata fields in inventory reports.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.92.0](service/sagemaker/CHANGELOG.md#v1920-2023-07-13)
- * **Feature**: Amazon SageMaker Canvas adds WorkspeceSettings support for CanvasAppSettings
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.19.11](service/secretsmanager/CHANGELOG.md#v11911-2023-07-13)
- * **Documentation**: Documentation updates for Secrets Manager
-
-# Release (2023-07-07)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.22.0](service/cloudwatchlogs/CHANGELOG.md#v1220-2023-07-07)
- * **Feature**: Add CMK encryption support for CloudWatch Logs Insights query result data
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.26.0](service/databasemigrationservice/CHANGELOG.md#v1260-2023-07-07)
- * **Feature**: Releasing DMS Serverless. Adding support for PostgreSQL 15.x as source and target endpoint. Adding support for DocDB Elastic Clusters with sharded collections, PostgreSQL datatype mapping customization and disabling hostname validation of the certificate authority in Kafka endpoint settings
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.54.0](service/glue/CHANGELOG.md#v1540-2023-07-07)
- * **Feature**: This release enables customers to create new Apache Iceberg tables and associated metadata in Amazon S3 by using native AWS Glue CreateTable operation.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.32.0](service/medialive/CHANGELOG.md#v1320-2023-07-07)
- * **Feature**: This release enables the use of Thumbnails in AWS Elemental MediaLive.
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.24.0](service/mediatailor/CHANGELOG.md#v1240-2023-07-07)
- * **Feature**: The AWS Elemental MediaTailor SDK for Channel Assembly has added support for EXT-X-CUE-OUT and EXT-X-CUE-IN tags to specify ad breaks in HLS outputs, including support for EXT-OATCLS, EXT-X-ASSET, and EXT-X-CUE-OUT-CONT accessory tags.
-
-# Release (2023-07-06)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.103.0](service/ec2/CHANGELOG.md#v11030-2023-07-06)
- * **Feature**: Add Nitro Enclaves support on DescribeInstanceTypes
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.25.0](service/location/CHANGELOG.md#v1250-2023-07-06)
- * **Feature**: This release adds support for authenticating with Amazon Location Service's Places & Routes APIs with an API Key. Also, with this release developers can publish tracked device position updates to Amazon EventBridge.
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.28.0](service/outposts/CHANGELOG.md#v1280-2023-07-06)
- * **Feature**: Added paginator support to several APIs. Added the ISOLATED enum value to AssetState.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.38.0](service/quicksight/CHANGELOG.md#v1380-2023-07-06)
- * **Feature**: This release includes below three changes: small multiples axes improvement, field based coloring, removed required trait from Aggregation function for TopBottomFilter.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.46.1](service/rds/CHANGELOG.md#v1461-2023-07-06)
- * **Documentation**: Updates Amazon RDS documentation for creating DB instances and creating Aurora global clusters.
-
-# Release (2023-07-05)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/comprehendmedical`: [v1.16.3](service/comprehendmedical/CHANGELOG.md#v1163-2023-07-05)
- * **Documentation**: Update to Amazon Comprehend Medical documentation.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.60.1](service/connect/CHANGELOG.md#v1601-2023-07-05)
- * **Documentation**: GetMetricDataV2 API: Channels filters do not count towards overall limitation of 100 filter values.
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.23.0](service/kms/CHANGELOG.md#v1230-2023-07-05)
- * **Feature**: Added Dry Run Feature to cryptographic and cross-account mutating KMS APIs (14 in all). This feature allows users to test their permissions and parameters before making the actual API call.
-* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.19.0](service/mgn/CHANGELOG.md#v1190-2023-07-05)
- * **Feature**: This release introduces the Global view feature and new Replication state APIs.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.33.2](service/securityhub/CHANGELOG.md#v1332-2023-07-05)
- * **Documentation**: Documentation updates for AWS Security Hub
-
-# Release (2023-07-03)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.24.0](service/batch/CHANGELOG.md#v1240-2023-07-03)
- * **Feature**: This feature allows customers to use AWS Batch with Linux with ARM64 CPU Architecture and X86_64 CPU Architecture with Windows OS on Fargate Platform.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.91.0](service/sagemaker/CHANGELOG.md#v1910-2023-07-03)
- * **Feature**: SageMaker Inference Recommender now accepts new fields SupportedEndpointType and ServerlessConfiguration to support serverless endpoints.
-
-# Release (2023-06-30)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.28.0](service/ecs/CHANGELOG.md#v1280-2023-06-30)
- * **Feature**: Added new field "credentialspecs" to the ecs task definition to support gMSA of windows/linux in both domainless and domain-joined mode
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.38.1](service/mediaconvert/CHANGELOG.md#v1381-2023-06-30)
- * **Documentation**: This release includes improved color handling of overlays and general updates to user documentation.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.90.0](service/sagemaker/CHANGELOG.md#v1900-2023-06-30)
- * **Feature**: This release adds support for rolling deployment in SageMaker Inference.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.31.0](service/transfer/CHANGELOG.md#v1310-2023-06-30)
- * **Feature**: Add outbound Basic authentication support to AS2 connectors
-* `github.com/aws/aws-sdk-go-v2/service/verifiedpermissions`: [v1.0.4](service/verifiedpermissions/CHANGELOG.md#v104-2023-06-30)
- * **Documentation**: This release corrects several broken links in the documentation.
-
-# Release (2023-06-29)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.21.0](service/appstream/CHANGELOG.md#v1210-2023-06-29)
- * **Feature**: This release introduces app block builder, allowing customers to provision a resource to package applications into an app block
-* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.24.0](service/chime/CHANGELOG.md#v1240-2023-06-29)
- * **Feature**: The Amazon Chime SDK APIs in the Chime namespace are no longer supported. Customers should use APIs in the dedicated Amazon Chime SDK namespaces: ChimeSDKIdentity, ChimeSDKMediaPipelines, ChimeSDKMeetings, ChimeSDKMessaging, and ChimeSDKVoice.
-* `github.com/aws/aws-sdk-go-v2/service/cleanrooms`: [v1.2.0](service/cleanrooms/CHANGELOG.md#v120-2023-06-29)
- * **Feature**: This release adds support for the OR operator in RSQL join match conditions and the ability to control which operators (AND, OR) are allowed in a join match condition.
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.20.0](service/dynamodb/CHANGELOG.md#v1200-2023-06-29)
- * **Feature**: This release adds ReturnValuesOnConditionCheckFailure parameter to PutItem, UpdateItem, DeleteItem, ExecuteStatement, BatchExecuteStatement and ExecuteTransaction APIs. When set to ALL_OLD, API returns a copy of the item as it was when a conditional write failed
-* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.20.0](service/gamelift/CHANGELOG.md#v1200-2023-06-29)
- * **Feature**: Amazon GameLift now supports game builds that use the Amazon Linux 2023 (AL2023) operating system.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.53.0](service/glue/CHANGELOG.md#v1530-2023-06-29)
- * **Feature**: This release adds support for AWS Glue Crawler with Iceberg Tables, allowing Crawlers to discover Iceberg Tables in S3 and register them in Glue Data Catalog for query engines to query against.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.89.0](service/sagemaker/CHANGELOG.md#v1890-2023-06-29)
- * **Feature**: Adding support for timeseries forecasting in the CreateAutoMLJobV2 API.
-
-# Release (2023-06-28)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/internetmonitor`: [v1.3.0](service/internetmonitor/CHANGELOG.md#v130-2023-06-28)
- * **Feature**: This release adds a new feature for Amazon CloudWatch Internet Monitor that enables customers to set custom thresholds, for performance and availability drops, for triggering when to create a health event.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2`: [v1.17.0](service/kinesisanalyticsv2/CHANGELOG.md#v1170-2023-06-28)
- * **Feature**: Support for new runtime environment in Kinesis Data Analytics Studio: Zeppelin-0.10, Apache Flink-1.15
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.37.0](service/lambda/CHANGELOG.md#v1370-2023-06-28)
- * **Feature**: Surface ResourceConflictException in DeleteEventSourceMapping
-* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.5.0](service/omics/CHANGELOG.md#v150-2023-06-28)
- * **Feature**: Add Common Workflow Language (CWL) as a supported language for Omics workflows
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.46.0](service/rds/CHANGELOG.md#v1460-2023-06-28)
- * **Feature**: Amazon Relational Database Service (RDS) now supports joining a RDS for SQL Server instance to a self-managed Active Directory.
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.36.0](service/s3/CHANGELOG.md#v1360-2023-06-28)
- * **Feature**: The S3 LISTObjects, ListObjectsV2 and ListObjectVersions API now supports a new optional header x-amz-optional-object-attributes. If header contains RestoreStatus as the value, then S3 will include Glacier restore status i.e. isRestoreInProgress and RestoreExpiryDate in List response.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.88.0](service/sagemaker/CHANGELOG.md#v1880-2023-06-28)
- * **Feature**: This release adds support for Model Cards Model Registry integration.
-
-# Release (2023-06-27)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appfabric`: [v1.0.0](service/appfabric/CHANGELOG.md#v100-2023-06-27)
- * **Release**: New AWS service client module
- * **Feature**: Initial release of AWS AppFabric for connecting SaaS applications for better productivity and security.
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.32.0](service/appflow/CHANGELOG.md#v1320-2023-06-27)
- * **Feature**: This release adds support to bypass SSO with the SAPOData connector when connecting to an SAP instance.
-* `github.com/aws/aws-sdk-go-v2/service/emrserverless`: [v1.8.0](service/emrserverless/CHANGELOG.md#v180-2023-06-27)
- * **Feature**: This release adds support to update the release label of an EMR Serverless application to upgrade it to a different version of Amazon EMR via UpdateApplication API.
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.23.0](service/ivs/CHANGELOG.md#v1230-2023-06-27)
- * **Feature**: IVS customers can now revoke the viewer session associated with an auth token, to prevent and stop playback using that token.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideo`: [v1.16.0](service/kinesisvideo/CHANGELOG.md#v1160-2023-06-27)
- * **Feature**: General Availability (GA) release of Kinesis Video Streams at Edge, enabling customers to provide a configuration for the Kinesis Video Streams EdgeAgent running on an on-premise IoT device. Customers can now locally record from cameras and stream videos to the cloud on a configured schedule.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.28.0](service/macie2/CHANGELOG.md#v1280-2023-06-27)
- * **Feature**: This release adds support for configuring new classification jobs to use the set of managed data identifiers that we recommend for jobs. For the managed data identifier selection type (managedDataIdentifierSelector), specify RECOMMENDED.
-* `github.com/aws/aws-sdk-go-v2/service/privatenetworks`: [v1.3.0](service/privatenetworks/CHANGELOG.md#v130-2023-06-27)
- * **Feature**: This release allows Private5G customers to choose different commitment plans (60-days, 1-year, 3-years) when placing new orders, enables automatic renewal option for 1-year and 3-years commitments. It also allows customers to update the commitment plan of an existing radio unit.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.87.0](service/sagemaker/CHANGELOG.md#v1870-2023-06-27)
- * **Feature**: Introducing TTL for online store records in feature groups.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerfeaturestoreruntime`: [v1.15.0](service/sagemakerfeaturestoreruntime/CHANGELOG.md#v1150-2023-06-27)
- * **Feature**: Introducing TTL for online store records for feature groups.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.36.7](service/ssm/CHANGELOG.md#v1367-2023-06-27)
- * **Documentation**: Systems Manager doc-only update for June 2023.
-* `github.com/aws/aws-sdk-go-v2/service/verifiedpermissions`: [v1.0.3](service/verifiedpermissions/CHANGELOG.md#v103-2023-06-27)
- * **Documentation**: This update fixes several broken links to the Cedar documentation.
-
-# Release (2023-06-26)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.60.0](service/connect/CHANGELOG.md#v1600-2023-06-26)
- * **Feature**: This release provides a way to search for existing tags within an instance. Before tagging a resource, ensure consistency by searching for pre-existing key:value pairs.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.52.0](service/glue/CHANGELOG.md#v1520-2023-06-26)
- * **Feature**: Timestamp Starting Position For Kinesis and Kafka Data Sources in a Glue Streaming Job
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.24.0](service/guardduty/CHANGELOG.md#v1240-2023-06-26)
- * **Feature**: Add support for user.extra.sessionName in Kubernetes Audit Logs Findings.
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.21.0](service/iam/CHANGELOG.md#v1210-2023-06-26)
- * **Feature**: Support for a new API "GetMFADevice" to present MFA device metadata such as device certifications
-* `github.com/aws/aws-sdk-go-v2/service/pinpoint`: [v1.20.0](service/pinpoint/CHANGELOG.md#v1200-2023-06-26)
- * **Feature**: Added time zone estimation support for journeys
-
-# Release (2023-06-23)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.24.0](service/devopsguru/CHANGELOG.md#v1240-2023-06-23)
- * **Feature**: This release adds support for encryption via customer managed keys.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.29.3](service/fsx/CHANGELOG.md#v1293-2023-06-23)
- * **Documentation**: Update to Amazon FSx documentation.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.45.3](service/rds/CHANGELOG.md#v1453-2023-06-23)
- * **Documentation**: Documentation improvements for create, describe, and modify DB clusters and DB instances.
-* `github.com/aws/aws-sdk-go-v2/service/verifiedpermissions`: [v1.0.2](service/verifiedpermissions/CHANGELOG.md#v102-2023-06-23)
- * **Documentation**: Added improved descriptions and new code samples to SDK documentation.
-
-# Release (2023-06-22)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkidentity`: [v1.12.0](service/chimesdkidentity/CHANGELOG.md#v1120-2023-06-22)
- * **Feature**: AppInstanceBots can be configured to be invoked or not using the Target or the CHIME.mentions attribute for ChannelMessages
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.16.0](service/chimesdkmessaging/CHANGELOG.md#v1160-2023-06-22)
- * **Feature**: ChannelMessages can be made visible to sender and intended recipient rather than all channel members with the target attribute. For example, a user can send messages to a bot and receive messages back in a group channel without other members seeing them.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.41.0](service/kendra/CHANGELOG.md#v1410-2023-06-22)
- * **Feature**: Introducing Amazon Kendra Retrieve API that can be used to retrieve relevant passages or text excerpts given an input query.
-* `github.com/aws/aws-sdk-go-v2/service/sfn`: [v1.18.0](service/sfn/CHANGELOG.md#v1180-2023-06-22)
- * **Feature**: Adds support for Versions and Aliases. Adds 8 operations: PublishStateMachineVersion, DeleteStateMachineVersion, ListStateMachineVersions, CreateStateMachineAlias, DescribeStateMachineAlias, UpdateStateMachineAlias, DeleteStateMachineAlias, ListStateMachineAliases
-
-# Release (2023-06-21)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.19.11](service/dynamodb/CHANGELOG.md#v11911-2023-06-21)
- * **Documentation**: Documentation updates for DynamoDB
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.27.0](service/emr/CHANGELOG.md#v1270-2023-06-21)
- * **Feature**: This release introduces a new Amazon EMR EPI called ListSupportedInstanceTypes that returns a list of all instance types supported by a given EMR release.
-* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.15.0](service/inspector2/CHANGELOG.md#v1150-2023-06-21)
- * **Feature**: This release adds support for Software Bill of Materials (SBOM) export and the general availability of code scanning for AWS Lambda functions.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.38.0](service/mediaconvert/CHANGELOG.md#v1380-2023-06-21)
- * **Feature**: This release introduces the bandwidth reduction filter for the HEVC encoder, increases the limits of outputs per job, and updates support for the Nagra SDK to version 1.14.7.
-* `github.com/aws/aws-sdk-go-v2/service/mq`: [v1.15.0](service/mq/CHANGELOG.md#v1150-2023-06-21)
- * **Feature**: The Cross Region Disaster Recovery feature allows to replicate a brokers state from one region to another in order to provide customers with multi-region resiliency in the event of a regional outage.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.86.0](service/sagemaker/CHANGELOG.md#v1860-2023-06-21)
- * **Feature**: This release provides support in SageMaker for output files in training jobs to be uploaded without compression and enable customer to deploy uncompressed model from S3 to real-time inference Endpoints. In addition, ml.trn1n.32xlarge is added to supported instance type list in training job.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.30.0](service/transfer/CHANGELOG.md#v1300-2023-06-21)
- * **Feature**: This release adds a new parameter StructuredLogDestinations to CreateServer, UpdateServer APIs.
-
-# Release (2023-06-20)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.31.0](service/appflow/CHANGELOG.md#v1310-2023-06-20)
- * **Feature**: This release adds new API to reset connector metadata cache
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.34.0](service/configservice/CHANGELOG.md#v1340-2023-06-20)
- * **Feature**: Updated ResourceType enum with new resource types onboarded by AWS Config in May 2023.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.102.0](service/ec2/CHANGELOG.md#v11020-2023-06-20)
- * **Feature**: Adds support for targeting Dedicated Host allocations by assetIds in AWS Outposts
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.36.0](service/lambda/CHANGELOG.md#v1360-2023-06-20)
- * **Feature**: This release adds RecursiveInvocationException to the Invoke API and InvokeWithResponseStream API.
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.28.0](service/redshift/CHANGELOG.md#v1280-2023-06-20)
- * **Feature**: Added support for custom domain names for Redshift Provisioned clusters. This feature enables customers to create a custom domain name and use ACM to generate fully secure connections to it.
-
-# Release (2023-06-19)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.30.0](service/cloudformation/CHANGELOG.md#v1300-2023-06-19)
- * **Feature**: Specify desired CloudFormation behavior in the event of ChangeSet execution failure using the CreateChangeSet OnStackFailure parameter
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.101.0](service/ec2/CHANGELOG.md#v11010-2023-06-19)
- * **Feature**: API changes to AWS Verified Access to include data from trust providers in logs
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.27.4](service/ecs/CHANGELOG.md#v1274-2023-06-19)
- * **Documentation**: Documentation only update to address various tickets.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.51.0](service/glue/CHANGELOG.md#v1510-2023-06-19)
- * **Feature**: This release adds support for creating cross region table/database resource links
-* `github.com/aws/aws-sdk-go-v2/service/pricing`: [v1.20.0](service/pricing/CHANGELOG.md#v1200-2023-06-19)
- * **Feature**: This release updates the PriceListArn regex pattern.
-* `github.com/aws/aws-sdk-go-v2/service/route53domains`: [v1.15.0](service/route53domains/CHANGELOG.md#v1150-2023-06-19)
- * **Feature**: Update MaxItems upper bound to 1000 for ListPricesRequest
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.85.0](service/sagemaker/CHANGELOG.md#v1850-2023-06-19)
- * **Feature**: Amazon Sagemaker Autopilot releases CreateAutoMLJobV2 and DescribeAutoMLJobV2 for Autopilot customers with ImageClassification, TextClassification and Tabular problem type config support.
-
-# Release (2023-06-16)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/applicationdiscoveryservice`: [v1.16.0](service/applicationdiscoveryservice/CHANGELOG.md#v1160-2023-06-16)
- * **Feature**: Add Amazon EC2 instance recommendations export
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.59.0](service/connect/CHANGELOG.md#v1590-2023-06-16)
- * **Feature**: Updates the *InstanceStorageConfig APIs to support a new ResourceType: SCREEN_RECORDINGS to enable screen recording and specify the storage configurations for publishing the recordings. Also updates DescribeInstance and ListInstances APIs to include InstanceAccessUrl attribute in the API response.
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.20.3](service/iam/CHANGELOG.md#v1203-2023-06-16)
- * **Documentation**: Documentation updates for AWS Identity and Access Management (IAM).
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.35.0](service/s3/CHANGELOG.md#v1350-2023-06-16)
- * **Feature**: This release adds SDK support for request-payer request header and request-charged response header in the "GetBucketAccelerateConfiguration", "ListMultipartUploads", "ListObjects", "ListObjectsV2" and "ListObjectVersions" S3 APIs.
-
-# Release (2023-06-15)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.25.0](service/auditmanager/CHANGELOG.md#v1250-2023-06-15)
- * **Feature**: This release introduces 2 Audit Manager features: CSV exports and new manual evidence options. You can now export your evidence finder results in CSV format. In addition, you can now add manual evidence to a control by entering free-form text or uploading a file from your browser.
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.20.3](service/efs/CHANGELOG.md#v1203-2023-06-15)
- * **Documentation**: Documentation updates for EFS.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.23.2](service/guardduty/CHANGELOG.md#v1232-2023-06-15)
- * **Documentation**: Updated descriptions for some APIs.
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.24.0](service/location/CHANGELOG.md#v1240-2023-06-15)
- * **Feature**: Amazon Location Service adds categories to places, including filtering on those categories in searches. Also, you can now add metadata properties to your geofences.
-
-# Release (2023-06-13)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.27.0](service/cloudtrail/CHANGELOG.md#v1270-2023-06-13)
- * **Feature**: This feature allows users to view dashboards for CloudTrail Lake event data stores.
-* `github.com/aws/aws-sdk-go-v2/service/codegurusecurity`: [v1.0.0](service/codegurusecurity/CHANGELOG.md#v100-2023-06-13)
- * **Release**: New AWS service client module
- * **Feature**: Initial release of Amazon CodeGuru Security APIs
-* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.14.0](service/drs/CHANGELOG.md#v1140-2023-06-13)
- * **Feature**: Added APIs to support network replication and recovery using AWS Elastic Disaster Recovery.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.100.0](service/ec2/CHANGELOG.md#v11000-2023-06-13)
- * **Feature**: This release introduces a new feature, EC2 Instance Connect Endpoint, that enables you to connect to a resource over TCP, without requiring the resource to have a public IPv4 address.
-* `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.23.5](service/imagebuilder/CHANGELOG.md#v1235-2023-06-13)
- * **Documentation**: Change the Image Builder ImagePipeline dateNextRun field to more accurately describe the data.
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.27.0](service/lightsail/CHANGELOG.md#v1270-2023-06-13)
- * **Feature**: This release adds pagination for the Get Certificates API operation.
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.34.0](service/s3/CHANGELOG.md#v1340-2023-06-13)
- * **Feature**: Integrate double encryption feature to SDKs.
- * **Bug Fix**: Fix HeadObject to return types.Nound when an object does not exist. Fixes [2084](https://github.com/aws/aws-sdk-go-v2/issues/2084)
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.33.0](service/securityhub/CHANGELOG.md#v1330-2023-06-13)
- * **Feature**: Add support for Security Hub Automation Rules
-* `github.com/aws/aws-sdk-go-v2/service/simspaceweaver`: [v1.3.0](service/simspaceweaver/CHANGELOG.md#v130-2023-06-13)
- * **Feature**: This release fixes using aws-us-gov ARNs in API calls and adds documentation for snapshot APIs.
-* `github.com/aws/aws-sdk-go-v2/service/verifiedpermissions`: [v1.0.0](service/verifiedpermissions/CHANGELOG.md#v100-2023-06-13)
- * **Release**: New AWS service client module
- * **Feature**: GA release of Amazon Verified Permissions.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.35.0](service/wafv2/CHANGELOG.md#v1350-2023-06-13)
- * **Feature**: You can now detect and block fraudulent account creation attempts with the new AWS WAF Fraud Control account creation fraud prevention (ACFP) managed rule group AWSManagedRulesACFPRuleSet.
-* `github.com/aws/aws-sdk-go-v2/service/wellarchitected`: [v1.21.0](service/wellarchitected/CHANGELOG.md#v1210-2023-06-13)
- * **Feature**: AWS Well-Architected now supports Profiles that help customers prioritize which questions to focus on first by providing a list of prioritized questions that are better aligned with their business goals and outcomes.
-
-# Release (2023-06-12)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder`: [v1.11.0](service/amplifyuibuilder/CHANGELOG.md#v1110-2023-06-12)
- * **Feature**: AWS Amplify UIBuilder is launching Codegen UI, a new feature that enables you to generate your amplify uibuilder components and forms.
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.19.8](service/dynamodb/CHANGELOG.md#v1198-2023-06-12)
- * **Documentation**: Documentation updates for DynamoDB
-* `github.com/aws/aws-sdk-go-v2/service/dynamodbstreams`: [v1.14.12](service/dynamodbstreams/CHANGELOG.md#v11412-2023-06-12)
- * **Documentation**: Documentation updates for DynamoDB Streams
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.29.0](service/fsx/CHANGELOG.md#v1290-2023-06-12)
- * **Feature**: Amazon FSx for NetApp ONTAP now supports joining a storage virtual machine (SVM) to Active Directory after the SVM has been created.
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.18.0](service/opensearch/CHANGELOG.md#v1180-2023-06-12)
- * **Feature**: This release adds support for SkipUnavailable connection property for cross cluster search
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.29.0](service/rekognition/CHANGELOG.md#v1290-2023-06-12)
- * **Feature**: This release adds support for improved accuracy with user vector in Amazon Rekognition Face Search. Adds new APIs: AssociateFaces, CreateUser, DeleteUser, DisassociateFaces, ListUsers, SearchUsers, SearchUsersByImage. Also adds new face metadata that can be stored: user vector.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.84.0](service/sagemaker/CHANGELOG.md#v1840-2023-06-12)
- * **Feature**: Sagemaker Neo now supports compilation for inferentia2 (ML_INF2) and Trainium1 (ML_TRN1) as available targets. With these devices, you can run your workloads at highest performance with lowest cost. inferentia2 (ML_INF2) is available in CMH and Trainium1 (ML_TRN1) is available in IAD currently
-
-# Release (2023-06-09)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.21.13](service/acmpca/CHANGELOG.md#v12113-2023-06-09)
- * **Documentation**: Document-only update to refresh CLI documentation for AWS Private CA. No change to the service.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.58.0](service/connect/CHANGELOG.md#v1580-2023-06-09)
- * **Feature**: This release adds search APIs for Prompts, Quick Connects and Hours of Operations, which can be used to search for those resources within a Connect Instance.
-
-# Release (2023-06-08)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.30.0](service/athena/CHANGELOG.md#v1300-2023-06-08)
- * **Feature**: You can now define custom spark properties at start of the session for use cases like cluster encryption, table formats, and general Spark tuning.
-* `github.com/aws/aws-sdk-go-v2/service/comprehendmedical`: [v1.16.0](service/comprehendmedical/CHANGELOG.md#v1160-2023-06-08)
- * **Feature**: This release supports a new set of entities and traits.
-* `github.com/aws/aws-sdk-go-v2/service/paymentcryptography`: [v1.0.0](service/paymentcryptography/CHANGELOG.md#v100-2023-06-08)
- * **Release**: New AWS service client module
- * **Feature**: Initial release of AWS Payment Cryptography Control Plane service for creating and managing cryptographic keys used during card payment processing.
-* `github.com/aws/aws-sdk-go-v2/service/paymentcryptographydata`: [v1.0.0](service/paymentcryptographydata/CHANGELOG.md#v100-2023-06-08)
- * **Release**: New AWS service client module
- * **Feature**: Initial release of AWS Payment Cryptography DataPlane Plane service for performing cryptographic operations typically used during card payment processing.
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.19.0](service/servicecatalog/CHANGELOG.md#v1190-2023-06-08)
- * **Feature**: New parameter added in ServiceCatalog DescribeProvisioningArtifact api - IncludeProvisioningArtifactParameters. This parameter can be used to return information about the parameters used to provision the product
-* `github.com/aws/aws-sdk-go-v2/service/timestreamwrite`: [v1.17.0](service/timestreamwrite/CHANGELOG.md#v1170-2023-06-08)
- * **Feature**: This release adds the capability for customers to define how their data should be partitioned, optimizing for certain access patterns. This definition will take place as a part of the table creation.
-
-# Release (2023-06-07)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.29.0](service/cloudformation/CHANGELOG.md#v1290-2023-06-07)
- * **Feature**: AWS CloudFormation StackSets is updating the deployment experience for all stackset operations to skip suspended AWS accounts during deployments. StackSets will skip target AWS accounts that are suspended and set the Detailed Status of the corresponding stack instances as SKIPPED_SUSPENDED_ACCOUNT
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.21.0](service/cloudwatchlogs/CHANGELOG.md#v1210-2023-06-07)
- * **Feature**: This change adds support for account level data protection policies using 3 new APIs, PutAccountPolicy, DeleteAccountPolicy and DescribeAccountPolicy. DescribeLogGroup API has been modified to indicate if account level policy is applied to the LogGroup via "inheritedProperties" list in the response.
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.25.0](service/customerprofiles/CHANGELOG.md#v1250-2023-06-07)
- * **Feature**: This release introduces event stream related APIs.
-* `github.com/aws/aws-sdk-go-v2/service/directconnect`: [v1.18.15](service/directconnect/CHANGELOG.md#v11815-2023-06-07)
- * **Documentation**: This update corrects the jumbo frames mtu values from 9100 to 8500 for transit virtual interfaces.
-* `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.19.0](service/emrcontainers/CHANGELOG.md#v1190-2023-06-07)
- * **Feature**: EMR on EKS adds support for log rotation of Spark container logs with EMR-6.11.0 onwards, to the StartJobRun API.
-* `github.com/aws/aws-sdk-go-v2/service/iotdeviceadvisor`: [v1.19.0](service/iotdeviceadvisor/CHANGELOG.md#v1190-2023-06-07)
- * **Feature**: AWS IoT Core Device Advisor now supports new Qualification Suite test case list. With this update, customers can more easily create new qualification test suite with an empty rootGroup input.
-
-# Release (2023-06-06)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.57.1](service/connect/CHANGELOG.md#v1571-2023-06-06)
- * **Documentation**: GetMetricDataV2 API is now available in AWS GovCloud(US) region.
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.26.0](service/emr/CHANGELOG.md#v1260-2023-06-06)
- * **Feature**: This release provides customers the ability to specify an allocation strategies amongst PRICE_CAPACITY_OPTIMIZED, CAPACITY_OPTIMIZED, LOWEST_PRICE, DIVERSIFIED for Spot instances in Instance Feet cluster. This enables customers to choose an allocation strategy best suited for their workload.
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.20.0](service/iam/CHANGELOG.md#v1200-2023-06-06)
- * **Feature**: This release updates the AccountAlias regex pattern with the same length restrictions enforced by the length constraint.
-* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.14.0](service/inspector2/CHANGELOG.md#v1140-2023-06-06)
- * **Feature**: Adds new response properties and request parameters for 'last scanned at' on the ListCoverage operation. This feature allows you to search and view the date of which your resources were last scanned by Inspector.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.38.0](service/iot/CHANGELOG.md#v1380-2023-06-06)
- * **Feature**: Adding IoT Device Management Software Package Catalog APIs to register, store, and report system software packages, along with their versions and metadata in a centralized location.
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.29.0](service/lexmodelsv2/CHANGELOG.md#v1290-2023-06-06)
- * **Feature**: This release adds support for Lex Developers to create test sets and to execute those test-sets against their bots.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.37.0](service/quicksight/CHANGELOG.md#v1370-2023-06-06)
- * **Feature**: QuickSight support for pivot table field collapse state, radar chart range scale and multiple scope options in conditional formatting.
-* `github.com/aws/aws-sdk-go-v2/service/signer`: [v1.15.0](service/signer/CHANGELOG.md#v1150-2023-06-06)
- * **Feature**: AWS Signer is launching Container Image Signing, a new feature that enables you to sign and verify container images. This feature enables you to validate that only container images you approve are used in your enterprise.
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.23.0](service/sqs/CHANGELOG.md#v1230-2023-06-06)
- * **Feature**: Amazon SQS adds three new APIs - StartMessageMoveTask, CancelMessageMoveTask, and ListMessageMoveTasks to automate redriving messages from dead-letter queues to source queues or a custom destination.
-
-# Release (2023-06-05)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.28.0](service/cloudformation/CHANGELOG.md#v1280-2023-06-05)
- * **Feature**: AWS CloudFormation StackSets provides customers with three new APIs to activate, deactivate, and describe AWS Organizations trusted access which is needed to get started with service-managed StackSets.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.99.0](service/ec2/CHANGELOG.md#v1990-2023-06-05)
- * **Feature**: Making InstanceTagAttribute as the required parameter for the DeregisterInstanceEventNotificationAttributes and RegisterInstanceEventNotificationAttributes APIs.
-* `github.com/aws/aws-sdk-go-v2/service/finspace`: [v1.10.0](service/finspace/CHANGELOG.md#v1100-2023-06-05)
- * **Feature**: Releasing new Managed kdb Insights APIs
-* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.25.0](service/frauddetector/CHANGELOG.md#v1250-2023-06-05)
- * **Feature**: Added new variable types, new DateTime data type, and new rules engine functions for interacting and working with DateTime data types.
-* `github.com/aws/aws-sdk-go-v2/service/keyspaces`: [v1.3.0](service/keyspaces/CHANGELOG.md#v130-2023-06-05)
- * **Feature**: This release adds support for MRR GA launch, and includes multiregion support in create-keyspace, get-keyspace, and list-keyspace.
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.22.0](service/kms/CHANGELOG.md#v1220-2023-06-05)
- * **Feature**: This release includes feature to import customer's asymmetric (RSA and ECC) and HMAC keys into KMS. It also includes feature to allow customers to specify number of days to schedule a KMS key deletion as a policy condition key.
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.35.0](service/lambda/CHANGELOG.md#v1350-2023-06-05)
- * **Feature**: Add Ruby 3.2 (ruby3.2) Runtime support to AWS Lambda.
-* `github.com/aws/aws-sdk-go-v2/service/mwaa`: [v1.16.0](service/mwaa/CHANGELOG.md#v1160-2023-06-05)
- * **Feature**: This release adds ROLLING_BACK and CREATING_SNAPSHOT environment statuses for Amazon MWAA environments.
-
-# Release (2023-06-02)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.29.0](service/athena/CHANGELOG.md#v1290-2023-06-02)
- * **Feature**: This release introduces the DeleteCapacityReservation API and the ability to manage capacity reservations using CloudFormation
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.26.0](service/cloudtrail/CHANGELOG.md#v1260-2023-06-02)
- * **Feature**: This feature allows users to start and stop event ingestion on a CloudTrail Lake event data store.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.83.0](service/sagemaker/CHANGELOG.md#v1830-2023-06-02)
- * **Feature**: This release adds Selective Execution feature that allows SageMaker Pipelines users to run selected steps in a pipeline.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.34.0](service/wafv2/CHANGELOG.md#v1340-2023-06-02)
- * **Feature**: Added APIs to describe managed products. The APIs retrieve information about rule groups that are managed by AWS and by AWS Marketplace sellers.
-
-# Release (2023-06-01)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/alexaforbusiness`: [v1.15.11](service/alexaforbusiness/CHANGELOG.md#v11511-2023-06-01)
- * **Documentation**: Alexa for Business has been deprecated and is no longer supported.
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.30.0](service/appflow/CHANGELOG.md#v1300-2023-06-01)
- * **Feature**: Added ability to select DataTransferApiType for DescribeConnector and CreateFlow requests when using Async supported connectors. Added supportedDataTransferType to DescribeConnector/DescribeConnectors/ListConnector response.
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.24.0](service/customerprofiles/CHANGELOG.md#v1240-2023-06-01)
- * **Feature**: This release introduces calculated attribute related APIs.
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.22.0](service/ivs/CHANGELOG.md#v1220-2023-06-01)
- * **Feature**: API Update for IVS Advanced Channel type
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.82.1](service/sagemaker/CHANGELOG.md#v1821-2023-06-01)
- * **Documentation**: Amazon Sagemaker Autopilot adds support for Parquet file input to NLP text classification jobs.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.33.1](service/wafv2/CHANGELOG.md#v1331-2023-06-01)
- * **Documentation**: Corrected the information for the header order FieldToMatch setting
-
-# Release (2023-05-31)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.33.0](service/configservice/CHANGELOG.md#v1330-2023-05-31)
- * **Feature**: Resource Types Exclusion feature launch by AWS Config
-* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.24.0](service/frauddetector/CHANGELOG.md#v1240-2023-05-31)
- * **Feature**: This release enables publishing event predictions from Amazon Fraud Detector (AFD) to Amazon EventBridge. For example, after getting predictions from AFD, Amazon EventBridge rules can be configured to trigger notification through an SNS topic, send a message with SES, or trigger Lambda workflows.
-* `github.com/aws/aws-sdk-go-v2/service/healthlake`: [v1.16.0](service/healthlake/CHANGELOG.md#v1160-2023-05-31)
- * **Feature**: This release adds a new request parameter to the CreateFHIRDatastore API operation. IdentityProviderConfiguration specifies how you want to authenticate incoming requests to your Healthlake Data Store.
-* `github.com/aws/aws-sdk-go-v2/service/m2`: [v1.5.0](service/m2/CHANGELOG.md#v150-2023-05-31)
- * **Feature**: Adds an optional create-only 'roleArn' property to Application resources. Enables PS and PO data set org types.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.45.0](service/rds/CHANGELOG.md#v1450-2023-05-31)
- * **Feature**: This release adds support for changing the engine for Oracle using the ModifyDbInstance API
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.18.5](service/servicecatalog/CHANGELOG.md#v1185-2023-05-31)
- * **Documentation**: Documentation updates for ServiceCatalog.
-* `github.com/aws/aws-sdk-go-v2/service/workspacesweb`: [v1.10.0](service/workspacesweb/CHANGELOG.md#v1100-2023-05-31)
- * **Feature**: WorkSpaces Web now allows you to control which IP addresses your WorkSpaces Web portal may be accessed from.
-
-# Release (2023-05-30)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkvoice`: [v1.6.0](service/chimesdkvoice/CHANGELOG.md#v160-2023-05-30)
- * **Feature**: Added optional CallLeg field to StartSpeakerSearchTask API request
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.50.0](service/glue/CHANGELOG.md#v1500-2023-05-30)
- * **Feature**: Added Runtime parameter to allow selection of Ray Runtime
-* `github.com/aws/aws-sdk-go-v2/service/groundstation`: [v1.18.3](service/groundstation/CHANGELOG.md#v1183-2023-05-30)
- * **Documentation**: Updating description of GetMinuteUsage to be clearer.
-* `github.com/aws/aws-sdk-go-v2/service/iotfleetwise`: [v1.4.0](service/iotfleetwise/CHANGELOG.md#v140-2023-05-30)
- * **Feature**: Campaigns now support selecting Timestream or S3 as the data destination, Signal catalogs now support "Deprecation" keyword released in VSS v2.1 and "Comment" keyword released in VSS v3.0
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.23.0](service/location/CHANGELOG.md#v1230-2023-05-30)
- * **Feature**: This release adds API support for political views for the maps service APIs: CreateMap, UpdateMap, DescribeMap.
-* `github.com/aws/aws-sdk-go-v2/service/memorydb`: [v1.13.0](service/memorydb/CHANGELOG.md#v1130-2023-05-30)
- * **Feature**: Amazon MemoryDB for Redis now supports AWS Identity and Access Management authentication access to Redis clusters starting with redis-engine version 7.0
-* `github.com/aws/aws-sdk-go-v2/service/personalize`: [v1.24.0](service/personalize/CHANGELOG.md#v1240-2023-05-30)
- * **Feature**: This release provides support for the exclusion of certain columns for training when creating a solution and creating or updating a recommender with Amazon Personalize.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.26.0](service/polly/CHANGELOG.md#v1260-2023-05-30)
- * **Feature**: Amazon Polly adds 2 new voices - Sofie (da-DK) and Niamh (en-IE)
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.32.0](service/securityhub/CHANGELOG.md#v1320-2023-05-30)
- * **Feature**: Added new resource detail objects to ASFF, including resources for AwsGuardDutyDetector, AwsAmazonMqBroker, AwsEventSchemasRegistry, AwsAppSyncGraphQlApi and AwsStepFunctionStateMachine.
-* `github.com/aws/aws-sdk-go-v2/service/securitylake`: [v1.4.0](service/securitylake/CHANGELOG.md#v140-2023-05-30)
- * **Feature**: Log sources are now versioned. AWS log sources and custom sources will now come with a version identifier that enables producers to vend multiple schema versions to subscribers. Security Lake API have been refactored to more closely align with AWS API conventions.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.33.0](service/wafv2/CHANGELOG.md#v1330-2023-05-30)
- * **Feature**: This SDK release provides customers the ability to use Header Order as a field to match.
-
-# Release (2023-05-26)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.57.0](service/connect/CHANGELOG.md#v1570-2023-05-26)
- * **Feature**: Documentation update for a new Initiation Method value in DescribeContact API
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.28.0](service/iotwireless/CHANGELOG.md#v1280-2023-05-26)
- * **Feature**: Add Multicast Group support in Network Analyzer Configuration.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.82.0](service/sagemaker/CHANGELOG.md#v1820-2023-05-26)
- * **Feature**: Added ml.p4d and ml.inf1 as supported instance type families for SageMaker Notebook Instances.
-
-# Release (2023-05-25)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/applicationautoscaling`: [v1.21.0](service/applicationautoscaling/CHANGELOG.md#v1210-2023-05-25)
- * **Feature**: With this release, ElastiCache customers will be able to use predefined metricType "ElastiCacheDatabaseCapacityUsageCountedForEvictPercentage" for their ElastiCache instances.
-* `github.com/aws/aws-sdk-go-v2/service/codepipeline`: [v1.15.0](service/codepipeline/CHANGELOG.md#v1150-2023-05-25)
- * **Feature**: Add PollingDisabledAt time information in PipelineMetadata object of GetPipeline API.
-* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.19.0](service/gamelift/CHANGELOG.md#v1190-2023-05-25)
- * **Feature**: GameLift FleetIQ users can now filter game server claim requests to exclude servers on instances that are draining.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.49.0](service/glue/CHANGELOG.md#v1490-2023-05-25)
- * **Feature**: Added ability to create data quality rulesets for shared, cross-account Glue Data Catalog tables. Added support for dataset comparison rules through a new parameter called AdditionalDataSources. Enhanced the data quality results with a map containing profiled metric values.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubrefactorspaces`: [v1.10.0](service/migrationhubrefactorspaces/CHANGELOG.md#v1100-2023-05-25)
- * **Feature**: This SDK update allows for path parameter syntax to be passed to the CreateRoute API. Path parameter syntax require parameters to be enclosed in {} characters. This update also includes a new AppendSourcePath field which lets users forward the source path to the Service URL endpoint.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.81.0](service/sagemaker/CHANGELOG.md#v1810-2023-05-25)
- * **Feature**: Amazon SageMaker Automatic Model Tuning now supports enabling Autotune for tuning jobs which can choose tuning job configurations.
-
-# Release (2023-05-24)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.21.0](service/appsync/CHANGELOG.md#v1210-2023-05-24)
- * **Feature**: This release introduces AppSync Merged APIs, which provide the ability to compose multiple source APIs into a single federated/merged API.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.56.0](service/connect/CHANGELOG.md#v1560-2023-05-24)
- * **Feature**: Amazon Connect Evaluation Capabilities: validation improvements
-* `github.com/aws/aws-sdk-go-v2/service/costandusagereportservice`: [v1.16.0](service/costandusagereportservice/CHANGELOG.md#v1160-2023-05-24)
- * **Feature**: Add support for split cost allocation data on a report.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.80.0](service/sagemaker/CHANGELOG.md#v1800-2023-05-24)
- * **Feature**: SageMaker now provides an instantaneous deployment recommendation through the DescribeModel API
-
-# Release (2023-05-23)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.24.0](service/fms/CHANGELOG.md#v1240-2023-05-23)
- * **Feature**: Fixes issue that could cause calls to GetAdminScope and ListAdminAccountsForOrganization to return a 500 Internal Server error.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.79.0](service/sagemaker/CHANGELOG.md#v1790-2023-05-23)
- * **Feature**: Added ModelNameEquals, ModelPackageVersionArnEquals in request and ModelName, SamplePayloadUrl, ModelPackageVersionArn in response of ListInferenceRecommendationsJobs API. Added Invocation timestamps in response of DescribeInferenceRecommendationsJob API & ListInferenceRecommendationsJobSteps API.
-* `github.com/aws/aws-sdk-go-v2/service/translate`: [v1.18.0](service/translate/CHANGELOG.md#v1180-2023-05-23)
- * **Feature**: Added support for calling TranslateDocument API.
-
-# Release (2023-05-22)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.22.0](service/backup/CHANGELOG.md#v1220-2023-05-22)
- * **Feature**: Added support for tags on restore.
-* `github.com/aws/aws-sdk-go-v2/service/pinpoint`: [v1.19.2](service/pinpoint/CHANGELOG.md#v1192-2023-05-22)
- * **Documentation**: Amazon Pinpoint is deprecating the tags parameter in the UpdateSegment, UpdateCampaign, UpdateEmailTemplate, UpdateSmsTemplate, UpdatePushTemplate, UpdateInAppTemplate and UpdateVoiceTemplate. Amazon Pinpoint will end support tags parameter by May 22, 2023.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.36.0](service/quicksight/CHANGELOG.md#v1360-2023-05-22)
- * **Feature**: Add support for Asset Bundle, Geospatial Heatmaps.
-
-# Release (2023-05-19)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.21.0](service/backup/CHANGELOG.md#v1210-2023-05-19)
- * **Feature**: Add ResourceArn, ResourceType, and BackupVaultName to ListRecoveryPointsByLegalHold API response.
-* `github.com/aws/aws-sdk-go-v2/service/connectcases`: [v1.4.0](service/connectcases/CHANGELOG.md#v140-2023-05-19)
- * **Feature**: This release adds the ability to create fields with type Url through the CreateField API. For more information see https://docs.aws.amazon.com/cases/latest/APIReference/Welcome.html
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagev2`: [v1.0.0](service/mediapackagev2/CHANGELOG.md#v100-2023-05-19)
- * **Release**: New AWS service client module
- * **Feature**: Adds support for the MediaPackage Live v2 API
-* `github.com/aws/aws-sdk-go-v2/service/sesv2`: [v1.18.0](service/sesv2/CHANGELOG.md#v1180-2023-05-19)
- * **Feature**: This release allows customers to update scaling mode property of dedicated IP pools with PutDedicatedIpPoolScalingAttributes call.
-
-# Release (2023-05-18)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.28.0](service/athena/CHANGELOG.md#v1280-2023-05-18)
- * **Feature**: Removing SparkProperties from EngineConfiguration object for StartSession API call
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.25.0](service/cloudtrail/CHANGELOG.md#v1250-2023-05-18)
- * **Feature**: Add ConflictException to PutEventSelectors, add (Channel/EDS)ARNInvalidException to Tag APIs. These exceptions provide customers with more specific error messages instead of internal errors.
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.24.0](service/computeoptimizer/CHANGELOG.md#v1240-2023-05-18)
- * **Feature**: In this launch, we add support for showing integration status with external metric providers such as Instana, Datadog ...etc in GetEC2InstanceRecommendations and ExportEC2InstanceRecommendations apis
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.55.0](service/connect/CHANGELOG.md#v1550-2023-05-18)
- * **Feature**: You can programmatically create and manage prompts using APIs, for example, to extract prompts stored within Amazon Connect and add them to your Amazon S3 bucket. AWS CloudTrail, AWS CloudFormation and tagging are supported.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.98.0](service/ec2/CHANGELOG.md#v1980-2023-05-18)
- * **Feature**: Add support for i4g.large, i4g.xlarge, i4g.2xlarge, i4g.4xlarge, i4g.8xlarge and i4g.16xlarge instances powered by AWS Graviton2 processors that deliver up to 15% better compute performance than our other storage-optimized instances.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.27.1](service/ecs/CHANGELOG.md#v1271-2023-05-18)
- * **Documentation**: Documentation only release to address various tickets.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.37.0](service/mediaconvert/CHANGELOG.md#v1370-2023-05-18)
- * **Feature**: This release introduces a new MXF Profile for XDCAM which is strictly compliant with the SMPTE RDD 9 standard and improved handling of output name modifiers.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.44.1](service/rds/CHANGELOG.md#v1441-2023-05-18)
- * **Documentation**: RDS documentation update for the EngineVersion parameter of ModifyDBSnapshot
-* `github.com/aws/aws-sdk-go-v2/service/sagemakergeospatial`: [v1.3.0](service/sagemakergeospatial/CHANGELOG.md#v130-2023-05-18)
- * **Feature**: This release makes ExecutionRoleArn a required field in the StartEarthObservationJob API.
-
-# Release (2023-05-16)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/detective`: [v1.19.0](service/detective/CHANGELOG.md#v1190-2023-05-16)
- * **Feature**: Added and updated API operations in Detective to support the integration of ASFF Security Hub findings.
-* `github.com/aws/aws-sdk-go-v2/service/directconnect`: [v1.18.14](service/directconnect/CHANGELOG.md#v11814-2023-05-16)
- * **Documentation**: This release includes an update to the mtu value for CreateTransitVirtualInterface from 9001 mtu to 8500 mtu.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.48.0](service/glue/CHANGELOG.md#v1480-2023-05-16)
- * **Feature**: Add Support for Tags for Custom Entity Types
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.19.8](service/secretsmanager/CHANGELOG.md#v1198-2023-05-16)
- * **Documentation**: Documentation updates for Secrets Manager
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.32.0](service/wafv2/CHANGELOG.md#v1320-2023-05-16)
- * **Feature**: My AWS Service (placeholder) - You can now rate limit web requests based on aggregation keys other than IP addresses, and you can aggregate using combinations of keys. You can also rate limit all requests that match a scope-down statement, without further aggregation.
-
-# Release (2023-05-15)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.27.0](service/athena/CHANGELOG.md#v1270-2023-05-15)
- * **Feature**: You can now define custom spark properties at start of the session for use cases like cluster encryption, table formats, and general Spark tuning.
-* `github.com/aws/aws-sdk-go-v2/service/codecatalyst`: [v1.3.0](service/codecatalyst/CHANGELOG.md#v130-2023-05-15)
- * **Feature**: With this release, the users can list the active sessions connected to their Dev Environment on AWS CodeCatalyst
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.28.0](service/rekognition/CHANGELOG.md#v1280-2023-05-15)
- * **Feature**: This release adds a new EyeDirection attribute in Amazon Rekognition DetectFaces and IndexFaces APIs which predicts the yaw and pitch angles of a person's eye gaze direction for each face detected in the image.
-* `github.com/aws/aws-sdk-go-v2/service/rolesanywhere`: [v1.2.0](service/rolesanywhere/CHANGELOG.md#v120-2023-05-15)
- * **Feature**: Adds support for custom notification settings in a trust anchor. Introduces PutNotificationSettings and ResetNotificationSettings API's. Updates DurationSeconds max value to 3600.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.29.0](service/transfer/CHANGELOG.md#v1290-2023-05-15)
- * **Feature**: This release introduces the ability to require both password and SSH key when users authenticate to your Transfer Family servers that use the SFTP protocol.
-
-# Release (2023-05-11)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.54.2](service/connect/CHANGELOG.md#v1542-2023-05-11)
- * **Documentation**: This release updates GetMetricDataV2 API, to support metric data up-to last 35 days
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.27.0](service/elasticache/CHANGELOG.md#v1270-2023-05-11)
- * **Feature**: Added support to modify the cluster mode configuration for the existing ElastiCache ReplicationGroups. Customers can now modify the configuration from cluster mode disabled to cluster mode enabled.
-* `github.com/aws/aws-sdk-go-v2/service/elasticsearchservice`: [v1.19.0](service/elasticsearchservice/CHANGELOG.md#v1190-2023-05-11)
- * **Feature**: This release fixes DescribePackages API error with null filter value parameter.
-* `github.com/aws/aws-sdk-go-v2/service/health`: [v1.17.0](service/health/CHANGELOG.md#v1170-2023-05-11)
- * **Feature**: Add support for regional endpoints
-* `github.com/aws/aws-sdk-go-v2/service/ivsrealtime`: [v1.2.0](service/ivsrealtime/CHANGELOG.md#v120-2023-05-11)
- * **Feature**: Add methods for inspecting and debugging stages: ListStageSessions, GetStageSession, ListParticipants, GetParticipant, and ListParticipantEvents.
-* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.4.0](service/omics/CHANGELOG.md#v140-2023-05-11)
- * **Feature**: This release provides support for Ready2Run and GPU workflows, an improved read set filter, the direct upload of read sets into Omics Storage, and annotation parsing for analytics stores.
-* `github.com/aws/aws-sdk-go-v2/service/support`: [v1.15.0](service/support/CHANGELOG.md#v1150-2023-05-11)
- * **Feature**: This release adds 2 new Support APIs, DescribeCreateCaseOptions and DescribeSupportedLanguages. You can use these new APIs to get available support languages.
-
-# Release (2023-05-10)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.25.0](service/emr/CHANGELOG.md#v1250-2023-05-10)
- * **Feature**: EMR Studio now supports programmatically executing a Notebooks on an EMR on EKS cluster. In addition, notebooks can now be executed by specifying its location in S3.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.44.0](service/rds/CHANGELOG.md#v1440-2023-05-10)
- * **Feature**: Amazon Relational Database Service (RDS) updates for the new Aurora I/O-Optimized storage type for Amazon Aurora DB clusters
-* `github.com/aws/aws-sdk-go-v2/service/swf`: [v1.15.0](service/swf/CHANGELOG.md#v1150-2023-05-10)
- * **Feature**: This release adds a new API parameter to exclude old history events from decision tasks.
-
-# Release (2023-05-09)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/applicationautoscaling`: [v1.20.0](service/applicationautoscaling/CHANGELOG.md#v1200-2023-05-09)
- * **Feature**: With this release, Amazon SageMaker Serverless Inference customers can use Application Auto Scaling to auto scale the provisioned concurrency of their serverless endpoints.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.47.0](service/glue/CHANGELOG.md#v1470-2023-05-09)
- * **Feature**: This release adds AmazonRedshift Source and Target nodes in addition to DynamicTransform OutputSchemas
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.78.0](service/sagemaker/CHANGELOG.md#v1780-2023-05-09)
- * **Feature**: This release includes support for (1) Provisioned Concurrency for Amazon SageMaker Serverless Inference and (2) UpdateEndpointWeightsAndCapacities API for Serverless endpoints.
-
-# Release (2023-05-08)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.46.0](service/glue/CHANGELOG.md#v1460-2023-05-08)
- * **Feature**: Support large worker types G.4x and G.8x for Glue Spark
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.23.0](service/guardduty/CHANGELOG.md#v1230-2023-05-08)
- * **Feature**: Add AccessDeniedException 403 Error message code to support 3 Tagging related APIs
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.29.0](service/iotsitewise/CHANGELOG.md#v1290-2023-05-08)
- * **Feature**: Provide support for 20,000 max results for GetAssetPropertyValueHistory/BatchGetAssetPropertyValueHistory and 15 minute aggregate resolution for GetAssetPropertyAggregates/BatchGetAssetPropertyAggregates
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.19.0](service/sts/CHANGELOG.md#v1190-2023-05-08)
- * **Feature**: Documentation updates for AWS Security Token Service.
-
-# Release (2023-05-05)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.97.0](service/ec2/CHANGELOG.md#v1970-2023-05-05)
- * **Feature**: This release adds support the inf2 and trn1n instances. inf2 instances are purpose built for deep learning inference while trn1n instances are powered by AWS Trainium accelerators and they build on the capabilities of Trainium-powered trn1 instances.
-* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.13.0](service/inspector2/CHANGELOG.md#v1130-2023-05-05)
- * **Feature**: Amazon Inspector now allows customers to search its vulnerability intelligence database if any of the Inspector scanning types are activated.
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.23.0](service/mediatailor/CHANGELOG.md#v1230-2023-05-05)
- * **Feature**: This release adds support for AFTER_LIVE_EDGE mode configuration for avail suppression, and adding a fill-policy setting that sets the avail suppression to PARTIAL_AVAIL or FULL_AVAIL_ONLY when AFTER_LIVE_EDGE is enabled.
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.22.0](service/sqs/CHANGELOG.md#v1220-2023-05-05)
- * **Feature**: Revert previous SQS protocol change.
-
-# Release (2023-05-04)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.26.0](service/cloudwatch/CHANGELOG.md#v1260-2023-05-04)
- * **Feature**: Adds support for filtering by metric names in CloudWatch Metric Streams.
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.32.0](service/configservice/CHANGELOG.md#v1320-2023-05-04)
- * **Feature**: Updated ResourceType enum with new resource types onboarded by AWS Config in April 2023.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.54.1](service/connect/CHANGELOG.md#v1541-2023-05-04)
- * **Documentation**: Remove unused InvalidParameterException from CreateParticipant API
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.27.0](service/ecs/CHANGELOG.md#v1270-2023-05-04)
- * **Feature**: Documentation update for new error type NamespaceNotFoundException for CreateCluster and UpdateCluster
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.28.0](service/networkfirewall/CHANGELOG.md#v1280-2023-05-04)
- * **Feature**: This release adds support for the Suricata REJECT option in midstream exception configurations.
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.17.0](service/opensearch/CHANGELOG.md#v1170-2023-05-04)
- * **Feature**: DescribeDomainNodes: A new API that provides configuration information for nodes part of the domain
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.35.0](service/quicksight/CHANGELOG.md#v1350-2023-05-04)
- * **Feature**: Add support for Topic, Dataset parameters and VPC
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.27.0](service/rekognition/CHANGELOG.md#v1270-2023-05-04)
- * **Feature**: This release adds a new attribute FaceOccluded. Additionally, you can now select attributes individually (e.g. ["DEFAULT", "FACE_OCCLUDED", "AGE_RANGE"] instead of ["ALL"]), which can reduce response time.
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.33.1](service/s3/CHANGELOG.md#v1331-2023-05-04)
- * **Documentation**: Documentation updates for Amazon S3
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.77.0](service/sagemaker/CHANGELOG.md#v1770-2023-05-04)
- * **Feature**: We added support for ml.inf2 and ml.trn1 family of instances on Amazon SageMaker for deploying machine learning (ML) models for Real-time and Asynchronous inference. You can use these instances to achieve high performance at a low cost for generative artificial intelligence (AI) models.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.31.0](service/securityhub/CHANGELOG.md#v1310-2023-05-04)
- * **Feature**: Add support for Finding History.
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.21.0](service/sqs/CHANGELOG.md#v1210-2023-05-04)
- * **Feature**: This release enables customers to call SQS using AWS JSON-1.0 protocol.
-
-# Release (2023-05-03)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.20.0](service/appsync/CHANGELOG.md#v1200-2023-05-03)
- * **Feature**: Private API support for AWS AppSync. With Private APIs, you can now create GraphQL APIs that can only be accessed from your Amazon Virtual Private Cloud ("VPC").
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.96.0](service/ec2/CHANGELOG.md#v1960-2023-05-03)
- * **Feature**: Adds an SDK paginator for GetNetworkInsightsAccessScopeAnalysisFindings
-* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.12.0](service/inspector2/CHANGELOG.md#v1120-2023-05-03)
- * **Feature**: This feature provides deep inspection for linux based instance
-* `github.com/aws/aws-sdk-go-v2/service/iottwinmaker`: [v1.12.0](service/iottwinmaker/CHANGELOG.md#v1120-2023-05-03)
- * **Feature**: This release adds a field for GetScene API to return error code and message from dependency services.
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.27.0](service/networkfirewall/CHANGELOG.md#v1270-2023-05-03)
- * **Feature**: AWS Network Firewall now supports policy level HOME_NET variable overrides.
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.16.0](service/opensearch/CHANGELOG.md#v1160-2023-05-03)
- * **Feature**: Amazon OpenSearch Service adds the option to deploy a domain across multiple Availability Zones, with each AZ containing a complete copy of data and with nodes in one AZ acting as a standby. This option provides 99.99% availability and consistent performance in the event of infrastructure failure.
-* `github.com/aws/aws-sdk-go-v2/service/wellarchitected`: [v1.20.0](service/wellarchitected/CHANGELOG.md#v1200-2023-05-03)
- * **Feature**: This release deepens integration with AWS Service Catalog AppRegistry to improve workload resource discovery.
-
-# Release (2023-05-02)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.29.0](service/appflow/CHANGELOG.md#v1290-2023-05-02)
- * **Feature**: This release adds new API to cancel flow executions.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.54.0](service/connect/CHANGELOG.md#v1540-2023-05-02)
- * **Feature**: Amazon Connect Service Rules API update: Added OnContactEvaluationSubmit event source to support user configuring evaluation form rules.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.26.3](service/ecs/CHANGELOG.md#v1263-2023-05-02)
- * **Documentation**: Documentation only update to address Amazon ECS tickets.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.40.0](service/kendra/CHANGELOG.md#v1400-2023-05-02)
- * **Feature**: AWS Kendra now supports configuring document fields/attributes via the GetQuerySuggestions API. You can now base query suggestions on the contents of document fields.
-* `github.com/aws/aws-sdk-go-v2/service/resiliencehub`: [v1.11.0](service/resiliencehub/CHANGELOG.md#v1110-2023-05-02)
- * **Feature**: This release will improve resource level transparency in applications by discovering previously hidden resources.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.76.0](service/sagemaker/CHANGELOG.md#v1760-2023-05-02)
- * **Feature**: Amazon Sagemaker Autopilot supports training models with sample weights and additional objective metrics.
-
-# Release (2023-05-01)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.23.0](service/computeoptimizer/CHANGELOG.md#v1230-2023-05-01)
- * **Feature**: support for tag filtering within compute optimizer. ability to filter recommendation results by tag and tag key value pairs. ability to filter by inferred workload type added.
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.21.0](service/kms/CHANGELOG.md#v1210-2023-05-01)
- * **Feature**: This release makes the NitroEnclave request parameter Recipient and the response field for CiphertextForRecipient available in AWS SDKs. It also adds the regex pattern for CloudHsmClusterId validation.
-
-# Release (2023-04-28)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.28.0](service/appflow/CHANGELOG.md#v1280-2023-04-28)
- * **Feature**: Adds Jwt Support for Salesforce Credentials.
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.26.0](service/athena/CHANGELOG.md#v1260-2023-04-28)
- * **Feature**: You can now use capacity reservations on Amazon Athena to run SQL queries on fully-managed compute capacity.
-* `github.com/aws/aws-sdk-go-v2/service/directconnect`: [v1.18.12](service/directconnect/CHANGELOG.md#v11812-2023-04-28)
- * **Documentation**: This release corrects the jumbo frames MTU from 9100 to 8500.
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.20.0](service/efs/CHANGELOG.md#v1200-2023-04-28)
- * **Feature**: This release adds PAUSED and PAUSING state as a returned value for DescribeReplicationConfigurations response.
-* `github.com/aws/aws-sdk-go-v2/service/grafana`: [v1.13.0](service/grafana/CHANGELOG.md#v1130-2023-04-28)
- * **Feature**: This release adds support for the grafanaVersion parameter in CreateWorkspace.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.37.0](service/iot/CHANGELOG.md#v1370-2023-04-28)
- * **Feature**: This release allows AWS IoT Core users to specify a TLS security policy when creating and updating AWS IoT Domain Configurations.
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.26.0](service/rekognition/CHANGELOG.md#v1260-2023-04-28)
- * **Feature**: Added support for aggregating moderation labels by video segment timestamps for Stored Video Content Moderation APIs and added additional information about the job to all Stored Video Get API responses.
-* `github.com/aws/aws-sdk-go-v2/service/simspaceweaver`: [v1.2.0](service/simspaceweaver/CHANGELOG.md#v120-2023-04-28)
- * **Feature**: Added a new CreateSnapshot API. For the StartSimulation API, SchemaS3Location is now optional, added a new SnapshotS3Location parameter. For the DescribeSimulation API, added SNAPSHOT_IN_PROGRESS simulation state, deprecated SchemaError, added new fields: StartError and SnapshotS3Location.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.31.0](service/wafv2/CHANGELOG.md#v1310-2023-04-28)
- * **Feature**: You can now associate a web ACL with a Verified Access instance.
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.28.11](service/workspaces/CHANGELOG.md#v12811-2023-04-28)
- * **Documentation**: Added Windows 11 to support Microsoft_Office_2019
-
-# Release (2023-04-27)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.95.0](service/ec2/CHANGELOG.md#v1950-2023-04-27)
- * **Feature**: This release adds support for AMD SEV-SNP on EC2 instances.
-* `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.18.0](service/emrcontainers/CHANGELOG.md#v1180-2023-04-27)
- * **Feature**: This release adds GetManagedEndpointSessionCredentials, a new API that allows customers to generate an auth token to connect to a managed endpoint, enabling features such as self-hosted Jupyter notebooks for EMR on EKS.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.22.0](service/guardduty/CHANGELOG.md#v1220-2023-04-27)
- * **Feature**: Added API support to initiate on-demand malware scan on specific resources.
-* `github.com/aws/aws-sdk-go-v2/service/iotdeviceadvisor`: [v1.18.0](service/iotdeviceadvisor/CHANGELOG.md#v1180-2023-04-27)
- * **Feature**: AWS IoT Core Device Advisor now supports MQTT over WebSocket. With this update, customers can run all three test suites of AWS IoT Core Device Advisor - qualification, custom, and long duration tests - using Signature Version 4 for MQTT over WebSocket.
-* `github.com/aws/aws-sdk-go-v2/service/kafka`: [v1.20.0](service/kafka/CHANGELOG.md#v1200-2023-04-27)
- * **Feature**: Amazon MSK has added new APIs that allows multi-VPC private connectivity and cluster policy support for Amazon MSK clusters that simplify connectivity and access between your Apache Kafka clients hosted in different VPCs and AWS accounts and your Amazon MSK clusters.
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.34.0](service/lambda/CHANGELOG.md#v1340-2023-04-27)
- * **Feature**: Add Java 17 (java17) support to AWS Lambda
-* `github.com/aws/aws-sdk-go-v2/service/osis`: [v1.0.1](service/osis/CHANGELOG.md#v101-2023-04-27)
- * **Documentation**: Documentation updates for OpenSearch Ingestion
-* `github.com/aws/aws-sdk-go-v2/service/qldb`: [v1.15.10](service/qldb/CHANGELOG.md#v11510-2023-04-27)
- * **Documentation**: Documentation updates for Amazon QLDB
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.75.0](service/sagemaker/CHANGELOG.md#v1750-2023-04-27)
- * **Feature**: Added ml.p4d.24xlarge and ml.p4de.24xlarge as supported instances for SageMaker Studio
-
-# Release (2023-04-26)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/osis`: [v1.0.0](service/osis/CHANGELOG.md#v100-2023-04-26)
- * **Release**: New AWS service client module
- * **Feature**: Initial release for OpenSearch Ingestion
-
-# Release (2023-04-25)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.15.0](service/chimesdkmessaging/CHANGELOG.md#v1150-2023-04-25)
- * **Feature**: Remove non actionable field from UpdateChannelReadMarker and DeleteChannelRequest. Add precise exceptions to DeleteChannel and DeleteStreamingConfigurations error cases.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.53.0](service/connect/CHANGELOG.md#v1530-2023-04-25)
- * **Feature**: Amazon Connect, Contact Lens Evaluation API release including ability to manage forms and to submit contact evaluations.
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.24.0](service/datasync/CHANGELOG.md#v1240-2023-04-25)
- * **Feature**: This release adds 13 new APIs to support AWS DataSync Discovery GA.
-* `github.com/aws/aws-sdk-go-v2/service/directoryservice`: [v1.17.0](service/directoryservice/CHANGELOG.md#v1170-2023-04-25)
- * **Feature**: New field added in AWS Managed Microsoft AD DescribeSettings response and regex pattern update for UpdateSettings value. Added length validation to RemoteDomainName.
-* `github.com/aws/aws-sdk-go-v2/service/pinpoint`: [v1.19.0](service/pinpoint/CHANGELOG.md#v1190-2023-04-25)
- * **Feature**: Adds support for journey runs and querying journey execution metrics based on journey runs. Adds execution metrics to campaign activities. Updates docs for Advanced Quiet Time.
-
-# Release (2023-04-24)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.18.0
- * **Feature**: add recursion detection middleware to all SDK requests to avoid recursion invocation in Lambda
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.27.0](service/appflow/CHANGELOG.md#v1270-2023-04-24)
- * **Feature**: Increased the max length for RefreshToken and AuthCode from 2048 to 4096.
-* `github.com/aws/aws-sdk-go-v2/service/codecatalyst`: [v1.2.5](service/codecatalyst/CHANGELOG.md#v125-2023-04-24)
- * **Documentation**: Documentation updates for Amazon CodeCatalyst.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.94.0](service/ec2/CHANGELOG.md#v1940-2023-04-24)
- * **Feature**: API changes to AWS Verified Access related to identity providers' information.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.36.0](service/mediaconvert/CHANGELOG.md#v1360-2023-04-24)
- * **Feature**: This release introduces a noise reduction pre-filter, linear interpolation deinterlace mode, video pass-through, updated default job settings, and expanded LC-AAC Stereo audio bitrate ranges.
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.25.0](service/rekognition/CHANGELOG.md#v1250-2023-04-24)
- * **Feature**: Added new status result to Liveness session status.
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.28.0](service/route53/CHANGELOG.md#v1280-2023-04-24)
- * **Feature**: added paginator for listResourceRecordSets
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.33.0](service/s3/CHANGELOG.md#v1330-2023-04-24)
- * **Feature**: added custom paginators for listMultipartUploads and ListObjectVersions
-
-# Release (2023-04-21)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.52.0](service/connect/CHANGELOG.md#v1520-2023-04-21)
- * **Feature**: This release adds a new API CreateParticipant. For Amazon Connect Chat, you can use this new API to customize chat flow experiences.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.26.1](service/ecs/CHANGELOG.md#v1261-2023-04-21)
- * **Documentation**: Documentation update to address various Amazon ECS tickets.
-* `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.23.0](service/fms/CHANGELOG.md#v1230-2023-04-21)
- * **Feature**: AWS Firewall Manager adds support for multiple administrators. You can now delegate more than one administrator per organization.
-
-# Release (2023-04-20)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.23.0](service/chime/CHANGELOG.md#v1230-2023-04-20)
- * **Feature**: Adds support for Hindi and Thai languages and additional Amazon Transcribe parameters to the StartMeetingTranscription API.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines`: [v1.4.0](service/chimesdkmediapipelines/CHANGELOG.md#v140-2023-04-20)
- * **Feature**: This release adds support for specifying the recording file format in an S3 recording sink configuration.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.15.0](service/chimesdkmeetings/CHANGELOG.md#v1150-2023-04-20)
- * **Feature**: Adds support for Hindi and Thai languages and additional Amazon Transcribe parameters to the StartMeetingTranscription API.
-* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.18.0](service/gamelift/CHANGELOG.md#v1180-2023-04-20)
- * **Feature**: Amazon GameLift supports creating Builds for Windows 2016 operating system.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.21.0](service/guardduty/CHANGELOG.md#v1210-2023-04-20)
- * **Feature**: This release adds support for the new Lambda Protection feature.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.36.0](service/iot/CHANGELOG.md#v1360-2023-04-20)
- * **Feature**: Support additional OTA states in GetOTAUpdate API
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.74.0](service/sagemaker/CHANGELOG.md#v1740-2023-04-20)
- * **Feature**: Amazon SageMaker Canvas adds ModelRegisterSettings support for CanvasAppSettings.
-* `github.com/aws/aws-sdk-go-v2/service/snowball`: [v1.19.0](service/snowball/CHANGELOG.md#v1190-2023-04-20)
- * **Feature**: Adds support for Amazon S3 compatible storage. AWS Snow Family customers can now use Amazon S3 compatible storage on Snowball Edge devices. Also adds support for V3_5S. This is a refreshed AWS Snowball Edge Storage Optimized device type with 210TB SSD (customer usable).
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.30.0](service/wafv2/CHANGELOG.md#v1300-2023-04-20)
- * **Feature**: You can now create encrypted API keys to use in a client application integration of the JavaScript CAPTCHA API . You can also retrieve a list of your API keys and the JavaScript application integration URL.
-
-# Release (2023-04-19)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.24.0](service/comprehend/CHANGELOG.md#v1240-2023-04-19)
- * **Feature**: This release supports native document models for custom classification, in addition to plain-text models. You train native document models using documents (PDF, Word, images) in their native format.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.26.0](service/ecs/CHANGELOG.md#v1260-2023-04-19)
- * **Feature**: This release supports the Account Setting "TagResourceAuthorization" that allows for enhanced Tagging security controls.
-* `github.com/aws/aws-sdk-go-v2/service/ram`: [v1.18.0](service/ram/CHANGELOG.md#v1180-2023-04-19)
- * **Feature**: This release adds support for customer managed permissions. Customer managed permissions enable customers to author and manage tailored permissions for resources shared using RAM.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.43.1](service/rds/CHANGELOG.md#v1431-2023-04-19)
- * **Documentation**: Adds support for the ImageId parameter of CreateCustomDBEngineVersion to RDS Custom for Oracle
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.32.0](service/s3/CHANGELOG.md#v1320-2023-04-19)
- * **Feature**: Provides support for "Snow" Storage class.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.19.4](service/secretsmanager/CHANGELOG.md#v1194-2023-04-19)
- * **Documentation**: Documentation updates for Secrets Manager
-
-# Release (2023-04-17)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.26.0](service/appflow/CHANGELOG.md#v1260-2023-04-17)
- * **Feature**: This release adds a Client Token parameter to the following AppFlow APIs: Create/Update Connector Profile, Create/Update Flow, Start Flow, Register Connector, Update Connector Registration. The Client Token parameter allows idempotent operations for these APIs.
-* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.13.0](service/drs/CHANGELOG.md#v1130-2023-04-17)
- * **Feature**: Changed existing APIs and added new APIs to support using an account-level launch configuration template with AWS Elastic Disaster Recovery.
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.19.5](service/dynamodb/CHANGELOG.md#v1195-2023-04-17)
- * **Documentation**: Documentation updates for DynamoDB API
-* `github.com/aws/aws-sdk-go-v2/service/emrserverless`: [v1.7.0](service/emrserverless/CHANGELOG.md#v170-2023-04-17)
- * **Feature**: The GetJobRun API has been updated to include the job's billed resource utilization. This utilization shows the aggregate vCPU, memory and storage that AWS has billed for the job run. The billed resources include a 1-minute minimum usage for workers, plus additional storage over 20 GB per worker.
-* `github.com/aws/aws-sdk-go-v2/service/internetmonitor`: [v1.2.0](service/internetmonitor/CHANGELOG.md#v120-2023-04-17)
- * **Feature**: This release includes a new configurable value, TrafficPercentageToMonitor, which allows users to adjust the amount of traffic monitored by percentage
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.27.0](service/iotwireless/CHANGELOG.md#v1270-2023-04-17)
- * **Feature**: Supports the new feature of LoRaWAN roaming, allows to configure MaxEirp for LoRaWAN gateway, and allows to configure PingSlotPeriod for LoRaWAN multicast group
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.33.0](service/lambda/CHANGELOG.md#v1330-2023-04-17)
- * **Feature**: Add Python 3.10 (python3.10) support to AWS Lambda
-
-# Release (2023-04-14)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.25.1](service/ecs/CHANGELOG.md#v1251-2023-04-14)
- * **Documentation**: This release supports ephemeral storage for AWS Fargate Windows containers.
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.32.0](service/lambda/CHANGELOG.md#v1320-2023-04-14)
- * **Feature**: This release adds SnapStart related exceptions to InvokeWithResponseStream API. IAM access related documentation is also added for this API.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubrefactorspaces`: [v1.9.8](service/migrationhubrefactorspaces/CHANGELOG.md#v198-2023-04-14)
- * **Documentation**: Doc only update for Refactor Spaces environments without network bridge feature.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.43.0](service/rds/CHANGELOG.md#v1430-2023-04-14)
- * **Feature**: This release adds support of modifying the engine mode of database clusters.
-
-# Release (2023-04-13)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkvoice`: [v1.5.0](service/chimesdkvoice/CHANGELOG.md#v150-2023-04-13)
- * **Feature**: This release adds tagging support for Voice Connectors and SIP Media Applications
-* `github.com/aws/aws-sdk-go-v2/service/mediaconnect`: [v1.19.0](service/mediaconnect/CHANGELOG.md#v1190-2023-04-13)
- * **Feature**: Gateway is a new feature of AWS Elemental MediaConnect. Gateway allows the deployment of on-premises resources for the purpose of transporting live video to and from the AWS Cloud.
-
-# Release (2023-04-12)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/groundstation`: [v1.18.0](service/groundstation/CHANGELOG.md#v1180-2023-04-12)
- * **Feature**: AWS Ground Station Wideband DigIF GA Release
-* `github.com/aws/aws-sdk-go-v2/service/managedblockchain`: [v1.15.5](service/managedblockchain/CHANGELOG.md#v1155-2023-04-12)
- * **Documentation**: Removal of the Ropsten network. The Ethereum foundation ceased support of Ropsten on December 31st, 2022..
-
-# Release (2023-04-11)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ecrpublic`: [v1.16.0](service/ecrpublic/CHANGELOG.md#v1160-2023-04-11)
- * **Feature**: This release will allow using registry alias as registryId in BatchDeleteImage request.
-* `github.com/aws/aws-sdk-go-v2/service/emrserverless`: [v1.6.0](service/emrserverless/CHANGELOG.md#v160-2023-04-11)
- * **Feature**: This release extends GetJobRun API to return job run timeout (executionTimeoutMinutes) specified during StartJobRun call (or default timeout of 720 minutes if none was specified).
-* `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.19.0](service/eventbridge/CHANGELOG.md#v1190-2023-04-11)
- * **Feature**: EventBridge PutTarget support for multiple SQL arguments on RedshiftDataParameters
-* `github.com/aws/aws-sdk-go-v2/service/iotdataplane`: [v1.15.0](service/iotdataplane/CHANGELOG.md#v1150-2023-04-11)
- * **Feature**: This release adds support for MQTT5 user properties when calling the AWS IoT GetRetainedMessage API
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.29.0](service/wafv2/CHANGELOG.md#v1290-2023-04-11)
- * **Feature**: For web ACLs that protect CloudFront protections, the default request body inspection size is now 16 KB, and you can use the new association configuration to increase the inspection size further, up to 64 KB. Sizes over 16 KB can incur additional costs.
-
-# Release (2023-04-10)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.51.0](service/connect/CHANGELOG.md#v1510-2023-04-10)
- * **Feature**: This release adds the ability to configure an agent's routing profile to receive contacts from multiple channels at the same time via extending the UpdateRoutingProfileConcurrency, CreateRoutingProfile and DescribeRoutingProfile APIs.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.25.0](service/ecs/CHANGELOG.md#v1250-2023-04-10)
- * **Feature**: This release adds support for enabling FIPS compliance on Amazon ECS Fargate tasks
-* `github.com/aws/aws-sdk-go-v2/service/marketplacecatalog`: [v1.16.0](service/marketplacecatalog/CHANGELOG.md#v1160-2023-04-10)
- * **Feature**: Added three new APIs to support resource sharing: GetResourcePolicy, PutResourcePolicy, and DeleteResourcePolicy. Added new OwnershipType field to ListEntities request to let users filter on entities that are shared with them. Increased max page size of ListEntities response from 20 to 50 results.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.35.0](service/mediaconvert/CHANGELOG.md#v1350-2023-04-10)
- * **Feature**: AWS Elemental MediaConvert SDK now supports conversion of 608 paint-on captions to pop-on captions for SCC sources.
-* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.3.0](service/omics/CHANGELOG.md#v130-2023-04-10)
- * **Feature**: Remove unexpected API changes.
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.24.0](service/rekognition/CHANGELOG.md#v1240-2023-04-10)
- * **Feature**: This release adds support for Face Liveness APIs in Amazon Rekognition. Updates UpdateStreamProcessor to return ResourceInUseException Exception. Minor updates to API documentation.
-
-# Release (2023-04-07)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/dlm`: [v1.15.0](service/dlm/CHANGELOG.md#v1150-2023-04-07)
- * **Announcement**: This release includes breaking changes for the timestamp trait on the data lifecycle management client.
- * **Feature**: Updated timestamp format for GetLifecyclePolicy API
- * **Bug Fix**: Correct timestamp type for data lifecycle manager.
-* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.21.0](service/docdb/CHANGELOG.md#v1210-2023-04-07)
- * **Feature**: This release adds a new parameter 'DBClusterParameterGroupName' to 'RestoreDBClusterFromSnapshot' API to associate the name of the DB cluster parameter group while performing restore.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.28.8](service/fsx/CHANGELOG.md#v1288-2023-04-07)
- * **Documentation**: Amazon FSx for Lustre now supports creating data repository associations on Persistent_1 and Scratch_2 file systems.
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.31.0](service/lambda/CHANGELOG.md#v1310-2023-04-07)
- * **Feature**: This release adds a new Lambda InvokeWithResponseStream API to support streaming Lambda function responses. The release also adds a new InvokeMode parameter to Function Url APIs to control whether the response will be streamed or buffered.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.34.0](service/quicksight/CHANGELOG.md#v1340-2023-04-07)
- * **Feature**: This release has two changes: adding the OR condition to tag-based RLS rules in CreateDataSet and UpdateDataSet; adding RefreshSchedule and Incremental RefreshProperties operations for users to programmatically configure SPICE dataset ingestions.
-* `github.com/aws/aws-sdk-go-v2/service/redshiftdata`: [v1.19.3](service/redshiftdata/CHANGELOG.md#v1193-2023-04-07)
- * **Documentation**: Update documentation of API descriptions as needed in support of temporary credentials with IAM identity.
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.18.1](service/servicecatalog/CHANGELOG.md#v1181-2023-04-07)
- * **Documentation**: Updates description for property
-
-# Release (2023-04-06)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.27.0](service/cloudformation/CHANGELOG.md#v1270-2023-04-06)
- * **Feature**: Including UPDATE_COMPLETE as a failed status for DeleteStack waiter.
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.22.0](service/greengrassv2/CHANGELOG.md#v1220-2023-04-06)
- * **Feature**: Add support for SUCCEEDED value in coreDeviceExecutionStatus field. Documentation updates for Greengrass V2.
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.21.0](service/proton/CHANGELOG.md#v1210-2023-04-06)
- * **Feature**: This release adds support for the AWS Proton service sync feature. Service sync enables managing an AWS Proton service (creating and updating instances) and all of it's corresponding service instances from a Git repository.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.42.1](service/rds/CHANGELOG.md#v1421-2023-04-06)
- * **Documentation**: Adds and updates the SDK examples
-
-# Release (2023-04-05)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.31.0](service/configservice/CHANGELOG.md#v1310-2023-04-05)
- * **Feature**: This release adds resourceType enums for types released in March 2023.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.24.3](service/ecs/CHANGELOG.md#v1243-2023-04-05)
- * **Documentation**: This is a document only updated to add information about Amazon Elastic Inference (EI).
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.16.7](service/identitystore/CHANGELOG.md#v1167-2023-04-05)
- * **Documentation**: Documentation updates for Identity Store CLI command reference.
-* `github.com/aws/aws-sdk-go-v2/service/ivsrealtime`: [v1.1.0](service/ivsrealtime/CHANGELOG.md#v110-2023-04-05)
- * **Feature**: Fix ParticipantToken ExpirationTime format
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.26.0](service/networkfirewall/CHANGELOG.md#v1260-2023-04-05)
- * **Feature**: AWS Network Firewall now supports IPv6-only subnets.
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.18.0](service/servicecatalog/CHANGELOG.md#v1180-2023-04-05)
- * **Feature**: removed incorrect product type value
-* `github.com/aws/aws-sdk-go-v2/service/vpclattice`: [v1.0.1](service/vpclattice/CHANGELOG.md#v101-2023-04-05)
- * **Documentation**: This release removes the entities in the API doc model package for auth policies.
-
-# Release (2023-04-04)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder`: [v1.10.0](service/amplifyuibuilder/CHANGELOG.md#v1100-2023-04-04)
- * **Feature**: Support StorageField and custom displays for data-bound options in form builder. Support non-string operands for predicates in collections. Support choosing client to get token from.
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.28.1](service/autoscaling/CHANGELOG.md#v1281-2023-04-04)
- * **Documentation**: Documentation updates for Amazon EC2 Auto Scaling
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.93.0](service/ec2/CHANGELOG.md#v1930-2023-04-04)
- * **Feature**: C6in, M6in, M6idn, R6in and R6idn bare metal instances are powered by 3rd Generation Intel Xeon Scalable processors and offer up to 200 Gbps of network bandwidth.
-* `github.com/aws/aws-sdk-go-v2/service/elasticinference`: [v1.13.0](service/elasticinference/CHANGELOG.md#v1130-2023-04-04)
- * **Feature**: Updated public documentation for the Describe and Tagging APIs.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.73.0](service/sagemaker/CHANGELOG.md#v1730-2023-04-04)
- * **Feature**: Amazon SageMaker Asynchronous Inference now allows customer's to receive failure model responses in S3 and receive success/failure model responses in SNS notifications.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerruntime`: [v1.19.0](service/sagemakerruntime/CHANGELOG.md#v1190-2023-04-04)
- * **Feature**: Amazon SageMaker Asynchronous Inference now provides customers a FailureLocation as a response parameter in InvokeEndpointAsync API to capture the model failure responses.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.28.0](service/wafv2/CHANGELOG.md#v1280-2023-04-04)
- * **Feature**: This release rolls back association config feature for webACLs that protect CloudFront protections.
-
-# Release (2023-04-03)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.45.0](service/glue/CHANGELOG.md#v1450-2023-04-03)
- * **Feature**: Add support for database-level federation
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.21.0](service/lakeformation/CHANGELOG.md#v1210-2023-04-03)
- * **Feature**: Add support for database-level federation
-* `github.com/aws/aws-sdk-go-v2/service/licensemanager`: [v1.18.0](service/licensemanager/CHANGELOG.md#v1180-2023-04-03)
- * **Feature**: This release adds grant override options to the CreateGrantVersion API. These options can be used to specify grant replacement behavior during grant activation.
-* `github.com/aws/aws-sdk-go-v2/service/mwaa`: [v1.15.0](service/mwaa/CHANGELOG.md#v1150-2023-04-03)
- * **Feature**: This Amazon MWAA release adds the ability to customize the Apache Airflow environment by launching a shell script at startup. This shell script is hosted in your environment's Amazon S3 bucket. Amazon MWAA runs the script before installing requirements and initializing the Apache Airflow process.
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.17.0](service/servicecatalog/CHANGELOG.md#v1170-2023-04-03)
- * **Feature**: This release introduces Service Catalog support for Terraform open source. It enables 1. The notify* APIs to Service Catalog. These APIs are used by the terraform engine to notify the result of the provisioning engine execution. 2. Adds a new TERRAFORM_OPEN_SOURCE product type in CreateProduct API.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.27.0](service/wafv2/CHANGELOG.md#v1270-2023-04-03)
- * **Feature**: For web ACLs that protect CloudFront protections, the default request body inspection size is now 16 KB, and you can use the new association configuration to increase the inspection size further, up to 64 KB. Sizes over 16 KB can incur additional costs.
-
-# Release (2023-03-31)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.92.1](service/ec2/CHANGELOG.md#v1921-2023-03-31)
- * **Documentation**: Documentation updates for EC2 On Demand Capacity Reservations
-* `github.com/aws/aws-sdk-go-v2/service/internetmonitor`: [v1.1.0](service/internetmonitor/CHANGELOG.md#v110-2023-03-31)
- * **Feature**: This release adds a new feature for Amazon CloudWatch Internet Monitor that enables customers to deliver internet measurements to Amazon S3 buckets as well as CloudWatch Logs.
-* `github.com/aws/aws-sdk-go-v2/service/resiliencehub`: [v1.10.1](service/resiliencehub/CHANGELOG.md#v1101-2023-03-31)
- * **Documentation**: Adding EKS related documentation for appTemplateBody
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.31.1](service/s3/CHANGELOG.md#v1311-2023-03-31)
- * **Documentation**: Documentation updates for Amazon S3
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerfeaturestoreruntime`: [v1.14.0](service/sagemakerfeaturestoreruntime/CHANGELOG.md#v1140-2023-03-31)
- * **Feature**: In this release, you can now chose between soft delete and hard delete when calling the DeleteRecord API, so you have more flexibility when it comes to managing online store data.
-
-# Release (2023-03-30)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.25.0](service/athena/CHANGELOG.md#v1250-2023-03-30)
- * **Feature**: Make DefaultExecutorDpuSize and CoordinatorDpuSize fields optional in StartSession
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.28.0](service/autoscaling/CHANGELOG.md#v1280-2023-03-30)
- * **Feature**: Amazon EC2 Auto Scaling now supports Elastic Load Balancing traffic sources with the AttachTrafficSources, DetachTrafficSources, and DescribeTrafficSources APIs. This release also introduces a new activity status, "WaitingForConnectionDraining", for VPC Lattice to the DescribeScalingActivities API.
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.23.0](service/batch/CHANGELOG.md#v1230-2023-03-30)
- * **Feature**: This feature allows Batch on EKS to support configuration of Pod Labels through Metadata for Batch on EKS Jobs.
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.22.0](service/computeoptimizer/CHANGELOG.md#v1220-2023-03-30)
- * **Feature**: This release adds support for HDD EBS volume types and io2 Block Express. We are also adding support for 61 new instance types and instances that have non consecutive runtime.
-* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.12.0](service/drs/CHANGELOG.md#v1120-2023-03-30)
- * **Feature**: Adding a field to the replication configuration APIs to support the auto replicate new disks feature. We also deprecated RetryDataReplication.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.92.0](service/ec2/CHANGELOG.md#v1920-2023-03-30)
- * **Feature**: This release adds support for Tunnel Endpoint Lifecycle control, a new feature that provides Site-to-Site VPN customers with better visibility and control of their VPN tunnel maintenance updates.
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.24.0](service/emr/CHANGELOG.md#v1240-2023-03-30)
- * **Feature**: Updated DescribeCluster and ListClusters API responses to include ErrorDetail that specifies error code, programmatically accessible error data,and an error message. ErrorDetail provides the underlying reason for cluster failure and recommends actions to simplify troubleshooting of EMR clusters.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.44.0](service/glue/CHANGELOG.md#v1440-2023-03-30)
- * **Feature**: This release adds support for AWS Glue Data Quality, which helps you evaluate and monitor the quality of your data and includes the API for creating, deleting, or updating data quality rulesets, runs and evaluations.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.20.0](service/guardduty/CHANGELOG.md#v1200-2023-03-30)
- * **Feature**: Added EKS Runtime Monitoring feature support to existing detector, finding APIs and introducing new Coverage APIs
-* `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.23.0](service/imagebuilder/CHANGELOG.md#v1230-2023-03-30)
- * **Feature**: Adds support for new image workflow details and image vulnerability detection.
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.21.0](service/ivs/CHANGELOG.md#v1210-2023-03-30)
- * **Feature**: Amazon Interactive Video Service (IVS) now offers customers the ability to configure IVS channels to allow insecure RTMP ingest.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.39.0](service/kendra/CHANGELOG.md#v1390-2023-03-30)
- * **Feature**: AWS Kendra now supports featured results for a query.
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.25.0](service/networkfirewall/CHANGELOG.md#v1250-2023-03-30)
- * **Feature**: AWS Network Firewall added TLS inspection configurations to allow TLS traffic inspection.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakergeospatial`: [v1.2.0](service/sagemakergeospatial/CHANGELOG.md#v120-2023-03-30)
- * **Feature**: Amazon SageMaker geospatial capabilities now supports server-side encryption with customer managed KMS key and SageMaker notebooks with a SageMaker geospatial image in a Amazon SageMaker Domain with VPC only mode.
-* `github.com/aws/aws-sdk-go-v2/service/vpclattice`: [v1.0.0](service/vpclattice/CHANGELOG.md#v100-2023-03-30)
- * **Release**: New AWS service client module
- * **Feature**: General Availability (GA) release of Amazon VPC Lattice
-* `github.com/aws/aws-sdk-go-v2/service/wellarchitected`: [v1.19.0](service/wellarchitected/CHANGELOG.md#v1190-2023-03-30)
- * **Feature**: AWS Well-Architected SDK now supports getting consolidated report metrics and generating a consolidated report PDF.
-
-# Release (2023-03-29)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/opensearchserverless`: [v1.2.0](service/opensearchserverless/CHANGELOG.md#v120-2023-03-29)
- * **Feature**: This release includes two new exception types "ServiceQuotaExceededException" and "OcuLimitExceededException".
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.42.0](service/rds/CHANGELOG.md#v1420-2023-03-29)
- * **Feature**: Add support for creating a read replica DB instance from a Multi-AZ DB cluster.
-
-# Release (2023-03-28)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ssmcontacts`: [v1.15.0](service/ssmcontacts/CHANGELOG.md#v1150-2023-03-28)
- * **Feature**: This release adds 12 new APIs as part of Oncall Schedule feature release, adds support for a new contact type: ONCALL_SCHEDULE. Check public documentation for AWS ssm-contacts for more information
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.21.0](service/ssmincidents/CHANGELOG.md#v1210-2023-03-28)
- * **Feature**: Increased maximum length of "TriggerDetails.rawData" to 10K characters and "IncidentSummary" to 8K characters.
-
-# Release (2023-03-27)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.24.0](service/athena/CHANGELOG.md#v1240-2023-03-27)
- * **Feature**: Enforces a minimal level of encryption for the workgroup for query and calculation results that are written to Amazon S3. When enabled, workgroup users can set encryption only to the minimum level set by the administrator or higher when they submit queries.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkvoice`: [v1.4.0](service/chimesdkvoice/CHANGELOG.md#v140-2023-03-27)
- * **Feature**: Documentation updates for Amazon Chime SDK Voice.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.50.0](service/connect/CHANGELOG.md#v1500-2023-03-27)
- * **Feature**: This release introduces support for RelatedContactId in the StartChatContact API. Interactive message and interactive message response have been added to the list of supported message content types for this API as well.
-* `github.com/aws/aws-sdk-go-v2/service/connectparticipant`: [v1.15.7](service/connectparticipant/CHANGELOG.md#v1157-2023-03-27)
- * **Documentation**: This release provides an update to the SendMessage API to handle interactive message response content-types.
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.26.0](service/iotwireless/CHANGELOG.md#v1260-2023-03-27)
- * **Feature**: Introducing new APIs that enable Sidewalk devices to communicate with AWS IoT Core through Sidewalk gateways. This will empower AWS customers to connect Sidewalk devices with other AWS IoT Services, creating possibilities for seamless integration and advanced device management.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.31.0](service/medialive/CHANGELOG.md#v1310-2023-03-27)
- * **Feature**: AWS Elemental MediaLive now supports ID3 tag insertion for audio only HLS output groups. AWS Elemental Link devices now support tagging.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.72.1](service/sagemaker/CHANGELOG.md#v1721-2023-03-27)
- * **Documentation**: Fixed some improperly rendered links in SDK documentation.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.30.0](service/securityhub/CHANGELOG.md#v1300-2023-03-27)
- * **Feature**: Added new resource detail objects to ASFF, including resources for AwsEksCluster, AWSS3Bucket, AwsEc2RouteTable and AwsEC2Instance.
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry`: [v1.17.0](service/servicecatalogappregistry/CHANGELOG.md#v1170-2023-03-27)
- * **Feature**: In this release, we started supporting ARN in applicationSpecifier and attributeGroupSpecifier. GetAttributeGroup, ListAttributeGroups and ListAttributeGroupsForApplication APIs will now have CreatedBy field in the response.
-* `github.com/aws/aws-sdk-go-v2/service/voiceid`: [v1.13.0](service/voiceid/CHANGELOG.md#v1130-2023-03-27)
- * **Feature**: Amazon Connect Voice ID now supports multiple fraudster watchlists. Every domain has a default watchlist where all existing fraudsters are placed by default. Custom watchlists may now be created, managed, and evaluated against for known fraudster detection.
-
-# Release (2023-03-24)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.25.7](service/cloudwatch/CHANGELOG.md#v1257-2023-03-24)
- * **Documentation**: Doc-only update to correct alarm actions list
-* `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.23.0](service/comprehend/CHANGELOG.md#v1230-2023-03-24)
- * **Feature**: This release adds a new field (FlywheelArn) to the EntitiesDetectionJobProperties object. The FlywheelArn field is returned in the DescribeEntitiesDetectionJob and ListEntitiesDetectionJobs responses when the EntitiesDetection job is started with a FlywheelArn instead of an EntityRecognizerArn .
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.41.0](service/rds/CHANGELOG.md#v1410-2023-03-24)
- * **Feature**: Added error code CreateCustomDBEngineVersionFault for when the create custom engine version for Custom engines fails.
-
-# Release (2023-03-23)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.22.0](service/batch/CHANGELOG.md#v1220-2023-03-23)
- * **Feature**: This feature allows Batch to support configuration of ephemeral storage size for jobs running on FARGATE
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkidentity`: [v1.11.0](service/chimesdkidentity/CHANGELOG.md#v1110-2023-03-23)
- * **Feature**: AppInstanceBots can be used to add a bot powered by Amazon Lex to chat channels. ExpirationSettings provides automatic resource deletion for AppInstanceUsers.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines`: [v1.3.0](service/chimesdkmediapipelines/CHANGELOG.md#v130-2023-03-23)
- * **Feature**: This release adds Amazon Chime SDK call analytics. Call analytics include voice analytics, which provides speaker search and voice tone analysis. These capabilities can be used with Amazon Transcribe and Transcribe Call Analytics to generate machine-learning-powered insights from real-time audio.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.14.0](service/chimesdkmessaging/CHANGELOG.md#v1140-2023-03-23)
- * **Feature**: ExpirationSettings provides automatic resource deletion for Channels.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkvoice`: [v1.3.0](service/chimesdkvoice/CHANGELOG.md#v130-2023-03-23)
- * **Feature**: This release adds Amazon Chime SDK call analytics. Call analytics include voice analytics, which provides speaker search and voice tone analysis. These capabilities can be used with Amazon Transcribe and Transcribe Call Analytics to generate machine-learning-powered insights from real-time audio.
-* `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.18.0](service/codeartifact/CHANGELOG.md#v1180-2023-03-23)
- * **Feature**: Repository CreationTime is added to the CreateRepository and ListRepositories API responses.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.19.0](service/guardduty/CHANGELOG.md#v1190-2023-03-23)
- * **Feature**: Adds AutoEnableOrganizationMembers attribute to DescribeOrganizationConfiguration and UpdateOrganizationConfiguration APIs.
-* `github.com/aws/aws-sdk-go-v2/service/ivsrealtime`: [v1.0.0](service/ivsrealtime/CHANGELOG.md#v100-2023-03-23)
- * **Release**: New AWS service client module
- * **Feature**: Initial release of the Amazon Interactive Video Service RealTime API.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.34.0](service/mediaconvert/CHANGELOG.md#v1340-2023-03-23)
- * **Feature**: AWS Elemental MediaConvert SDK now supports passthrough of ID3v2 tags for audio inputs to audio-only HLS outputs.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.72.0](service/sagemaker/CHANGELOG.md#v1720-2023-03-23)
- * **Feature**: Amazon SageMaker Autopilot adds two new APIs - CreateAutoMLJobV2 and DescribeAutoMLJobV2. Amazon SageMaker Notebook Instances now supports the ml.geospatial.interactive instance type.
-* `github.com/aws/aws-sdk-go-v2/service/servicediscovery`: [v1.21.0](service/servicediscovery/CHANGELOG.md#v1210-2023-03-23)
- * **Feature**: Reverted the throttling exception RequestLimitExceeded for AWS Cloud Map APIs introduced in SDK version 1.12.424 2023-03-09 to previous exception specified in the ErrorCode.
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.21.0](service/textract/CHANGELOG.md#v1210-2023-03-23)
- * **Feature**: The AnalyzeDocument - Tables feature adds support for new elements in the API: table titles, footers, section titles, summary cells/tables, and table type.
-
-# Release (2023-03-22)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.19.8](service/iam/CHANGELOG.md#v1198-2023-03-22)
- * **Documentation**: Documentation updates for AWS Identity and Access Management (IAM).
-* `github.com/aws/aws-sdk-go-v2/service/iottwinmaker`: [v1.11.0](service/iottwinmaker/CHANGELOG.md#v1110-2023-03-22)
- * **Feature**: This release adds support of adding metadata when creating a new scene or updating an existing scene.
-* `github.com/aws/aws-sdk-go-v2/service/networkmanager`: [v1.17.8](service/networkmanager/CHANGELOG.md#v1178-2023-03-22)
- * **Documentation**: This release includes an update to create-transit-gateway-route-table-attachment, showing example usage for TransitGatewayRouteTableArn.
-* `github.com/aws/aws-sdk-go-v2/service/resiliencehub`: [v1.10.0](service/resiliencehub/CHANGELOG.md#v1100-2023-03-22)
- * **Feature**: This release provides customers with the ability to import resources from within an EKS cluster and assess the resiliency of EKS cluster workloads.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.36.0](service/ssm/CHANGELOG.md#v1360-2023-03-22)
- * **Feature**: This Patch Manager release supports creating, updating, and deleting Patch Baselines for AmazonLinux2023, AlmaLinux.
-
-# Release (2023-03-21)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.13.0](service/chimesdkmessaging/CHANGELOG.md#v1130-2023-03-21)
- * **Feature**: Amazon Chime SDK messaging customers can now manage streaming configuration for messaging data for archival and analysis.
-* `github.com/aws/aws-sdk-go-v2/service/cleanrooms`: [v1.1.0](service/cleanrooms/CHANGELOG.md#v110-2023-03-21)
- * **Feature**: GA Release of AWS Clean Rooms, Added Tagging Functionality
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.91.0](service/ec2/CHANGELOG.md#v1910-2023-03-21)
- * **Feature**: This release adds support for AWS Network Firewall, AWS PrivateLink, and Gateway Load Balancers to Amazon VPC Reachability Analyzer, and it makes the path destination optional as long as a destination address in the filter at source is provided.
-* `github.com/aws/aws-sdk-go-v2/service/internal/s3shared`: [v1.14.0](service/internal/s3shared/CHANGELOG.md#v1140-2023-03-21)
- * **Feature**: port v1 sdk 100-continue http header customization for s3 PutObject/UploadPart request and enable user config
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.28.0](service/iotsitewise/CHANGELOG.md#v1280-2023-03-21)
- * **Feature**: Provide support for tagging of data streams and enabling tag based authorization for property alias
-* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.18.0](service/mgn/CHANGELOG.md#v1180-2023-03-21)
- * **Feature**: This release introduces the Import and export feature and expansion of the post-launch actions
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.31.0](service/s3/CHANGELOG.md#v1310-2023-03-21)
- * **Feature**: port v1 sdk 100-continue http header customization for s3 PutObject/UploadPart request and enable user config
-
-# Release (2023-03-20)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/applicationautoscaling`: [v1.19.0](service/applicationautoscaling/CHANGELOG.md#v1190-2023-03-20)
- * **Feature**: With this release customers can now tag their Application Auto Scaling registered targets with key-value pairs and manage IAM permissions for all the tagged resources centrally.
-* `github.com/aws/aws-sdk-go-v2/service/neptune`: [v1.20.0](service/neptune/CHANGELOG.md#v1200-2023-03-20)
- * **Feature**: This release makes following few changes. db-cluster-identifier is now a required parameter of create-db-instance. describe-db-cluster will now return PendingModifiedValues and GlobalClusterIdentifier fields in the response.
-* `github.com/aws/aws-sdk-go-v2/service/s3outposts`: [v1.16.0](service/s3outposts/CHANGELOG.md#v1160-2023-03-20)
- * **Feature**: S3 On Outposts added support for endpoint status, and a failed endpoint reason, if any
-* `github.com/aws/aws-sdk-go-v2/service/workdocs`: [v1.14.0](service/workdocs/CHANGELOG.md#v1140-2023-03-20)
- * **Feature**: This release adds a new API, SearchResources, which enable users to search through metadata and content of folders, documents, document versions and comments in a WorkDocs site.
-
-# Release (2023-03-17)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/billingconductor`: [v1.6.0](service/billingconductor/CHANGELOG.md#v160-2023-03-17)
- * **Feature**: This release adds a new filter to ListAccountAssociations API and a new filter to ListBillingGroups API.
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.30.0](service/configservice/CHANGELOG.md#v1300-2023-03-17)
- * **Feature**: This release adds resourceType enums for types released from October 2022 through February 2023.
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.25.0](service/databasemigrationservice/CHANGELOG.md#v1250-2023-03-17)
- * **Feature**: S3 setting to create AWS Glue Data Catalog. Oracle setting to control conversion of timestamp column. Support for Kafka SASL Plain authentication. Setting to map boolean from PostgreSQL to Redshift. SQL Server settings to force lob lookup on inline LOBs and to control access of database logs.
-
-# Release (2023-03-16)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.18.18](config/CHANGELOG.md#v11818-2023-03-16)
- * **Bug Fix**: Allow RoleARN to be set as functional option on STS WebIdentityRoleOptions. Fixes aws/aws-sdk-go-v2#2015.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.18.0](service/guardduty/CHANGELOG.md#v1180-2023-03-16)
- * **Feature**: Updated 9 APIs for feature enablement to reflect expansion of GuardDuty to features. Added new APIs and updated existing APIs to support RDS Protection GA.
-* `github.com/aws/aws-sdk-go-v2/service/resourceexplorer2`: [v1.2.7](service/resourceexplorer2/CHANGELOG.md#v127-2023-03-16)
- * **Documentation**: Documentation updates for APIs.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerruntime`: [v1.18.7](service/sagemakerruntime/CHANGELOG.md#v1187-2023-03-16)
- * **Documentation**: Documentation updates for SageMaker Runtime
-
-# Release (2023-03-15)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubstrategy`: [v1.9.0](service/migrationhubstrategy/CHANGELOG.md#v190-2023-03-15)
- * **Feature**: This release adds the binary analysis that analyzes IIS application DLLs on Windows and Java applications on Linux to provide anti-pattern report without configuring access to the source code.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.31.0](service/s3control/CHANGELOG.md#v1310-2023-03-15)
- * **Feature**: Added support for S3 Object Lambda aliases.
-* `github.com/aws/aws-sdk-go-v2/service/securitylake`: [v1.3.0](service/securitylake/CHANGELOG.md#v130-2023-03-15)
- * **Feature**: Make Create/Get/ListSubscribers APIs return resource share ARN and name so they can be used to validate the RAM resource share to accept. GetDatalake can be used to track status of UpdateDatalake and DeleteDatalake requests.
-
-# Release (2023-03-14)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/feature/ec2/imds`: [v1.13.0](feature/ec2/imds/CHANGELOG.md#v1130-2023-03-14)
- * **Feature**: Add flag to disable IMDSv1 fallback
-* `github.com/aws/aws-sdk-go-v2/service/applicationautoscaling`: [v1.18.0](service/applicationautoscaling/CHANGELOG.md#v1180-2023-03-14)
- * **Feature**: Application Auto Scaling customers can now use mathematical functions to customize the metric used with Target Tracking policies within the policy configuration itself, saving the cost and effort of publishing the customizations as a separate metric.
-* `github.com/aws/aws-sdk-go-v2/service/dataexchange`: [v1.19.0](service/dataexchange/CHANGELOG.md#v1190-2023-03-14)
- * **Feature**: This release enables data providers to license direct access to S3 objects encrypted with Customer Managed Keys (CMK) in AWS KMS through AWS Data Exchange. Subscribers can use these keys to decrypt, then use the encrypted S3 objects shared with them, without creating or managing copies.
-* `github.com/aws/aws-sdk-go-v2/service/directconnect`: [v1.18.7](service/directconnect/CHANGELOG.md#v1187-2023-03-14)
- * **Documentation**: describe-direct-connect-gateway-associations includes a new status, updating, indicating that the association is currently in-process of updating.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.90.0](service/ec2/CHANGELOG.md#v1900-2023-03-14)
- * **Feature**: This release adds a new DnsOptions key (PrivateDnsOnlyForInboundResolverEndpoint) to CreateVpcEndpoint and ModifyVpcEndpoint APIs.
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.19.6](service/iam/CHANGELOG.md#v1196-2023-03-14)
- * **Documentation**: Documentation only updates to correct customer-reported issues
-* `github.com/aws/aws-sdk-go-v2/service/keyspaces`: [v1.2.0](service/keyspaces/CHANGELOG.md#v120-2023-03-14)
- * **Feature**: Adding support for client-side timestamps
-* `github.com/aws/aws-sdk-go-v2/service/support`: [v1.14.6](service/support/CHANGELOG.md#v1146-2023-03-14)
- * **Announcement**: Model regenerated with support for null string values to properly implement `support` service operations `DescribeTrustedAdvisorCheckRefreshStatuses` and `DescribeTrustedAdvisorCheckSummaries`
-
-# Release (2023-03-13)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appintegrations`: [v1.15.0](service/appintegrations/CHANGELOG.md#v1150-2023-03-13)
- * **Feature**: Adds FileConfiguration to Amazon AppIntegrations CreateDataIntegration supporting scheduled downloading of third party files into Amazon Connect from sources such as Microsoft SharePoint.
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.20.2](service/lakeformation/CHANGELOG.md#v1202-2023-03-13)
- * **Documentation**: This release updates the documentation regarding Get/Update DataCellsFilter
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.30.0](service/s3control/CHANGELOG.md#v1300-2023-03-13)
- * **Feature**: Added support for cross-account Multi-Region Access Points. Added support for S3 Replication for S3 on Outposts.
-* `github.com/aws/aws-sdk-go-v2/service/tnb`: [v1.1.0](service/tnb/CHANGELOG.md#v110-2023-03-13)
- * **Feature**: This release adds tagging support to the following Network Instance APIs : Instantiate, Update, Terminate.
-* `github.com/aws/aws-sdk-go-v2/service/wisdom`: [v1.13.0](service/wisdom/CHANGELOG.md#v1130-2023-03-13)
- * **Feature**: This release extends Wisdom CreateKnowledgeBase API to support SharePoint connector type by removing the @required trait for objectField
-
-# Release (2023-03-10)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ivschat`: [v1.4.0](service/ivschat/CHANGELOG.md#v140-2023-03-10)
- * **Feature**: This release adds a new exception returned when calling AWS IVS chat UpdateLoggingConfiguration. Now UpdateLoggingConfiguration can return ConflictException when invalid updates are made in sequence to Logging Configurations.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.19.0](service/secretsmanager/CHANGELOG.md#v1190-2023-03-10)
- * **Feature**: The type definitions of SecretString and SecretBinary now have a minimum length of 1 in the model to match the exception thrown when you pass in empty values.
-
-# Release (2023-03-09)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.17.0](service/codeartifact/CHANGELOG.md#v1170-2023-03-09)
- * **Feature**: This release introduces the generic package format, a mechanism for storing arbitrary binary assets. It also adds a new API, PublishPackageVersion, to allow for publishing generic packages.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.49.0](service/connect/CHANGELOG.md#v1490-2023-03-09)
- * **Feature**: This release adds a new API, GetMetricDataV2, which returns metric data for Amazon Connect.
-* `github.com/aws/aws-sdk-go-v2/service/evidently`: [v1.11.0](service/evidently/CHANGELOG.md#v1110-2023-03-09)
- * **Feature**: Updated entity override documentation
-* `github.com/aws/aws-sdk-go-v2/service/networkmanager`: [v1.17.5](service/networkmanager/CHANGELOG.md#v1175-2023-03-09)
- * **Documentation**: This update provides example usage for TransitGatewayRouteTableArn.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.33.0](service/quicksight/CHANGELOG.md#v1330-2023-03-09)
- * **Feature**: This release has two changes: add state persistence feature for embedded dashboard and console in GenerateEmbedUrlForRegisteredUser API; add properties for hidden collapsed row dimensions in PivotTableOptions.
-* `github.com/aws/aws-sdk-go-v2/service/redshiftdata`: [v1.19.0](service/redshiftdata/CHANGELOG.md#v1190-2023-03-09)
- * **Feature**: Added support for Redshift Serverless workgroup-arn wherever the WorkgroupName parameter is available.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.71.0](service/sagemaker/CHANGELOG.md#v1710-2023-03-09)
- * **Feature**: Amazon SageMaker Inference now allows SSM access to customer's model container by setting the "EnableSSMAccess" parameter for a ProductionVariant in CreateEndpointConfig API.
-* `github.com/aws/aws-sdk-go-v2/service/servicediscovery`: [v1.20.0](service/servicediscovery/CHANGELOG.md#v1200-2023-03-09)
- * **Feature**: Updated all AWS Cloud Map APIs to provide consistent throttling exception (RequestLimitExceeded)
-* `github.com/aws/aws-sdk-go-v2/service/sesv2`: [v1.17.0](service/sesv2/CHANGELOG.md#v1170-2023-03-09)
- * **Feature**: This release introduces a new recommendation in Virtual Deliverability Manager Advisor, which detects missing or misconfigured Brand Indicator for Message Identification (BIMI) DNS records for customer sending identities.
-
-# Release (2023-03-08)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.23.0](service/athena/CHANGELOG.md#v1230-2023-03-08)
- * **Feature**: A new field SubstatementType is added to GetQueryExecution API, so customers have an error free way to detect the query type and interpret the result.
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.19.0](service/dynamodb/CHANGELOG.md#v1190-2023-03-08)
- * **Feature**: Adds deletion protection support to DynamoDB tables. Tables with deletion protection enabled cannot be deleted. Deletion protection is disabled by default, can be enabled via the CreateTable or UpdateTable APIs, and is visible in TableDescription. This setting is not replicated for Global Tables.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.89.0](service/ec2/CHANGELOG.md#v1890-2023-03-08)
- * **Feature**: Introducing Amazon EC2 C7g, M7g and R7g instances, powered by the latest generation AWS Graviton3 processors and deliver up to 25% better performance over Graviton2-based instances.
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.20.0](service/lakeformation/CHANGELOG.md#v1200-2023-03-08)
- * **Feature**: This release adds two new API support "GetDataCellsFiler" and "UpdateDataCellsFilter", and also updates the corresponding documentation.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackage`: [v1.21.0](service/mediapackage/CHANGELOG.md#v1210-2023-03-08)
- * **Feature**: This release provides the date and time live resources were created.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagevod`: [v1.22.0](service/mediapackagevod/CHANGELOG.md#v1220-2023-03-08)
- * **Feature**: This release provides the date and time VOD resources were created.
-* `github.com/aws/aws-sdk-go-v2/service/route53resolver`: [v1.17.0](service/route53resolver/CHANGELOG.md#v1170-2023-03-08)
- * **Feature**: Add dual-stack and IPv6 support for Route 53 Resolver Endpoint,Add IPv6 target IP in Route 53 Resolver Forwarding Rule
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.70.0](service/sagemaker/CHANGELOG.md#v1700-2023-03-08)
- * **Feature**: There needs to be a user identity to specify the SageMaker user who perform each action regarding the entity. However, these is a not a unified concept of user identity across SageMaker service that could be used today.
-
-# Release (2023-03-07)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.24.0](service/databasemigrationservice/CHANGELOG.md#v1240-2023-03-07)
- * **Feature**: This release adds DMS Fleet Advisor Target Recommendation APIs and exposes functionality for DMS Fleet Advisor. It adds functionality to start Target Recommendation calculation.
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.22.1](service/location/CHANGELOG.md#v1221-2023-03-07)
- * **Documentation**: Documentation update for the release of 3 additional map styles for use with Open Data Maps: Open Data Standard Dark, Open Data Visualization Light & Open Data Visualization Dark.
-
-# Release (2023-03-06)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/account`: [v1.10.0](service/account/CHANGELOG.md#v1100-2023-03-06)
- * **Feature**: AWS Account alternate contact email addresses can now have a length of 254 characters and contain the character "|".
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.20.6](service/ivs/CHANGELOG.md#v1206-2023-03-06)
- * **Documentation**: Updated text description in DeleteChannel, Stream, and StreamSummary.
-
-# Release (2023-03-03)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.18.6](service/dynamodb/CHANGELOG.md#v1186-2023-03-03)
- * **Documentation**: Documentation updates for DynamoDB.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.88.0](service/ec2/CHANGELOG.md#v1880-2023-03-03)
- * **Feature**: This release adds support for a new boot mode for EC2 instances called 'UEFI Preferred'.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.27.1](service/macie2/CHANGELOG.md#v1271-2023-03-03)
- * **Documentation**: Documentation updates for Amazon Macie
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.33.0](service/mediaconvert/CHANGELOG.md#v1330-2023-03-03)
- * **Feature**: The AWS Elemental MediaConvert SDK has improved handling for different input and output color space combinations.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.30.0](service/medialive/CHANGELOG.md#v1300-2023-03-03)
- * **Feature**: AWS Elemental MediaLive adds support for Nielsen watermark timezones.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.26.0](service/transcribe/CHANGELOG.md#v1260-2023-03-03)
- * **Feature**: Amazon Transcribe now supports role access for these API operations: CreateVocabulary, UpdateVocabulary, CreateVocabularyFilter, and UpdateVocabularyFilter.
-
-# Release (2023-03-02)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.35.0](service/iot/CHANGELOG.md#v1350-2023-03-02)
- * **Feature**: A recurring maintenance window is an optional configuration used for rolling out the job document to all devices in the target group observing a predetermined start time, duration, and frequency that the maintenance window occurs.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubstrategy`: [v1.8.0](service/migrationhubstrategy/CHANGELOG.md#v180-2023-03-02)
- * **Feature**: This release updates the File Import API to allow importing servers already discovered by customers with reduced pre-requisites.
-* `github.com/aws/aws-sdk-go-v2/service/organizations`: [v1.19.0](service/organizations/CHANGELOG.md#v1190-2023-03-02)
- * **Feature**: This release introduces a new reason code, ACCOUNT_CREATION_NOT_COMPLETE, to ConstraintViolationException in CreateOrganization API.
-* `github.com/aws/aws-sdk-go-v2/service/pi`: [v1.17.0](service/pi/CHANGELOG.md#v1170-2023-03-02)
- * **Feature**: This release adds a new field PeriodAlignment to allow the customer specifying the returned timestamp of time periods to be either the start or end time.
-* `github.com/aws/aws-sdk-go-v2/service/pipes`: [v1.2.0](service/pipes/CHANGELOG.md#v120-2023-03-02)
- * **Feature**: This release fixes some input parameter range and patterns.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.69.0](service/sagemaker/CHANGELOG.md#v1690-2023-03-02)
- * **Feature**: Add a new field "EndpointMetrics" in SageMaker Inference Recommender "ListInferenceRecommendationsJobSteps" API response.
-
-# Release (2023-03-01)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/codecatalyst`: [v1.2.0](service/codecatalyst/CHANGELOG.md#v120-2023-03-01)
- * **Feature**: Published Dev Environments StopDevEnvironmentSession API
-* `github.com/aws/aws-sdk-go-v2/service/pricing`: [v1.19.0](service/pricing/CHANGELOG.md#v1190-2023-03-01)
- * **Feature**: This release adds 2 new APIs - ListPriceLists which returns a list of applicable price lists, and GetPriceListFileUrl which outputs a URL to retrieve your price lists from the generated file from ListPriceLists
-* `github.com/aws/aws-sdk-go-v2/service/s3outposts`: [v1.15.0](service/s3outposts/CHANGELOG.md#v1150-2023-03-01)
- * **Feature**: S3 on Outposts introduces a new API ListOutpostsWithS3, with this API you can list all your Outposts with S3 capacity.
-
-# Release (2023-02-28)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.22.0](service/comprehend/CHANGELOG.md#v1220-2023-02-28)
- * **Feature**: Amazon Comprehend now supports flywheels to help you train and manage new model versions for custom models.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.87.0](service/ec2/CHANGELOG.md#v1870-2023-02-28)
- * **Feature**: This release allows IMDS support to be set to v2-only on an existing AMI, so that all future instances launched from that AMI will use IMDSv2 by default.
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.20.6](service/kms/CHANGELOG.md#v1206-2023-02-28)
- * **Documentation**: AWS KMS is deprecating the RSAES_PKCS1_V1_5 wrapping algorithm option in the GetParametersForImport API that is used in the AWS KMS Import Key Material feature. AWS KMS will end support for this wrapping algorithm by October 1, 2023.
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.26.0](service/lightsail/CHANGELOG.md#v1260-2023-02-28)
- * **Feature**: This release adds Lightsail for Research feature support, such as GUI session access, cost estimates, stop instance on idle, and disk auto mount.
-* `github.com/aws/aws-sdk-go-v2/service/managedblockchain`: [v1.15.0](service/managedblockchain/CHANGELOG.md#v1150-2023-02-28)
- * **Feature**: This release adds support for tagging to the accessor resource in Amazon Managed Blockchain
-* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.2.0](service/omics/CHANGELOG.md#v120-2023-02-28)
- * **Feature**: Minor model changes to accomodate batch imports feature
-
-# Release (2023-02-27)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.23.0](service/devopsguru/CHANGELOG.md#v1230-2023-02-27)
- * **Feature**: This release adds the description field on ListAnomaliesForInsight and DescribeAnomaly API responses for proactive anomalies.
-* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.11.0](service/drs/CHANGELOG.md#v1110-2023-02-27)
- * **Feature**: New fields were added to reflect availability zone data in source server and recovery instance description commands responses, as well as source server launch status.
-* `github.com/aws/aws-sdk-go-v2/service/internetmonitor`: [v1.0.0](service/internetmonitor/CHANGELOG.md#v100-2023-02-27)
- * **Release**: New AWS service client module
- * **Feature**: CloudWatch Internet Monitor is a a new service within CloudWatch that will help application developers and network engineers continuously monitor internet performance metrics such as availability and performance between their AWS-hosted applications and end-users of these applications
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.30.0](service/lambda/CHANGELOG.md#v1300-2023-02-27)
- * **Feature**: This release adds the ability to create ESMs with Document DB change streams as event source. For more information see https://docs.aws.amazon.com/lambda/latest/dg/with-documentdb.html.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.32.0](service/mediaconvert/CHANGELOG.md#v1320-2023-02-27)
- * **Feature**: The AWS Elemental MediaConvert SDK has added support for HDR10 to SDR tone mapping, and animated GIF video input sources.
-* `github.com/aws/aws-sdk-go-v2/service/timestreamwrite`: [v1.16.0](service/timestreamwrite/CHANGELOG.md#v1160-2023-02-27)
- * **Feature**: This release adds the ability to ingest batched historical data or migrate data in bulk from S3 into Timestream using CSV files.
-
-# Release (2023-02-24)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.48.0](service/connect/CHANGELOG.md#v1480-2023-02-24)
- * **Feature**: StartTaskContact API now supports linked task creation with a new optional RelatedContactId parameter
-* `github.com/aws/aws-sdk-go-v2/service/connectcases`: [v1.3.0](service/connectcases/CHANGELOG.md#v130-2023-02-24)
- * **Feature**: This release adds the ability to delete domains through the DeleteDomain API. For more information see https://docs.aws.amazon.com/cases/latest/APIReference/Welcome.html
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.27.5](service/redshift/CHANGELOG.md#v1275-2023-02-24)
- * **Documentation**: Documentation updates for Redshift API bringing it in line with IAM best practices.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.29.0](service/securityhub/CHANGELOG.md#v1290-2023-02-24)
- * **Feature**: New Security Hub APIs and updates to existing APIs that help you consolidate control findings and enable and disable controls across all supported standards
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.16.5](service/servicecatalog/CHANGELOG.md#v1165-2023-02-24)
- * **Documentation**: Documentation updates for Service Catalog
-
-# Release (2023-02-23)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.25.0](service/appflow/CHANGELOG.md#v1250-2023-02-23)
- * **Feature**: This release enables the customers to choose whether to use Private Link for Metadata and Authorization call when using a private Salesforce connections
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.24.0](service/ecs/CHANGELOG.md#v1240-2023-02-23)
- * **Feature**: This release supports deleting Amazon ECS task definitions that are in the INACTIVE state.
-* `github.com/aws/aws-sdk-go-v2/service/grafana`: [v1.12.3](service/grafana/CHANGELOG.md#v1123-2023-02-23)
- * **Documentation**: Doc-only update. Updated information on attached role policies for customer provided roles
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.17.6](service/guardduty/CHANGELOG.md#v1176-2023-02-23)
- * **Documentation**: Updated API and data types descriptions for CreateFilter, UpdateFilter, and TriggerDetails.
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.25.0](service/iotwireless/CHANGELOG.md#v1250-2023-02-23)
- * **Feature**: In this release, we add additional capabilities for the FUOTA which allows user to configure the fragment size, the sending interval and the redundancy ratio of the FUOTA tasks
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.22.0](service/location/CHANGELOG.md#v1220-2023-02-23)
- * **Feature**: This release adds support for using Maps APIs with an API Key in addition to AWS Cognito. This includes support for adding, listing, updating and deleting API Keys.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.27.0](service/macie2/CHANGELOG.md#v1270-2023-02-23)
- * **Feature**: This release adds support for a new finding type, Policy:IAMUser/S3BucketSharedWithCloudFront, and S3 bucket metadata that indicates if a bucket is shared with an Amazon CloudFront OAI or OAC.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.26.0](service/wafv2/CHANGELOG.md#v1260-2023-02-23)
- * **Feature**: You can now associate an AWS WAF v2 web ACL with an AWS App Runner service.
-
-# Release (2023-02-22)
-
-## General Highlights
-* **Bug Fix**: Prevent nil pointer dereference when retrieving error codes.
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkvoice`: [v1.2.0](service/chimesdkvoice/CHANGELOG.md#v120-2023-02-22)
- * **Feature**: This release introduces support for Voice Connector media metrics in the Amazon Chime SDK Voice namespace
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.26.0](service/cloudfront/CHANGELOG.md#v1260-2023-02-22)
- * **Feature**: CloudFront now supports block lists in origin request policies so that you can forward all headers, cookies, or query string from viewer requests to the origin *except* for those specified in the block list.
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.23.0](service/datasync/CHANGELOG.md#v1230-2023-02-22)
- * **Feature**: AWS DataSync has relaxed the minimum length constraint of AccessKey for Object Storage locations to 1.
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.15.0](service/opensearch/CHANGELOG.md#v1150-2023-02-22)
- * **Feature**: This release lets customers configure Off-peak window and software update related properties for a new/existing domain. It enhances the capabilities of StartServiceSoftwareUpdate API; adds 2 new APIs - ListScheduledActions & UpdateScheduledAction; and allows Auto-tune to make use of Off-peak window.
-* `github.com/aws/aws-sdk-go-v2/service/rum`: [v1.10.0](service/rum/CHANGELOG.md#v1100-2023-02-22)
- * **Feature**: CloudWatch RUM now supports CloudWatch Custom Metrics
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.35.5](service/ssm/CHANGELOG.md#v1355-2023-02-22)
- * **Documentation**: Document only update for Feb 2023
-
-# Release (2023-02-21)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.32.0](service/quicksight/CHANGELOG.md#v1320-2023-02-21)
- * **Feature**: S3 data sources now accept a custom IAM role.
-* `github.com/aws/aws-sdk-go-v2/service/resiliencehub`: [v1.9.0](service/resiliencehub/CHANGELOG.md#v190-2023-02-21)
- * **Feature**: In this release we improved resilience hub application creation and maintenance by introducing new resource and app component crud APIs, improving visibility and maintenance of application input sources and added support for additional information attributes to be provided by customers.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.28.4](service/securityhub/CHANGELOG.md#v1284-2023-02-21)
- * **Documentation**: Documentation updates for AWS Security Hub
-* `github.com/aws/aws-sdk-go-v2/service/tnb`: [v1.0.0](service/tnb/CHANGELOG.md#v100-2023-02-21)
- * **Release**: New AWS service client module
- * **Feature**: This is the initial SDK release for AWS Telco Network Builder (TNB). AWS Telco Network Builder is a network automation service that helps you deploy and manage telecom networks.
-
-# Release (2023-02-20)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.17.5
- * **Bug Fix**: fix int overflow bug on 32 bit architecture
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.24.0](service/auditmanager/CHANGELOG.md#v1240-2023-02-20)
- * **Feature**: This release introduces a ServiceQuotaExceededException to the UpdateAssessmentFrameworkShare API operation.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.47.0](service/connect/CHANGELOG.md#v1470-2023-02-20)
- * **Feature**: Reasons for failed diff has been approved by SDK Reviewer
-
-# Release (2023-02-17)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.17.0](service/apprunner/CHANGELOG.md#v1170-2023-02-17)
- * **Feature**: This release supports removing MaxSize limit for AutoScalingConfiguration.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.43.0](service/glue/CHANGELOG.md#v1430-2023-02-17)
- * **Feature**: Release of Delta Lake Data Lake Format for Glue Studio Service
-
-# Release (2023-02-16)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.23.0](service/emr/CHANGELOG.md#v1230-2023-02-16)
- * **Feature**: This release provides customers the ability to define a timeout period for procuring capacity during a resize operation for Instance Fleet clusters. Customers can specify this timeout using the ResizeSpecifications parameter supported by RunJobFlow, ModifyInstanceFleet and AddInstanceFleet APIs.
-* `github.com/aws/aws-sdk-go-v2/service/grafana`: [v1.12.0](service/grafana/CHANGELOG.md#v1120-2023-02-16)
- * **Feature**: With this release Amazon Managed Grafana now supports inbound Network Access Control that helps you to restrict user access to your Grafana workspaces
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.20.3](service/ivs/CHANGELOG.md#v1203-2023-02-16)
- * **Documentation**: Doc-only update. Updated text description in DeleteChannel, Stream, and StreamSummary.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.25.1](service/wafv2/CHANGELOG.md#v1251-2023-02-16)
- * **Documentation**: Added a notice for account takeover prevention (ATP). The interface incorrectly lets you to configure ATP response inspection in regional web ACLs in Region US East (N. Virginia), without returning an error. ATP response inspection is only available in web ACLs that protect CloudFront distributions.
-
-# Release (2023-02-15)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/accessanalyzer`: [v1.19.3](service/accessanalyzer/CHANGELOG.md#v1193-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/account`: [v1.9.1](service/account/CHANGELOG.md#v191-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/acm`: [v1.17.3](service/acm/CHANGELOG.md#v1173-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.21.2](service/acmpca/CHANGELOG.md#v1212-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/alexaforbusiness`: [v1.15.2](service/alexaforbusiness/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/amp`: [v1.16.2](service/amp/CHANGELOG.md#v1162-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/amplify`: [v1.13.2](service/amplify/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/amplifybackend`: [v1.14.2](service/amplifybackend/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder`: [v1.9.2](service/amplifyuibuilder/CHANGELOG.md#v192-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/apigateway`: [v1.16.3](service/apigateway/CHANGELOG.md#v1163-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi`: [v1.11.2](service/apigatewaymanagementapi/CHANGELOG.md#v1112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/apigatewayv2`: [v1.13.3](service/apigatewayv2/CHANGELOG.md#v1133-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.17.1](service/appconfig/CHANGELOG.md#v1171-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/appconfigdata`: [v1.6.1](service/appconfigdata/CHANGELOG.md#v161-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.24.2](service/appflow/CHANGELOG.md#v1242-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/appintegrations`: [v1.14.2](service/appintegrations/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/applicationautoscaling`: [v1.17.3](service/applicationautoscaling/CHANGELOG.md#v1173-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/applicationcostprofiler`: [v1.10.2](service/applicationcostprofiler/CHANGELOG.md#v1102-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/applicationdiscoveryservice`: [v1.15.2](service/applicationdiscoveryservice/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/applicationinsights`: [v1.17.3](service/applicationinsights/CHANGELOG.md#v1173-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/appmesh`: [v1.17.2](service/appmesh/CHANGELOG.md#v1172-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.16.2](service/apprunner/CHANGELOG.md#v1162-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.20.2](service/appstream/CHANGELOG.md#v1202-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.19.2](service/appsync/CHANGELOG.md#v1192-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/arczonalshift`: [v1.1.3](service/arczonalshift/CHANGELOG.md#v113-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.22.2](service/athena/CHANGELOG.md#v1222-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.23.2](service/auditmanager/CHANGELOG.md#v1232-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/autoscalingplans`: [v1.13.2](service/autoscalingplans/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.20.1](service/backup/CHANGELOG.md#v1201-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/backupgateway`: [v1.9.2](service/backupgateway/CHANGELOG.md#v192-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/backupstorage`: [v1.1.2](service/backupstorage/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.21.3](service/batch/CHANGELOG.md#v1213-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/billingconductor`: [v1.5.2](service/billingconductor/CHANGELOG.md#v152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.17.2](service/braket/CHANGELOG.md#v1172-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/budgets`: [v1.14.2](service/budgets/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.22.2](service/chime/CHANGELOG.md#v1222-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkidentity`: [v1.10.2](service/chimesdkidentity/CHANGELOG.md#v1102-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines`: [v1.2.2](service/chimesdkmediapipelines/CHANGELOG.md#v122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.14.3](service/chimesdkmeetings/CHANGELOG.md#v1143-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.12.2](service/chimesdkmessaging/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkvoice`: [v1.1.2](service/chimesdkvoice/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/cleanrooms`: [v1.0.2](service/cleanrooms/CHANGELOG.md#v102-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/cloud9`: [v1.17.2](service/cloud9/CHANGELOG.md#v1172-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/cloudcontrol`: [v1.11.3](service/cloudcontrol/CHANGELOG.md#v1113-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/clouddirectory`: [v1.13.2](service/clouddirectory/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/cloudhsm`: [v1.13.2](service/cloudhsm/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/cloudhsmv2`: [v1.14.2](service/cloudhsmv2/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/cloudsearchdomain`: [v1.12.2](service/cloudsearchdomain/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.24.0](service/cloudtrail/CHANGELOG.md#v1240-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Feature**: This release adds an InsufficientEncryptionPolicyException type to the StartImport endpoint
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/cloudtraildata`: [v1.0.2](service/cloudtraildata/CHANGELOG.md#v102-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchevents`: [v1.15.3](service/cloudwatchevents/CHANGELOG.md#v1153-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.20.3](service/cloudwatchlogs/CHANGELOG.md#v1203-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.16.2](service/codeartifact/CHANGELOG.md#v1162-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/codebuild`: [v1.20.3](service/codebuild/CHANGELOG.md#v1203-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/codecatalyst`: [v1.1.2](service/codecatalyst/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/codecommit`: [v1.14.2](service/codecommit/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/codedeploy`: [v1.16.3](service/codedeploy/CHANGELOG.md#v1163-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/codeguruprofiler`: [v1.13.2](service/codeguruprofiler/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/codegurureviewer`: [v1.17.2](service/codegurureviewer/CHANGELOG.md#v1172-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/codepipeline`: [v1.14.2](service/codepipeline/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/codestar`: [v1.13.2](service/codestar/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/codestarconnections`: [v1.14.2](service/codestarconnections/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/codestarnotifications`: [v1.14.2](service/codestarnotifications/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentity`: [v1.15.2](service/cognitoidentity/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.22.2](service/cognitoidentityprovider/CHANGELOG.md#v1222-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/cognitosync`: [v1.12.2](service/cognitosync/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.21.2](service/comprehend/CHANGELOG.md#v1212-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/comprehendmedical`: [v1.15.2](service/comprehendmedical/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.21.1](service/computeoptimizer/CHANGELOG.md#v1211-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.29.3](service/configservice/CHANGELOG.md#v1293-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.46.1](service/connect/CHANGELOG.md#v1461-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/connectcampaigns`: [v1.2.3](service/connectcampaigns/CHANGELOG.md#v123-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/connectcases`: [v1.2.3](service/connectcases/CHANGELOG.md#v123-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/connectcontactlens`: [v1.13.2](service/connectcontactlens/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/connectparticipant`: [v1.15.2](service/connectparticipant/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/controltower`: [v1.1.2](service/controltower/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/costandusagereportservice`: [v1.15.2](service/costandusagereportservice/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.25.2](service/costexplorer/CHANGELOG.md#v1252-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.23.1](service/customerprofiles/CHANGELOG.md#v1231-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.23.3](service/databasemigrationservice/CHANGELOG.md#v1233-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/databrew`: [v1.21.3](service/databrew/CHANGELOG.md#v1213-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/dataexchange`: [v1.18.2](service/dataexchange/CHANGELOG.md#v1182-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/datapipeline`: [v1.14.2](service/datapipeline/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.22.1](service/datasync/CHANGELOG.md#v1221-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/dax`: [v1.12.2](service/dax/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/detective`: [v1.18.2](service/detective/CHANGELOG.md#v1182-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/devicefarm`: [v1.15.2](service/devicefarm/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.22.2](service/devopsguru/CHANGELOG.md#v1222-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/directconnect`: [v1.18.3](service/directconnect/CHANGELOG.md#v1183-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/directoryservice`: [v1.16.3](service/directoryservice/CHANGELOG.md#v1163-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/dlm`: [v1.14.4](service/dlm/CHANGELOG.md#v1144-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/docdbelastic`: [v1.1.2](service/docdbelastic/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.10.2](service/drs/CHANGELOG.md#v1102-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.18.3](service/dynamodb/CHANGELOG.md#v1183-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/dynamodbstreams`: [v1.14.3](service/dynamodbstreams/CHANGELOG.md#v1143-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/ebs`: [v1.16.4](service/ebs/CHANGELOG.md#v1164-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect`: [v1.15.2](service/ec2instanceconnect/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/ecr`: [v1.18.3](service/ecr/CHANGELOG.md#v1183-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/ecrpublic`: [v1.15.2](service/ecrpublic/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.23.3](service/ecs/CHANGELOG.md#v1233-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.19.4](service/efs/CHANGELOG.md#v1194-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
- * **Documentation**: Documentation update for EFS to support IAM best practices.
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.27.3](service/eks/CHANGELOG.md#v1273-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/elasticinference`: [v1.12.2](service/elasticinference/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/elasticsearchservice`: [v1.18.3](service/elasticsearchservice/CHANGELOG.md#v1183-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/elastictranscoder`: [v1.14.2](service/elastictranscoder/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.22.3](service/emr/CHANGELOG.md#v1223-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.17.1](service/emrcontainers/CHANGELOG.md#v1171-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/emrserverless`: [v1.5.2](service/emrserverless/CHANGELOG.md#v152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.18.3](service/eventbridge/CHANGELOG.md#v1183-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/evidently`: [v1.10.2](service/evidently/CHANGELOG.md#v1102-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/finspace`: [v1.9.2](service/finspace/CHANGELOG.md#v192-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.14.2](service/finspacedata/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/firehose`: [v1.16.3](service/firehose/CHANGELOG.md#v1163-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/fis`: [v1.14.2](service/fis/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.22.3](service/fms/CHANGELOG.md#v1223-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.25.2](service/forecast/CHANGELOG.md#v1252-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/forecastquery`: [v1.13.2](service/forecastquery/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.23.0](service/frauddetector/CHANGELOG.md#v1230-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Feature**: This release introduces Lists feature which allows customers to reference a set of values in Fraud Detector's rules. With Lists, customers can dynamically manage these attributes in real time. Lists can be created/deleted and its contents can be modified using the Fraud Detector API.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.28.3](service/fsx/CHANGELOG.md#v1283-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.17.2](service/gamelift/CHANGELOG.md#v1172-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/gamesparks`: [v1.2.2](service/gamesparks/CHANGELOG.md#v122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/glacier`: [v1.14.3](service/glacier/CHANGELOG.md#v1143-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/globalaccelerator`: [v1.16.2](service/globalaccelerator/CHANGELOG.md#v1162-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.42.0](service/glue/CHANGELOG.md#v1420-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Feature**: Fix DirectJDBCSource not showing up in CLI code gen
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/grafana`: [v1.11.2](service/grafana/CHANGELOG.md#v1112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/greengrass`: [v1.15.3](service/greengrass/CHANGELOG.md#v1153-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.21.3](service/greengrassv2/CHANGELOG.md#v1213-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/groundstation`: [v1.17.2](service/groundstation/CHANGELOG.md#v1172-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.17.3](service/guardduty/CHANGELOG.md#v1173-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/health`: [v1.16.2](service/health/CHANGELOG.md#v1162-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/healthlake`: [v1.15.2](service/healthlake/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/honeycode`: [v1.13.2](service/honeycode/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.16.2](service/identitystore/CHANGELOG.md#v1162-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.22.2](service/imagebuilder/CHANGELOG.md#v1222-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/inspector`: [v1.13.2](service/inspector/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.11.3](service/inspector2/CHANGELOG.md#v1113-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.34.2](service/iot/CHANGELOG.md#v1342-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iot1clickdevicesservice`: [v1.11.2](service/iot1clickdevicesservice/CHANGELOG.md#v1112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iot1clickprojects`: [v1.12.2](service/iot1clickprojects/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iotanalytics`: [v1.14.2](service/iotanalytics/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iotdataplane`: [v1.14.2](service/iotdataplane/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iotdeviceadvisor`: [v1.17.2](service/iotdeviceadvisor/CHANGELOG.md#v1172-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iotevents`: [v1.15.2](service/iotevents/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/ioteventsdata`: [v1.13.2](service/ioteventsdata/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iotfleethub`: [v1.13.2](service/iotfleethub/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iotfleetwise`: [v1.3.2](service/iotfleetwise/CHANGELOG.md#v132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iotjobsdataplane`: [v1.12.2](service/iotjobsdataplane/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iotroborunner`: [v1.1.2](service/iotroborunner/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iotsecuretunneling`: [v1.15.2](service/iotsecuretunneling/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.27.2](service/iotsitewise/CHANGELOG.md#v1272-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iotthingsgraph`: [v1.14.2](service/iotthingsgraph/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iottwinmaker`: [v1.10.2](service/iottwinmaker/CHANGELOG.md#v1102-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.24.2](service/iotwireless/CHANGELOG.md#v1242-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.20.2](service/ivs/CHANGELOG.md#v1202-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/ivschat`: [v1.3.2](service/ivschat/CHANGELOG.md#v132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/kafka`: [v1.19.2](service/kafka/CHANGELOG.md#v1192-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/kafkaconnect`: [v1.9.2](service/kafkaconnect/CHANGELOG.md#v192-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.38.3](service/kendra/CHANGELOG.md#v1383-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/kendraranking`: [v1.0.4](service/kendraranking/CHANGELOG.md#v104-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/keyspaces`: [v1.1.2](service/keyspaces/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/kinesis`: [v1.17.4](service/kinesis/CHANGELOG.md#v1174-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalytics`: [v1.14.2](service/kinesisanalytics/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2`: [v1.16.2](service/kinesisanalyticsv2/CHANGELOG.md#v1162-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideo`: [v1.15.3](service/kinesisvideo/CHANGELOG.md#v1153-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideoarchivedmedia`: [v1.14.3](service/kinesisvideoarchivedmedia/CHANGELOG.md#v1143-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideomedia`: [v1.11.3](service/kinesisvideomedia/CHANGELOG.md#v1113-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideosignaling`: [v1.11.3](service/kinesisvideosignaling/CHANGELOG.md#v1113-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideowebrtcstorage`: [v1.2.3](service/kinesisvideowebrtcstorage/CHANGELOG.md#v123-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.20.3](service/kms/CHANGELOG.md#v1203-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.19.2](service/lakeformation/CHANGELOG.md#v1192-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.29.2](service/lambda/CHANGELOG.md#v1292-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice`: [v1.17.2](service/lexmodelbuildingservice/CHANGELOG.md#v1172-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.28.1](service/lexmodelsv2/CHANGELOG.md#v1281-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimeservice`: [v1.13.2](service/lexruntimeservice/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.17.1](service/lexruntimev2/CHANGELOG.md#v1171-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/licensemanager`: [v1.17.2](service/licensemanager/CHANGELOG.md#v1172-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/licensemanagerlinuxsubscriptions`: [v1.1.2](service/licensemanagerlinuxsubscriptions/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/licensemanagerusersubscriptions`: [v1.2.2](service/licensemanagerusersubscriptions/CHANGELOG.md#v122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.25.3](service/lightsail/CHANGELOG.md#v1253-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.21.2](service/location/CHANGELOG.md#v1212-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutequipment`: [v1.17.2](service/lookoutequipment/CHANGELOG.md#v1172-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.19.2](service/lookoutmetrics/CHANGELOG.md#v1192-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutvision`: [v1.15.2](service/lookoutvision/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/m2`: [v1.4.2](service/m2/CHANGELOG.md#v142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/machinelearning`: [v1.15.2](service/machinelearning/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/macie`: [v1.15.2](service/macie/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.26.2](service/macie2/CHANGELOG.md#v1262-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/managedblockchain`: [v1.14.2](service/managedblockchain/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/marketplacecatalog`: [v1.15.2](service/marketplacecatalog/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/marketplacecommerceanalytics`: [v1.12.2](service/marketplacecommerceanalytics/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/marketplaceentitlementservice`: [v1.12.2](service/marketplaceentitlementservice/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/marketplacemetering`: [v1.14.3](service/marketplacemetering/CHANGELOG.md#v1143-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconnect`: [v1.18.2](service/mediaconnect/CHANGELOG.md#v1182-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.31.1](service/mediaconvert/CHANGELOG.md#v1311-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.29.2](service/medialive/CHANGELOG.md#v1292-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackage`: [v1.20.2](service/mediapackage/CHANGELOG.md#v1202-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagevod`: [v1.21.2](service/mediapackagevod/CHANGELOG.md#v1212-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/mediastore`: [v1.13.2](service/mediastore/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/mediastoredata`: [v1.13.2](service/mediastoredata/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.22.2](service/mediatailor/CHANGELOG.md#v1222-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/memorydb`: [v1.12.2](service/memorydb/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.17.2](service/mgn/CHANGELOG.md#v1172-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhub`: [v1.13.2](service/migrationhub/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubconfig`: [v1.13.2](service/migrationhubconfig/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhuborchestrator`: [v1.1.2](service/migrationhuborchestrator/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubrefactorspaces`: [v1.9.1](service/migrationhubrefactorspaces/CHANGELOG.md#v191-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubstrategy`: [v1.7.2](service/migrationhubstrategy/CHANGELOG.md#v172-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/mobile`: [v1.12.2](service/mobile/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/mq`: [v1.14.2](service/mq/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/mturk`: [v1.14.2](service/mturk/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/mwaa`: [v1.14.2](service/mwaa/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.24.2](service/networkfirewall/CHANGELOG.md#v1242-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/networkmanager`: [v1.17.2](service/networkmanager/CHANGELOG.md#v1172-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/nimble`: [v1.16.2](service/nimble/CHANGELOG.md#v1162-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/oam`: [v1.1.3](service/oam/CHANGELOG.md#v113-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.1.2](service/omics/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.14.2](service/opensearch/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/opensearchserverless`: [v1.1.3](service/opensearchserverless/CHANGELOG.md#v113-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/opsworks`: [v1.14.2](service/opsworks/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/opsworkscm`: [v1.15.2](service/opsworkscm/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/organizations`: [v1.18.2](service/organizations/CHANGELOG.md#v1182-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.27.2](service/outposts/CHANGELOG.md#v1272-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/panorama`: [v1.11.2](service/panorama/CHANGELOG.md#v1112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/personalize`: [v1.23.2](service/personalize/CHANGELOG.md#v1232-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/personalizeevents`: [v1.13.2](service/personalizeevents/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/personalizeruntime`: [v1.13.2](service/personalizeruntime/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/pi`: [v1.16.3](service/pi/CHANGELOG.md#v1163-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/pinpoint`: [v1.18.2](service/pinpoint/CHANGELOG.md#v1182-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/pinpointemail`: [v1.12.2](service/pinpointemail/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoice`: [v1.11.2](service/pinpointsmsvoice/CHANGELOG.md#v1112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2`: [v1.1.2](service/pinpointsmsvoicev2/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/pipes`: [v1.1.2](service/pipes/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.25.1](service/polly/CHANGELOG.md#v1251-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/pricing`: [v1.18.2](service/pricing/CHANGELOG.md#v1182-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/privatenetworks`: [v1.2.0](service/privatenetworks/CHANGELOG.md#v120-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Feature**: This release introduces a new StartNetworkResourceUpdate API, which enables return/replacement of hardware from a NetworkSite.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.20.1](service/proton/CHANGELOG.md#v1201-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/qldb`: [v1.15.2](service/qldb/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/qldbsession`: [v1.14.2](service/qldbsession/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.31.2](service/quicksight/CHANGELOG.md#v1312-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/ram`: [v1.17.3](service/ram/CHANGELOG.md#v1173-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/rbin`: [v1.8.3](service/rbin/CHANGELOG.md#v183-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.40.3](service/rds/CHANGELOG.md#v1403-2023-02-15)
- * **Documentation**: Database Activity Stream support for RDS for SQL Server.
-* `github.com/aws/aws-sdk-go-v2/service/rdsdata`: [v1.13.2](service/rdsdata/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/redshiftdata`: [v1.18.2](service/redshiftdata/CHANGELOG.md#v1182-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/redshiftserverless`: [v1.4.3](service/redshiftserverless/CHANGELOG.md#v143-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.23.2](service/rekognition/CHANGELOG.md#v1232-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/resiliencehub`: [v1.8.2](service/resiliencehub/CHANGELOG.md#v182-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/resourceexplorer2`: [v1.2.3](service/resourceexplorer2/CHANGELOG.md#v123-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/resourcegroups`: [v1.14.3](service/resourcegroups/CHANGELOG.md#v1143-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi`: [v1.14.3](service/resourcegroupstaggingapi/CHANGELOG.md#v1143-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/robomaker`: [v1.18.2](service/robomaker/CHANGELOG.md#v1182-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/rolesanywhere`: [v1.1.2](service/rolesanywhere/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/route53domains`: [v1.14.2](service/route53domains/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycluster`: [v1.11.2](service/route53recoverycluster/CHANGELOG.md#v1112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig`: [v1.11.2](service/route53recoverycontrolconfig/CHANGELOG.md#v1112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness`: [v1.9.2](service/route53recoveryreadiness/CHANGELOG.md#v192-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/route53resolver`: [v1.16.3](service/route53resolver/CHANGELOG.md#v1163-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/rum`: [v1.9.2](service/rum/CHANGELOG.md#v192-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/s3outposts`: [v1.14.2](service/s3outposts/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.68.1](service/sagemaker/CHANGELOG.md#v1681-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakera2iruntime`: [v1.15.2](service/sagemakera2iruntime/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakeredge`: [v1.13.2](service/sagemakeredge/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerfeaturestoreruntime`: [v1.13.2](service/sagemakerfeaturestoreruntime/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakergeospatial`: [v1.1.2](service/sagemakergeospatial/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakermetrics`: [v1.0.5](service/sagemakermetrics/CHANGELOG.md#v105-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerruntime`: [v1.18.3](service/sagemakerruntime/CHANGELOG.md#v1183-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/savingsplans`: [v1.12.2](service/savingsplans/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/scheduler`: [v1.1.2](service/scheduler/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/schemas`: [v1.15.2](service/schemas/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.18.4](service/secretsmanager/CHANGELOG.md#v1184-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.28.2](service/securityhub/CHANGELOG.md#v1282-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/securitylake`: [v1.2.2](service/securitylake/CHANGELOG.md#v122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository`: [v1.12.2](service/serverlessapplicationrepository/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.16.2](service/servicecatalog/CHANGELOG.md#v1162-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry`: [v1.16.3](service/servicecatalogappregistry/CHANGELOG.md#v1163-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/servicediscovery`: [v1.19.2](service/servicediscovery/CHANGELOG.md#v1192-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/servicequotas`: [v1.14.3](service/servicequotas/CHANGELOG.md#v1143-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/sesv2`: [v1.16.2](service/sesv2/CHANGELOG.md#v1162-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/sfn`: [v1.17.3](service/sfn/CHANGELOG.md#v1173-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/shield`: [v1.18.2](service/shield/CHANGELOG.md#v1182-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/signer`: [v1.14.2](service/signer/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/simspaceweaver`: [v1.1.2](service/simspaceweaver/CHANGELOG.md#v112-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/sms`: [v1.13.2](service/sms/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/snowball`: [v1.18.1](service/snowball/CHANGELOG.md#v1181-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/snowdevicemanagement`: [v1.9.2](service/snowdevicemanagement/CHANGELOG.md#v192-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.35.3](service/ssm/CHANGELOG.md#v1353-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/ssmcontacts`: [v1.14.2](service/ssmcontacts/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.20.2](service/ssmincidents/CHANGELOG.md#v1202-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/ssmsap`: [v1.2.2](service/ssmsap/CHANGELOG.md#v122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/sso`: [v1.12.2](service/sso/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/ssoadmin`: [v1.16.2](service/ssoadmin/CHANGELOG.md#v1162-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/ssooidc`: [v1.14.2](service/ssooidc/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/storagegateway`: [v1.18.3](service/storagegateway/CHANGELOG.md#v1183-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/support`: [v1.14.2](service/support/CHANGELOG.md#v1142-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/supportapp`: [v1.2.2](service/supportapp/CHANGELOG.md#v122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/swf`: [v1.14.4](service/swf/CHANGELOG.md#v1144-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/synthetics`: [v1.17.3](service/synthetics/CHANGELOG.md#v1173-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.20.2](service/textract/CHANGELOG.md#v1202-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/timestreamquery`: [v1.15.2](service/timestreamquery/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/timestreamwrite`: [v1.15.2](service/timestreamwrite/CHANGELOG.md#v1152-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.25.2](service/transcribe/CHANGELOG.md#v1252-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/transcribestreaming`: [v1.9.2](service/transcribestreaming/CHANGELOG.md#v192-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.28.3](service/transfer/CHANGELOG.md#v1283-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/translate`: [v1.17.2](service/translate/CHANGELOG.md#v1172-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/voiceid`: [v1.12.2](service/voiceid/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/waf`: [v1.12.2](service/waf/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/wafregional`: [v1.13.3](service/wafregional/CHANGELOG.md#v1133-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.25.0](service/wafv2/CHANGELOG.md#v1250-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Feature**: For protected CloudFront distributions, you can now use the AWS WAF Fraud Control account takeover prevention (ATP) managed rule group to block new login attempts from clients that have recently submitted too many failed login attempts.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/wellarchitected`: [v1.18.2](service/wellarchitected/CHANGELOG.md#v1182-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/wisdom`: [v1.12.2](service/wisdom/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/workdocs`: [v1.13.3](service/workdocs/CHANGELOG.md#v1133-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/worklink`: [v1.13.2](service/worklink/CHANGELOG.md#v1132-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/workmail`: [v1.18.2](service/workmail/CHANGELOG.md#v1182-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/workmailmessageflow`: [v1.12.2](service/workmailmessageflow/CHANGELOG.md#v1122-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.28.3](service/workspaces/CHANGELOG.md#v1283-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/workspacesweb`: [v1.9.2](service/workspacesweb/CHANGELOG.md#v192-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-* `github.com/aws/aws-sdk-go-v2/service/xray`: [v1.16.3](service/xray/CHANGELOG.md#v1163-2023-02-15)
- * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910.
- * **Bug Fix**: Correct error type parsing for restJson services.
-
-# Release (2023-02-14)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.17.0](service/appconfig/CHANGELOG.md#v1170-2023-02-14)
- * **Feature**: AWS AppConfig now offers the option to set a version label on hosted configuration versions. Version labels allow you to identify specific hosted configuration versions based on an alternate versioning scheme that you define.
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.22.0](service/datasync/CHANGELOG.md#v1220-2023-02-14)
- * **Feature**: With this launch, we are giving customers the ability to use older SMB protocol versions, enabling them to use DataSync to copy data to and from their legacy storage arrays.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.86.0](service/ec2/CHANGELOG.md#v1860-2023-02-14)
- * **Feature**: With this release customers can turn host maintenance on or off when allocating or modifying a supported dedicated host. Host maintenance is turned on by default for supported hosts.
-
-# Release (2023-02-13)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/account`: [v1.9.0](service/account/CHANGELOG.md#v190-2023-02-13)
- * **Feature**: This release of the Account Management API enables customers to view and manage whether AWS Opt-In Regions are enabled or disabled for their Account. For more information, see https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html
-* `github.com/aws/aws-sdk-go-v2/service/appconfigdata`: [v1.6.0](service/appconfigdata/CHANGELOG.md#v160-2023-02-13)
- * **Feature**: AWS AppConfig now offers the option to set a version label on hosted configuration versions. If a labeled hosted configuration version is deployed, its version label is available in the GetLatestConfiguration response.
-* `github.com/aws/aws-sdk-go-v2/service/snowball`: [v1.18.0](service/snowball/CHANGELOG.md#v1180-2023-02-13)
- * **Feature**: Adds support for EKS Anywhere on Snowball. AWS Snow Family customers can now install EKS Anywhere service on Snowball Edge Compute Optimized devices.
-
-# Release (2023-02-10)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.27.0](service/autoscaling/CHANGELOG.md#v1270-2023-02-10)
- * **Feature**: You can now either terminate/replace, ignore, or wait for EC2 Auto Scaling instances on standby or protected from scale in. Also, you can also roll back changes from a failed instance refresh.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.46.0](service/connect/CHANGELOG.md#v1460-2023-02-10)
- * **Feature**: This update provides the Wisdom session ARN for contacts enabled for Wisdom in the chat channel.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.85.0](service/ec2/CHANGELOG.md#v1850-2023-02-10)
- * **Feature**: Adds support for waiters that automatically poll for an imported snapshot until it reaches the completed state.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.25.0](service/polly/CHANGELOG.md#v1250-2023-02-10)
- * **Feature**: Amazon Polly adds two new neural Japanese voices - Kazuha, Tomoko
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.68.0](service/sagemaker/CHANGELOG.md#v1680-2023-02-10)
- * **Feature**: Amazon SageMaker Autopilot adds support for selecting algorithms in CreateAutoMLJob API.
-* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.20.2](service/sns/CHANGELOG.md#v1202-2023-02-10)
- * **Documentation**: This release adds support for SNS X-Ray active tracing as well as other updates.
-
-# Release (2023-02-09)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.14.2](service/chimesdkmeetings/CHANGELOG.md#v1142-2023-02-09)
- * **Documentation**: Documentation updates for Chime Meetings SDK
-* `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.17.0](service/emrcontainers/CHANGELOG.md#v1170-2023-02-09)
- * **Feature**: EMR on EKS allows configuring retry policies for job runs through the StartJobRun API. Using retry policies, a job cause a driver pod to be restarted automatically if it fails or is deleted. The job's status can be seen in the DescribeJobRun and ListJobRun APIs and monitored using CloudWatch events.
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.28.0](service/lexmodelsv2/CHANGELOG.md#v1280-2023-02-09)
- * **Feature**: AWS Lex now supports Network of Bots.
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.17.0](service/lexruntimev2/CHANGELOG.md#v1170-2023-02-09)
- * **Feature**: AWS Lex now supports Network of Bots.
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.25.2](service/lightsail/CHANGELOG.md#v1252-2023-02-09)
- * **Documentation**: Documentation updates for Lightsail
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubrefactorspaces`: [v1.9.0](service/migrationhubrefactorspaces/CHANGELOG.md#v190-2023-02-09)
- * **Feature**: This release adds support for creating environments with a network fabric type of NONE
-* `github.com/aws/aws-sdk-go-v2/service/workdocs`: [v1.13.2](service/workdocs/CHANGELOG.md#v1132-2023-02-09)
- * **Documentation**: Doc only update for the WorkDocs APIs.
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.28.2](service/workspaces/CHANGELOG.md#v1282-2023-02-09)
- * **Documentation**: Removed Windows Server 2016 BYOL and made changes based on IAM campaign.
-
-# Release (2023-02-08)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.20.0](service/backup/CHANGELOG.md#v1200-2023-02-08)
- * **Feature**: This release added one attribute (resource name) in the output model of our 9 existing APIs in AWS backup so that customers will see the resource name at the output. No input required from Customers.
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.25.0](service/cloudfront/CHANGELOG.md#v1250-2023-02-08)
- * **Feature**: CloudFront Origin Access Control extends support to AWS Elemental MediaStore origins.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.41.0](service/glue/CHANGELOG.md#v1410-2023-02-08)
- * **Feature**: DirectJDBCSource + Glue 4.0 streaming options
-
-# Release (2023-02-07)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.28.2](service/transfer/CHANGELOG.md#v1282-2023-02-07)
- * **Documentation**: Updated the documentation for the ImportCertificate API call, and added examples.
-
-# Release (2023-02-06)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.21.0](service/computeoptimizer/CHANGELOG.md#v1210-2023-02-06)
- * **Feature**: AWS Compute optimizer can now infer if Kafka is running on an instance.
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.23.0](service/customerprofiles/CHANGELOG.md#v1230-2023-02-06)
- * **Feature**: This release deprecates the PartyType and Gender enum data types from the Profile model and replaces them with new PartyTypeString and GenderString attributes, which accept any string of length up to 255.
-* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.22.0](service/frauddetector/CHANGELOG.md#v1220-2023-02-06)
- * **Feature**: My AWS Service (Amazon Fraud Detector) - This release introduces Cold Start Model Training which optimizes training for small datasets and adds intelligent methods for treating unlabeled data. You can now train Online Fraud Insights or Transaction Fraud Insights models with minimal historical-data.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.31.0](service/mediaconvert/CHANGELOG.md#v1310-2023-02-06)
- * **Feature**: The AWS Elemental MediaConvert SDK has added improved scene change detection capabilities and a bandwidth reduction filter, along with video quality enhancements, to the AVC encoder.
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.27.0](service/outposts/CHANGELOG.md#v1270-2023-02-06)
- * **Feature**: Adds OrderType to Order structure. Adds PreviousOrderId and PreviousLineItemId to LineItem structure. Adds new line item status REPLACED. Increases maximum length of pagination token.
-
-# Release (2023-02-03)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.26.2](service/autoscaling/CHANGELOG.md#v1262-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.26.2](service/cloudformation/CHANGELOG.md#v1262-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/cloudsearch`: [v1.14.1](service/cloudsearch/CHANGELOG.md#v1141-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.25.2](service/cloudwatch/CHANGELOG.md#v1252-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.20.2](service/docdb/CHANGELOG.md#v1202-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.84.1](service/ec2/CHANGELOG.md#v1841-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.26.2](service/elasticache/CHANGELOG.md#v1262-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk`: [v1.15.1](service/elasticbeanstalk/CHANGELOG.md#v1151-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing`: [v1.15.2](service/elasticloadbalancing/CHANGELOG.md#v1152-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.19.3](service/elasticloadbalancingv2/CHANGELOG.md#v1193-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.19.2](service/iam/CHANGELOG.md#v1192-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/neptune`: [v1.19.2](service/neptune/CHANGELOG.md#v1192-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.20.0](service/proton/CHANGELOG.md#v1200-2023-02-03)
- * **Feature**: Add new GetResourcesSummary API
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.40.2](service/rds/CHANGELOG.md#v1402-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.27.2](service/redshift/CHANGELOG.md#v1272-2023-02-03)
- * **Documentation**: Corrects descriptions of the parameters for the API operations RestoreFromClusterSnapshot, RestoreTableFromClusterSnapshot, and CreateCluster.
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/ses`: [v1.15.1](service/ses/CHANGELOG.md#v1151-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.20.1](service/sns/CHANGELOG.md#v1201-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.20.2](service/sqs/CHANGELOG.md#v1202-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.18.3](service/sts/CHANGELOG.md#v1183-2023-02-03)
- * **Dependency Update**: Upgrade smithy to 1.27.2 and correct empty query list serialization.
-
-# Release (2023-02-02)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.16.0](service/appconfig/CHANGELOG.md#v1160-2023-02-02)
- * **Feature**: AWS AppConfig introduces KMS customer-managed key (CMK) encryption of configuration data, along with AWS Secrets Manager as a new configuration data source. S3 objects using SSE-KMS encryption and SSM Parameter Store SecureStrings are also now supported.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.84.0](service/ec2/CHANGELOG.md#v1840-2023-02-02)
- * **Feature**: Documentation updates for EC2.
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.19.2](service/elasticloadbalancingv2/CHANGELOG.md#v1192-2023-02-02)
- * **Documentation**: The GWLB Flex Health Check project updates the default values of healthy-threshold-count from 3 to 5 and unhealthy-threshold-count from 3 to 2
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.31.0](service/quicksight/CHANGELOG.md#v1310-2023-02-02)
- * **Feature**: QuickSight support for Radar Chart and Dashboard Publish Options
-
-# Release (2023-02-01)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.22.0](service/devopsguru/CHANGELOG.md#v1220-2023-02-01)
- * **Feature**: This release adds filter support ListAnomalyForInsight API.
-* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.25.0](service/forecast/CHANGELOG.md#v1250-2023-02-01)
- * **Feature**: This release will enable customer select INCREMENTAL as ImportModel in Forecast's CreateDatasetImportJob API. Verified latest SDK containing required attribute, following https://w.amazon.com/bin/view/AWS-Seer/Launch/Trebuchet/
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.19.1](service/iam/CHANGELOG.md#v1191-2023-02-01)
- * **Documentation**: Documentation updates for AWS Identity and Access Management (IAM).
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.22.0](service/mediatailor/CHANGELOG.md#v1220-2023-02-01)
- * **Feature**: The AWS Elemental MediaTailor SDK for Channel Assembly has added support for program updates, and the ability to clip the end of VOD sources in programs.
-* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.20.0](service/sns/CHANGELOG.md#v1200-2023-02-01)
- * **Feature**: Additional attributes added for set-topic-attributes.
-
-# Release (2023-01-31)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.19.0](service/appsync/CHANGELOG.md#v1190-2023-01-31)
- * **Feature**: This release introduces the feature to support EventBridge as AppSync data source.
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.23.0](service/cloudtrail/CHANGELOG.md#v1230-2023-01-31)
- * **Feature**: Add new "Channel" APIs to enable users to manage channels used for CloudTrail Lake integrations, and "Resource Policy" APIs to enable users to manage the resource-based permissions policy attached to a channel.
-* `github.com/aws/aws-sdk-go-v2/service/cloudtraildata`: [v1.0.0](service/cloudtraildata/CHANGELOG.md#v100-2023-01-31)
- * **Release**: New AWS service client module
- * **Feature**: Add CloudTrail Data Service to enable users to ingest activity events from non-AWS sources into CloudTrail Lake.
-* `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.16.0](service/codeartifact/CHANGELOG.md#v1160-2023-01-31)
- * **Feature**: This release introduces a new DeletePackage API, which enables deletion of a package and all of its versions from a repository.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.83.0](service/ec2/CHANGELOG.md#v1830-2023-01-31)
- * **Feature**: This launch allows customers to associate up to 8 IP addresses to their NAT Gateways to increase the limit on concurrent connections to a single destination by eight times from 55K to 440K.
-* `github.com/aws/aws-sdk-go-v2/service/groundstation`: [v1.17.0](service/groundstation/CHANGELOG.md#v1170-2023-01-31)
- * **Feature**: DigIF Expansion changes to the Customer APIs.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.34.0](service/iot/CHANGELOG.md#v1340-2023-01-31)
- * **Feature**: Added support for IoT Rules Engine Cloudwatch Logs action batch mode.
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.14.0](service/opensearch/CHANGELOG.md#v1140-2023-01-31)
- * **Feature**: Amazon OpenSearch Service adds the option for a VPC endpoint connection between two domains when the local domain uses OpenSearch version 1.3 or 2.3. You can now use remote reindex to copy indices from one VPC domain to another without a reverse proxy.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.24.0](service/polly/CHANGELOG.md#v1240-2023-01-31)
- * **Feature**: Amazon Polly adds two new neural American English voices - Ruth, Stephen
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.67.0](service/sagemaker/CHANGELOG.md#v1670-2023-01-31)
- * **Feature**: Amazon SageMaker Automatic Model Tuning now supports more completion criteria for Hyperparameter Optimization.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.28.0](service/securityhub/CHANGELOG.md#v1280-2023-01-31)
- * **Feature**: New fields have been added to the AWS Security Finding Format. Compliance.SecurityControlId is a unique identifier for a security control across standards. Compliance.AssociatedStandards contains all enabled standards in which a security control is enabled.
-
-# Release (2023-01-30)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.26.0](service/cloudformation/CHANGELOG.md#v1260-2023-01-30)
- * **Feature**: This feature provides a method of obtaining which regions a stackset has stack instances deployed in.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.82.0](service/ec2/CHANGELOG.md#v1820-2023-01-30)
- * **Feature**: We add Prefix Lists as a new route destination option for LocalGatewayRoutes. This will allow customers to create routes to Prefix Lists. Prefix List routes will allow customers to group individual CIDR routes with the same target into a single route.
-
-# Release (2023-01-27)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.20.0](service/appstream/CHANGELOG.md#v1200-2023-01-27)
- * **Feature**: Fixing the issue where Appstream waiters hang for fleet_started and fleet_stopped.
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.21.0](service/mediatailor/CHANGELOG.md#v1210-2023-01-27)
- * **Feature**: This release introduces the As Run logging type, along with API and documentation updates.
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.26.0](service/outposts/CHANGELOG.md#v1260-2023-01-27)
- * **Feature**: Adding support for payment term in GetOrder, CreateOrder responses.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.66.0](service/sagemaker/CHANGELOG.md#v1660-2023-01-27)
- * **Feature**: This release supports running SageMaker Training jobs with container images that are in a private Docker registry.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerruntime`: [v1.18.0](service/sagemakerruntime/CHANGELOG.md#v1180-2023-01-27)
- * **Feature**: Amazon SageMaker Runtime which supports InvokeEndpointAsync asynchronously can now invoke endpoints with custom timeout values. Asynchronous invocations support longer processing times.
-
-# Release (2023-01-26)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.18.0](service/eventbridge/CHANGELOG.md#v1180-2023-01-26)
- * **Feature**: Minor comments for Redshift Serverless workgroup target support.
-
-# Release (2023-01-25)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.81.0](service/ec2/CHANGELOG.md#v1810-2023-01-25)
- * **Feature**: This release adds new functionality that allows customers to provision IPv6 CIDR blocks through Amazon VPC IP Address Manager (IPAM) as well as allowing customers to utilize IPAM Resource Discovery APIs.
-* `github.com/aws/aws-sdk-go-v2/service/m2`: [v1.4.0](service/m2/CHANGELOG.md#v140-2023-01-25)
- * **Feature**: Add returnCode, batchJobIdentifier in GetBatchJobExecution response, for user to view the batch job execution result & unique identifier from engine. Also removed unused headers from REST APIs
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.23.0](service/polly/CHANGELOG.md#v1230-2023-01-25)
- * **Feature**: Add 5 new neural voices - Sergio (es-ES), Andres (es-MX), Remi (fr-FR), Adriano (it-IT) and Thiago (pt-BR).
-* `github.com/aws/aws-sdk-go-v2/service/redshiftserverless`: [v1.4.1](service/redshiftserverless/CHANGELOG.md#v141-2023-01-25)
- * **Documentation**: Added query monitoring rules as possible parameters for create and update workgroup operations.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.65.0](service/sagemaker/CHANGELOG.md#v1650-2023-01-25)
- * **Feature**: SageMaker Inference Recommender now decouples from Model Registry and could accept Model Name to invoke inference recommendations job; Inference Recommender now provides CPU/Memory Utilization metrics data in recommendation output.
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.18.2](service/sts/CHANGELOG.md#v1182-2023-01-25)
- * **Documentation**: Doc only change to update wording in a key topic
-
-# Release (2023-01-24)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.27.0](service/route53/CHANGELOG.md#v1270-2023-01-24)
- * **Feature**: Amazon Route 53 now supports the Asia Pacific (Melbourne) Region (ap-southeast-4) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region.
-* `github.com/aws/aws-sdk-go-v2/service/ssmsap`: [v1.2.0](service/ssmsap/CHANGELOG.md#v120-2023-01-24)
- * **Feature**: This release provides updates to documentation and support for listing operations performed by AWS Systems Manager for SAP.
-
-# Release (2023-01-23)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.29.0](service/lambda/CHANGELOG.md#v1290-2023-01-23)
- * **Feature**: Release Lambda RuntimeManagementConfig, enabling customers to better manage runtime updates to their Lambda functions. This release adds two new APIs, GetRuntimeManagementConfig and PutRuntimeManagementConfig, as well as support on existing Create/Get/Update function APIs.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.64.0](service/sagemaker/CHANGELOG.md#v1640-2023-01-23)
- * **Feature**: Amazon SageMaker Inference now supports P4de instance types.
-
-# Release (2023-01-20)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.80.0](service/ec2/CHANGELOG.md#v1800-2023-01-20)
- * **Feature**: C6in, M6in, M6idn, R6in and R6idn instances are powered by 3rd Generation Intel Xeon Scalable processors (code named Ice Lake) with an all-core turbo frequency of 3.5 GHz.
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.20.0](service/ivs/CHANGELOG.md#v1200-2023-01-20)
- * **Feature**: API and Doc update. Update to arns field in BatchGetStreamKey. Also updates to operations and structures.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.30.0](service/quicksight/CHANGELOG.md#v1300-2023-01-20)
- * **Feature**: This release adds support for data bars in QuickSight table and increases pivot table field well limit.
-
-# Release (2023-01-19)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.24.0](service/appflow/CHANGELOG.md#v1240-2023-01-19)
- * **Feature**: Adding support for Salesforce Pardot connector in Amazon AppFlow.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.20.0](service/cloudwatchlogs/CHANGELOG.md#v1200-2023-01-19)
- * **Feature**: Bug fix - Removed the regex pattern validation from CoralModel to avoid potential security issue.
-* `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.15.0](service/codeartifact/CHANGELOG.md#v1150-2023-01-19)
- * **Feature**: Documentation updates for CodeArtifact
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.45.0](service/connect/CHANGELOG.md#v1450-2023-01-19)
- * **Feature**: Amazon Connect Chat introduces Persistent Chat, allowing customers to resume previous conversations with context and transcripts carried over from previous chats, eliminating the need to repeat themselves and allowing agents to provide personalized service with access to entire conversation history.
-* `github.com/aws/aws-sdk-go-v2/service/connectparticipant`: [v1.15.0](service/connectparticipant/CHANGELOG.md#v1150-2023-01-19)
- * **Feature**: This release updates Amazon Connect Participant's GetTranscript api to provide transcripts of past chats on a persistent chat session.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.79.0](service/ec2/CHANGELOG.md#v1790-2023-01-19)
- * **Feature**: Adds SSM Parameter Resource Aliasing support to EC2 Launch Templates. Launch Templates can now store parameter aliases in place of AMI Resource IDs. CreateLaunchTemplateVersion and DescribeLaunchTemplateVersions now support a convenience flag, ResolveAlias, to return the resolved parameter value.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.40.0](service/glue/CHANGELOG.md#v1400-2023-01-19)
- * **Feature**: Release Glue Studio Hudi Data Lake Format for SDK/CLI
-* `github.com/aws/aws-sdk-go-v2/service/groundstation`: [v1.16.0](service/groundstation/CHANGELOG.md#v1160-2023-01-19)
- * **Feature**: Add configurable prepass and postpass times for DataflowEndpointGroup. Add Waiter to allow customers to wait for a contact that was reserved through ReserveContact
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.29.0](service/medialive/CHANGELOG.md#v1290-2023-01-19)
- * **Feature**: AWS Elemental MediaLive adds support for SCTE 35 preRollMilliSeconds.
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.13.0](service/opensearch/CHANGELOG.md#v1130-2023-01-19)
- * **Feature**: This release adds the enhanced dry run option, that checks for validation errors that might occur when deploying configuration changes and provides a summary of these errors, if any. The feature will also indicate whether a blue/green deployment will be required to apply a change.
-* `github.com/aws/aws-sdk-go-v2/service/panorama`: [v1.11.0](service/panorama/CHANGELOG.md#v1110-2023-01-19)
- * **Feature**: Added AllowMajorVersionUpdate option to OTAJobConfig to make appliance software major version updates opt-in.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.63.0](service/sagemaker/CHANGELOG.md#v1630-2023-01-19)
- * **Feature**: HyperParameterTuningJobs now allow passing environment variables into the corresponding TrainingJobs
-
-# Release (2023-01-18)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.25.0](service/cloudwatch/CHANGELOG.md#v1250-2023-01-18)
- * **Feature**: Enable cross-account streams in CloudWatch Metric Streams via Observability Access Manager.
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.19.1](service/efs/CHANGELOG.md#v1191-2023-01-18)
- * **Documentation**: Documentation updates for EFS access points limit increase
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.24.2](service/wafv2/CHANGELOG.md#v1242-2023-01-18)
- * **Documentation**: Improved the visibility of the guidance for updating AWS WAF resources, such as web ACLs and rule groups.
-
-# Release (2023-01-17)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/billingconductor`: [v1.5.0](service/billingconductor/CHANGELOG.md#v150-2023-01-17)
- * **Feature**: This release adds support for SKU Scope for pricing plans.
-* `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.22.0](service/imagebuilder/CHANGELOG.md#v1220-2023-01-17)
- * **Feature**: Add support for AWS Marketplace product IDs as input during CreateImageRecipe for the parent-image parameter. Add support for listing third-party components.
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.24.0](service/networkfirewall/CHANGELOG.md#v1240-2023-01-17)
- * **Feature**: Network Firewall now allows creation of dual stack endpoints, enabling inspection of IPv6 traffic.
-
-# Release (2023-01-13)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.44.0](service/connect/CHANGELOG.md#v1440-2023-01-13)
- * **Feature**: This release updates the responses of UpdateContactFlowContent, UpdateContactFlowMetadata, UpdateContactFlowName and DeleteContactFlow API with empty responses.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.78.0](service/ec2/CHANGELOG.md#v1780-2023-01-13)
- * **Feature**: Documentation updates for EC2.
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.25.0](service/outposts/CHANGELOG.md#v1250-2023-01-13)
- * **Feature**: This release adds POWER_30_KVA as an option for PowerDrawKva. PowerDrawKva is part of the RackPhysicalProperties structure in the CreateSite request.
-* `github.com/aws/aws-sdk-go-v2/service/resourcegroups`: [v1.14.0](service/resourcegroups/CHANGELOG.md#v1140-2023-01-13)
- * **Feature**: AWS Resource Groups customers can now turn on Group Lifecycle Events in their AWS account. When you turn this on, Resource Groups monitors your groups for changes to group state or membership. Those changes are sent to Amazon EventBridge as events that you can respond to using rules you create.
-
-# Release (2023-01-12)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cleanrooms`: [v1.0.0](service/cleanrooms/CHANGELOG.md#v100-2023-01-12)
- * **Release**: New AWS service client module
- * **Feature**: Initial release of AWS Clean Rooms
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.19.0](service/cloudwatchlogs/CHANGELOG.md#v1190-2023-01-12)
- * **Feature**: Bug fix: logGroupName is now not a required field in GetLogEvents, FilterLogEvents, GetLogGroupFields, and DescribeLogStreams APIs as logGroupIdentifier can be provided instead
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.28.0](service/lambda/CHANGELOG.md#v1280-2023-01-12)
- * **Feature**: Add support for MaximumConcurrency parameter for SQS event source. Customers can now limit the maximum concurrent invocations for their SQS Event Source Mapping.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.30.0](service/mediaconvert/CHANGELOG.md#v1300-2023-01-12)
- * **Feature**: The AWS Elemental MediaConvert SDK has added support for compact DASH manifest generation, audio normalization using TruePeak measurements, and the ability to clip the sample range in the color corrector.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.18.1](service/secretsmanager/CHANGELOG.md#v1181-2023-01-12)
- * **Documentation**: Update documentation for new ListSecrets and DescribeSecret parameters
-
-# Release (2023-01-11)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.38.0](service/kendra/CHANGELOG.md#v1380-2023-01-11)
- * **Feature**: This release adds support to new document types - RTF, XML, XSLT, MS_EXCEL, CSV, JSON, MD
-
-# Release (2023-01-10)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.21.0](service/location/CHANGELOG.md#v1210-2023-01-10)
- * **Feature**: This release adds support for two new route travel models, Bicycle and Motorcycle which can be used with Grab data source.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.40.0](service/rds/CHANGELOG.md#v1400-2023-01-10)
- * **Feature**: This release adds support for configuring allocated storage on the CreateDBInstanceReadReplica, RestoreDBInstanceFromDBSnapshot, and RestoreDBInstanceToPointInTime APIs.
-
-# Release (2023-01-09)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ecrpublic`: [v1.15.0](service/ecrpublic/CHANGELOG.md#v1150-2023-01-09)
- * **Feature**: This release for Amazon ECR Public makes several change to bring the SDK into sync with the API.
-* `github.com/aws/aws-sdk-go-v2/service/kendraranking`: [v1.0.0](service/kendraranking/CHANGELOG.md#v100-2023-01-09)
- * **Release**: New AWS service client module
- * **Feature**: Introducing Amazon Kendra Intelligent Ranking, a new set of Kendra APIs that leverages Kendra semantic ranking capabilities to improve the quality of search results from other search services (i.e. OpenSearch, ElasticSearch, Solr).
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.23.0](service/networkfirewall/CHANGELOG.md#v1230-2023-01-09)
- * **Feature**: Network Firewall now supports the Suricata rule action reject, in addition to the actions pass, drop, and alert.
-* `github.com/aws/aws-sdk-go-v2/service/workspacesweb`: [v1.9.0](service/workspacesweb/CHANGELOG.md#v190-2023-01-09)
- * **Feature**: This release adds support for a new portal authentication type: AWS IAM Identity Center (successor to AWS Single Sign-On).
-
-# Release (2023-01-06)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.21.0](service/acmpca/CHANGELOG.md#v1210-2023-01-06)
- * **Feature**: Added revocation parameter validation: bucket names must match S3 bucket naming rules and CNAMEs conform to RFC2396 restrictions on the use of special characters in URIs.
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.23.0](service/auditmanager/CHANGELOG.md#v1230-2023-01-06)
- * **Feature**: This release introduces a new data retention option in your Audit Manager settings. You can now use the DeregistrationPolicy parameter to specify if you want to delete your data when you deregister Audit Manager.
-
-# Release (2023-01-05)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/accessanalyzer`: [v1.19.0](service/accessanalyzer/CHANGELOG.md#v1190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/account`: [v1.8.0](service/account/CHANGELOG.md#v180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/acm`: [v1.17.0](service/acm/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.20.0](service/acmpca/CHANGELOG.md#v1200-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/alexaforbusiness`: [v1.15.0](service/alexaforbusiness/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/amp`: [v1.16.0](service/amp/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/amplify`: [v1.13.0](service/amplify/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/amplifybackend`: [v1.14.0](service/amplifybackend/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
- * **Feature**: Updated GetBackendAPIModels response to include ModelIntrospectionSchema json string
-* `github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder`: [v1.9.0](service/amplifyuibuilder/CHANGELOG.md#v190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/apigateway`: [v1.16.0](service/apigateway/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi`: [v1.11.0](service/apigatewaymanagementapi/CHANGELOG.md#v1110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/apigatewayv2`: [v1.13.0](service/apigatewayv2/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.15.0](service/appconfig/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/appconfigdata`: [v1.5.0](service/appconfigdata/CHANGELOG.md#v150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.23.0](service/appflow/CHANGELOG.md#v1230-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/appintegrations`: [v1.14.0](service/appintegrations/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/applicationautoscaling`: [v1.17.0](service/applicationautoscaling/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/applicationcostprofiler`: [v1.10.0](service/applicationcostprofiler/CHANGELOG.md#v1100-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/applicationdiscoveryservice`: [v1.15.0](service/applicationdiscoveryservice/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/applicationinsights`: [v1.17.0](service/applicationinsights/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/appmesh`: [v1.17.0](service/appmesh/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.16.0](service/apprunner/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
- * **Feature**: This release adds support of securely referencing secrets and configuration data that are stored in Secrets Manager and SSM Parameter Store by adding them as environment secrets in your App Runner service.
-* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.19.0](service/appstream/CHANGELOG.md#v1190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.18.0](service/appsync/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/arczonalshift`: [v1.1.0](service/arczonalshift/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.22.0](service/athena/CHANGELOG.md#v1220-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.22.0](service/auditmanager/CHANGELOG.md#v1220-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.26.0](service/autoscaling/CHANGELOG.md#v1260-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/autoscalingplans`: [v1.13.0](service/autoscalingplans/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.19.0](service/backup/CHANGELOG.md#v1190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/backupgateway`: [v1.9.0](service/backupgateway/CHANGELOG.md#v190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/backupstorage`: [v1.1.0](service/backupstorage/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.21.0](service/batch/CHANGELOG.md#v1210-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/billingconductor`: [v1.4.0](service/billingconductor/CHANGELOG.md#v140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.17.0](service/braket/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/budgets`: [v1.14.0](service/budgets/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.22.0](service/chime/CHANGELOG.md#v1220-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkidentity`: [v1.10.0](service/chimesdkidentity/CHANGELOG.md#v1100-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines`: [v1.2.0](service/chimesdkmediapipelines/CHANGELOG.md#v120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.14.0](service/chimesdkmeetings/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.12.0](service/chimesdkmessaging/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkvoice`: [v1.1.0](service/chimesdkvoice/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/cloud9`: [v1.17.0](service/cloud9/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/cloudcontrol`: [v1.11.0](service/cloudcontrol/CHANGELOG.md#v1110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/clouddirectory`: [v1.13.0](service/clouddirectory/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.25.0](service/cloudformation/CHANGELOG.md#v1250-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.24.0](service/cloudfront/CHANGELOG.md#v1240-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/cloudhsm`: [v1.13.0](service/cloudhsm/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/cloudhsmv2`: [v1.14.0](service/cloudhsmv2/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/cloudsearch`: [v1.14.0](service/cloudsearch/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/cloudsearchdomain`: [v1.12.0](service/cloudsearchdomain/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.22.0](service/cloudtrail/CHANGELOG.md#v1220-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.24.0](service/cloudwatch/CHANGELOG.md#v1240-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchevents`: [v1.15.0](service/cloudwatchevents/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.18.0](service/cloudwatchlogs/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.14.0](service/codeartifact/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/codebuild`: [v1.20.0](service/codebuild/CHANGELOG.md#v1200-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/codecatalyst`: [v1.1.0](service/codecatalyst/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/codecommit`: [v1.14.0](service/codecommit/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/codedeploy`: [v1.16.0](service/codedeploy/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/codeguruprofiler`: [v1.13.0](service/codeguruprofiler/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/codegurureviewer`: [v1.17.0](service/codegurureviewer/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/codepipeline`: [v1.14.0](service/codepipeline/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/codestar`: [v1.13.0](service/codestar/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/codestarconnections`: [v1.14.0](service/codestarconnections/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/codestarnotifications`: [v1.14.0](service/codestarnotifications/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentity`: [v1.15.0](service/cognitoidentity/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.22.0](service/cognitoidentityprovider/CHANGELOG.md#v1220-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/cognitosync`: [v1.12.0](service/cognitosync/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.21.0](service/comprehend/CHANGELOG.md#v1210-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/comprehendmedical`: [v1.15.0](service/comprehendmedical/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.20.0](service/computeoptimizer/CHANGELOG.md#v1200-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.29.0](service/configservice/CHANGELOG.md#v1290-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.43.0](service/connect/CHANGELOG.md#v1430-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
- * **Feature**: Documentation update for a new Initiation Method value in DescribeContact API
-* `github.com/aws/aws-sdk-go-v2/service/connectcampaigns`: [v1.2.0](service/connectcampaigns/CHANGELOG.md#v120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/connectcases`: [v1.2.0](service/connectcases/CHANGELOG.md#v120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/connectcontactlens`: [v1.13.0](service/connectcontactlens/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/connectparticipant`: [v1.14.0](service/connectparticipant/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/controltower`: [v1.1.0](service/controltower/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/costandusagereportservice`: [v1.15.0](service/costandusagereportservice/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.25.0](service/costexplorer/CHANGELOG.md#v1250-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.22.0](service/customerprofiles/CHANGELOG.md#v1220-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.23.0](service/databasemigrationservice/CHANGELOG.md#v1230-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/databrew`: [v1.21.0](service/databrew/CHANGELOG.md#v1210-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/dataexchange`: [v1.18.0](service/dataexchange/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/datapipeline`: [v1.14.0](service/datapipeline/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.21.0](service/datasync/CHANGELOG.md#v1210-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/dax`: [v1.12.0](service/dax/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/detective`: [v1.18.0](service/detective/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/devicefarm`: [v1.15.0](service/devicefarm/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.21.0](service/devopsguru/CHANGELOG.md#v1210-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/directconnect`: [v1.18.0](service/directconnect/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/directoryservice`: [v1.16.0](service/directoryservice/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/dlm`: [v1.14.0](service/dlm/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.20.0](service/docdb/CHANGELOG.md#v1200-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/docdbelastic`: [v1.1.0](service/docdbelastic/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.10.0](service/drs/CHANGELOG.md#v1100-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.18.0](service/dynamodb/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/dynamodbstreams`: [v1.14.0](service/dynamodbstreams/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ebs`: [v1.16.0](service/ebs/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect`: [v1.15.0](service/ec2instanceconnect/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ecr`: [v1.18.0](service/ecr/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ecrpublic`: [v1.14.0](service/ecrpublic/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.23.0](service/ecs/CHANGELOG.md#v1230-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.19.0](service/efs/CHANGELOG.md#v1190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.27.0](service/eks/CHANGELOG.md#v1270-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.26.0](service/elasticache/CHANGELOG.md#v1260-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk`: [v1.15.0](service/elasticbeanstalk/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/elasticinference`: [v1.12.0](service/elasticinference/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing`: [v1.15.0](service/elasticloadbalancing/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.19.0](service/elasticloadbalancingv2/CHANGELOG.md#v1190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/elasticsearchservice`: [v1.18.0](service/elasticsearchservice/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/elastictranscoder`: [v1.14.0](service/elastictranscoder/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.22.0](service/emr/CHANGELOG.md#v1220-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.16.0](service/emrcontainers/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/emrserverless`: [v1.5.0](service/emrserverless/CHANGELOG.md#v150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
- * **Feature**: Adds support for customized images. You can now provide runtime images when creating or updating EMR Serverless Applications.
-* `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.17.0](service/eventbridge/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/evidently`: [v1.10.0](service/evidently/CHANGELOG.md#v1100-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/finspace`: [v1.9.0](service/finspace/CHANGELOG.md#v190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.14.0](service/finspacedata/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/firehose`: [v1.16.0](service/firehose/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/fis`: [v1.14.0](service/fis/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.22.0](service/fms/CHANGELOG.md#v1220-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.24.0](service/forecast/CHANGELOG.md#v1240-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/forecastquery`: [v1.13.0](service/forecastquery/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.21.0](service/frauddetector/CHANGELOG.md#v1210-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.28.0](service/fsx/CHANGELOG.md#v1280-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.17.0](service/gamelift/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/gamesparks`: [v1.2.0](service/gamesparks/CHANGELOG.md#v120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/glacier`: [v1.14.0](service/glacier/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/globalaccelerator`: [v1.16.0](service/globalaccelerator/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.39.0](service/glue/CHANGELOG.md#v1390-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/grafana`: [v1.11.0](service/grafana/CHANGELOG.md#v1110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/greengrass`: [v1.15.0](service/greengrass/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.21.0](service/greengrassv2/CHANGELOG.md#v1210-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/groundstation`: [v1.15.0](service/groundstation/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.17.0](service/guardduty/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/health`: [v1.16.0](service/health/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/healthlake`: [v1.15.0](service/healthlake/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/honeycode`: [v1.13.0](service/honeycode/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.19.0](service/iam/CHANGELOG.md#v1190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.16.0](service/identitystore/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.21.0](service/imagebuilder/CHANGELOG.md#v1210-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/inspector`: [v1.13.0](service/inspector/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.11.0](service/inspector2/CHANGELOG.md#v1110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.33.0](service/iot/CHANGELOG.md#v1330-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iot1clickdevicesservice`: [v1.11.0](service/iot1clickdevicesservice/CHANGELOG.md#v1110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iot1clickprojects`: [v1.12.0](service/iot1clickprojects/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iotanalytics`: [v1.14.0](service/iotanalytics/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iotdataplane`: [v1.14.0](service/iotdataplane/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iotdeviceadvisor`: [v1.17.0](service/iotdeviceadvisor/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iotevents`: [v1.15.0](service/iotevents/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ioteventsdata`: [v1.13.0](service/ioteventsdata/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iotfleethub`: [v1.13.0](service/iotfleethub/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iotfleetwise`: [v1.3.0](service/iotfleetwise/CHANGELOG.md#v130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iotjobsdataplane`: [v1.12.0](service/iotjobsdataplane/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iotroborunner`: [v1.1.0](service/iotroborunner/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iotsecuretunneling`: [v1.15.0](service/iotsecuretunneling/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.27.0](service/iotsitewise/CHANGELOG.md#v1270-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iotthingsgraph`: [v1.14.0](service/iotthingsgraph/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iottwinmaker`: [v1.10.0](service/iottwinmaker/CHANGELOG.md#v1100-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.24.0](service/iotwireless/CHANGELOG.md#v1240-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.19.0](service/ivs/CHANGELOG.md#v1190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ivschat`: [v1.3.0](service/ivschat/CHANGELOG.md#v130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/kafka`: [v1.19.0](service/kafka/CHANGELOG.md#v1190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/kafkaconnect`: [v1.9.0](service/kafkaconnect/CHANGELOG.md#v190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.37.0](service/kendra/CHANGELOG.md#v1370-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/keyspaces`: [v1.1.0](service/keyspaces/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/kinesis`: [v1.17.0](service/kinesis/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalytics`: [v1.14.0](service/kinesisanalytics/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2`: [v1.16.0](service/kinesisanalyticsv2/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideo`: [v1.15.0](service/kinesisvideo/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideoarchivedmedia`: [v1.14.0](service/kinesisvideoarchivedmedia/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideomedia`: [v1.11.0](service/kinesisvideomedia/CHANGELOG.md#v1110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideosignaling`: [v1.11.0](service/kinesisvideosignaling/CHANGELOG.md#v1110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideowebrtcstorage`: [v1.2.0](service/kinesisvideowebrtcstorage/CHANGELOG.md#v120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.20.0](service/kms/CHANGELOG.md#v1200-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.19.0](service/lakeformation/CHANGELOG.md#v1190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.27.0](service/lambda/CHANGELOG.md#v1270-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice`: [v1.17.0](service/lexmodelbuildingservice/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.27.0](service/lexmodelsv2/CHANGELOG.md#v1270-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimeservice`: [v1.13.0](service/lexruntimeservice/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.16.0](service/lexruntimev2/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/licensemanager`: [v1.17.0](service/licensemanager/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/licensemanagerlinuxsubscriptions`: [v1.1.0](service/licensemanagerlinuxsubscriptions/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/licensemanagerusersubscriptions`: [v1.2.0](service/licensemanagerusersubscriptions/CHANGELOG.md#v120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.25.0](service/lightsail/CHANGELOG.md#v1250-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
- * **Documentation**: Documentation updates for Amazon Lightsail.
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.20.0](service/location/CHANGELOG.md#v1200-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/lookoutequipment`: [v1.17.0](service/lookoutequipment/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.19.0](service/lookoutmetrics/CHANGELOG.md#v1190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/lookoutvision`: [v1.15.0](service/lookoutvision/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/m2`: [v1.3.0](service/m2/CHANGELOG.md#v130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/machinelearning`: [v1.15.0](service/machinelearning/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/macie`: [v1.15.0](service/macie/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.26.0](service/macie2/CHANGELOG.md#v1260-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/managedblockchain`: [v1.14.0](service/managedblockchain/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/marketplacecatalog`: [v1.15.0](service/marketplacecatalog/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/marketplacecommerceanalytics`: [v1.12.0](service/marketplacecommerceanalytics/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/marketplaceentitlementservice`: [v1.12.0](service/marketplaceentitlementservice/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/marketplacemetering`: [v1.14.0](service/marketplacemetering/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/mediaconnect`: [v1.18.0](service/mediaconnect/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.29.0](service/mediaconvert/CHANGELOG.md#v1290-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.28.0](service/medialive/CHANGELOG.md#v1280-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/mediapackage`: [v1.20.0](service/mediapackage/CHANGELOG.md#v1200-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagevod`: [v1.21.0](service/mediapackagevod/CHANGELOG.md#v1210-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/mediastore`: [v1.13.0](service/mediastore/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/mediastoredata`: [v1.13.0](service/mediastoredata/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.20.0](service/mediatailor/CHANGELOG.md#v1200-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/memorydb`: [v1.12.0](service/memorydb/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.17.0](service/mgn/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/migrationhub`: [v1.13.0](service/migrationhub/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubconfig`: [v1.13.0](service/migrationhubconfig/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/migrationhuborchestrator`: [v1.1.0](service/migrationhuborchestrator/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubrefactorspaces`: [v1.8.0](service/migrationhubrefactorspaces/CHANGELOG.md#v180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubstrategy`: [v1.7.0](service/migrationhubstrategy/CHANGELOG.md#v170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/mobile`: [v1.12.0](service/mobile/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/mq`: [v1.14.0](service/mq/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/mturk`: [v1.14.0](service/mturk/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/mwaa`: [v1.14.0](service/mwaa/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
- * **Documentation**: MWAA supports Apache Airflow version 2.4.3.
-* `github.com/aws/aws-sdk-go-v2/service/neptune`: [v1.19.0](service/neptune/CHANGELOG.md#v1190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.22.0](service/networkfirewall/CHANGELOG.md#v1220-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/networkmanager`: [v1.17.0](service/networkmanager/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/nimble`: [v1.16.0](service/nimble/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/oam`: [v1.1.0](service/oam/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.1.0](service/omics/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.12.0](service/opensearch/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/opensearchserverless`: [v1.1.0](service/opensearchserverless/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/opsworks`: [v1.14.0](service/opsworks/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/opsworkscm`: [v1.15.0](service/opsworkscm/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/organizations`: [v1.18.0](service/organizations/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.24.0](service/outposts/CHANGELOG.md#v1240-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/panorama`: [v1.10.0](service/panorama/CHANGELOG.md#v1100-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/personalize`: [v1.23.0](service/personalize/CHANGELOG.md#v1230-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/personalizeevents`: [v1.13.0](service/personalizeevents/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/personalizeruntime`: [v1.13.0](service/personalizeruntime/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/pi`: [v1.16.0](service/pi/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/pinpoint`: [v1.18.0](service/pinpoint/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/pinpointemail`: [v1.12.0](service/pinpointemail/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoice`: [v1.11.0](service/pinpointsmsvoice/CHANGELOG.md#v1110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2`: [v1.1.0](service/pinpointsmsvoicev2/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/pipes`: [v1.1.0](service/pipes/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.22.0](service/polly/CHANGELOG.md#v1220-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/pricing`: [v1.18.0](service/pricing/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/privatenetworks`: [v1.1.0](service/privatenetworks/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.19.0](service/proton/CHANGELOG.md#v1190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/qldb`: [v1.15.0](service/qldb/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/qldbsession`: [v1.14.0](service/qldbsession/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.29.0](service/quicksight/CHANGELOG.md#v1290-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ram`: [v1.17.0](service/ram/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/rbin`: [v1.8.0](service/rbin/CHANGELOG.md#v180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.39.0](service/rds/CHANGELOG.md#v1390-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
- * **Feature**: This release adds support for specifying which certificate authority (CA) to use for a DB instance's server certificate during DB instance creation, as well as other CA enhancements.
-* `github.com/aws/aws-sdk-go-v2/service/rdsdata`: [v1.13.0](service/rdsdata/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.27.0](service/redshift/CHANGELOG.md#v1270-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/redshiftdata`: [v1.18.0](service/redshiftdata/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/redshiftserverless`: [v1.4.0](service/redshiftserverless/CHANGELOG.md#v140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.23.0](service/rekognition/CHANGELOG.md#v1230-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/resiliencehub`: [v1.8.0](service/resiliencehub/CHANGELOG.md#v180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/resourceexplorer2`: [v1.2.0](service/resourceexplorer2/CHANGELOG.md#v120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/resourcegroups`: [v1.13.0](service/resourcegroups/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi`: [v1.14.0](service/resourcegroupstaggingapi/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/robomaker`: [v1.18.0](service/robomaker/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/rolesanywhere`: [v1.1.0](service/rolesanywhere/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.26.0](service/route53/CHANGELOG.md#v1260-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/route53domains`: [v1.14.0](service/route53domains/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycluster`: [v1.11.0](service/route53recoverycluster/CHANGELOG.md#v1110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig`: [v1.11.0](service/route53recoverycontrolconfig/CHANGELOG.md#v1110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness`: [v1.9.0](service/route53recoveryreadiness/CHANGELOG.md#v190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/route53resolver`: [v1.16.0](service/route53resolver/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/rum`: [v1.9.0](service/rum/CHANGELOG.md#v190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.30.0](service/s3/CHANGELOG.md#v1300-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.29.0](service/s3control/CHANGELOG.md#v1290-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/s3outposts`: [v1.14.0](service/s3outposts/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.62.0](service/sagemaker/CHANGELOG.md#v1620-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/sagemakera2iruntime`: [v1.15.0](service/sagemakera2iruntime/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/sagemakeredge`: [v1.13.0](service/sagemakeredge/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerfeaturestoreruntime`: [v1.13.0](service/sagemakerfeaturestoreruntime/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/sagemakergeospatial`: [v1.1.0](service/sagemakergeospatial/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerruntime`: [v1.17.0](service/sagemakerruntime/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/savingsplans`: [v1.12.0](service/savingsplans/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/scheduler`: [v1.1.0](service/scheduler/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/schemas`: [v1.15.0](service/schemas/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.18.0](service/secretsmanager/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.27.0](service/securityhub/CHANGELOG.md#v1270-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/securitylake`: [v1.2.0](service/securitylake/CHANGELOG.md#v120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository`: [v1.12.0](service/serverlessapplicationrepository/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.16.0](service/servicecatalog/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry`: [v1.16.0](service/servicecatalogappregistry/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/servicediscovery`: [v1.19.0](service/servicediscovery/CHANGELOG.md#v1190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/servicequotas`: [v1.14.0](service/servicequotas/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ses`: [v1.15.0](service/ses/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/sesv2`: [v1.16.0](service/sesv2/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/sfn`: [v1.17.0](service/sfn/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/shield`: [v1.18.0](service/shield/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/signer`: [v1.14.0](service/signer/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/simspaceweaver`: [v1.1.0](service/simspaceweaver/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/sms`: [v1.13.0](service/sms/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/snowball`: [v1.17.0](service/snowball/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/snowdevicemanagement`: [v1.9.0](service/snowdevicemanagement/CHANGELOG.md#v190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.19.0](service/sns/CHANGELOG.md#v1190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.20.0](service/sqs/CHANGELOG.md#v1200-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.35.0](service/ssm/CHANGELOG.md#v1350-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ssmcontacts`: [v1.14.0](service/ssmcontacts/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.20.0](service/ssmincidents/CHANGELOG.md#v1200-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ssmsap`: [v1.1.0](service/ssmsap/CHANGELOG.md#v110-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/sso`: [v1.12.0](service/sso/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ssoadmin`: [v1.16.0](service/ssoadmin/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/ssooidc`: [v1.14.0](service/ssooidc/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/storagegateway`: [v1.18.0](service/storagegateway/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.18.0](service/sts/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/support`: [v1.14.0](service/support/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/supportapp`: [v1.2.0](service/supportapp/CHANGELOG.md#v120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/swf`: [v1.14.0](service/swf/CHANGELOG.md#v1140-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/synthetics`: [v1.17.0](service/synthetics/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.20.0](service/textract/CHANGELOG.md#v1200-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/timestreamquery`: [v1.15.0](service/timestreamquery/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/timestreamwrite`: [v1.15.0](service/timestreamwrite/CHANGELOG.md#v1150-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.25.0](service/transcribe/CHANGELOG.md#v1250-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/transcribestreaming`: [v1.9.0](service/transcribestreaming/CHANGELOG.md#v190-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.28.0](service/transfer/CHANGELOG.md#v1280-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/translate`: [v1.17.0](service/translate/CHANGELOG.md#v1170-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/voiceid`: [v1.12.0](service/voiceid/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/waf`: [v1.12.0](service/waf/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/wafregional`: [v1.13.0](service/wafregional/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.24.0](service/wafv2/CHANGELOG.md#v1240-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/wellarchitected`: [v1.18.0](service/wellarchitected/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/wisdom`: [v1.12.0](service/wisdom/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/workdocs`: [v1.13.0](service/workdocs/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/worklink`: [v1.13.0](service/worklink/CHANGELOG.md#v1130-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/workmail`: [v1.18.0](service/workmail/CHANGELOG.md#v1180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/workmailmessageflow`: [v1.12.0](service/workmailmessageflow/CHANGELOG.md#v1120-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.28.0](service/workspaces/CHANGELOG.md#v1280-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/workspacesweb`: [v1.8.0](service/workspacesweb/CHANGELOG.md#v180-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-* `github.com/aws/aws-sdk-go-v2/service/xray`: [v1.16.0](service/xray/CHANGELOG.md#v1160-2023-01-05)
- * **Feature**: Add `ErrorCodeOverride` field to all error structs (aws/smithy-go#401).
-
-# Release (2023-01-04)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/applicationautoscaling`: [v1.16.0](service/applicationautoscaling/CHANGELOG.md#v1160-2023-01-04)
- * **Feature**: Customers can now use the existing DescribeScalingActivities API to also see the detailed and machine-readable reasons for Application Auto Scaling not scaling their resources and, if needed, take the necessary corrective actions.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.17.4](service/cloudwatchlogs/CHANGELOG.md#v1174-2023-01-04)
- * **Documentation**: Update to remove sequenceToken as a required field in PutLogEvents calls.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.34.0](service/ssm/CHANGELOG.md#v1340-2023-01-04)
- * **Feature**: Adding support for QuickSetup Document Type in Systems Manager
-
-# Release (2023-01-03)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/securitylake`: [v1.1.0](service/securitylake/CHANGELOG.md#v110-2023-01-03)
- * **Feature**: Allow CreateSubscriber API to take string input that allows setting more descriptive SubscriberDescription field. Make souceTypes field required in model level for UpdateSubscriberRequest as it is required for every API call on the backend. Allow ListSubscribers take any String as nextToken param.
-
-# Release (2022-12-30)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.23.0](service/cloudfront/CHANGELOG.md#v1230-2022-12-30)
- * **Feature**: Extend response headers policy to support removing headers from viewer responses
-* `github.com/aws/aws-sdk-go-v2/service/iotfleetwise`: [v1.2.1](service/iotfleetwise/CHANGELOG.md#v121-2022-12-30)
- * **Documentation**: Update documentation - correct the epoch constant value of default value for expiryTime field in CreateCampaign request.
-
-# Release (2022-12-29)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/apigateway`: [v1.15.28](service/apigateway/CHANGELOG.md#v11528-2022-12-29)
- * **Documentation**: Documentation updates for Amazon API Gateway
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.21.0](service/emr/CHANGELOG.md#v1210-2022-12-29)
- * **Feature**: Added GetClusterSessionCredentials API to allow Amazon SageMaker Studio to connect to EMR on EC2 clusters with runtime roles and AWS Lake Formation-based access control for Apache Spark, Apache Hive, and Presto queries.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.17.0](service/secretsmanager/CHANGELOG.md#v1170-2022-12-29)
- * **Feature**: Added owning service filter, include planned deletion flag, and next rotation date response parameter in ListSecrets.
-* `github.com/aws/aws-sdk-go-v2/service/wisdom`: [v1.11.0](service/wisdom/CHANGELOG.md#v1110-2022-12-29)
- * **Feature**: This release extends Wisdom CreateContent and StartContentUpload APIs to support PDF and MicrosoftWord docx document uploading.
-
-# Release (2022-12-28)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.25.0](service/elasticache/CHANGELOG.md#v1250-2022-12-28)
- * **Feature**: This release allows you to modify the encryption in transit setting, for existing Redis clusters. You can now change the TLS configuration of your Redis clusters without the need to re-build or re-provision the clusters or impact application availability.
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.21.0](service/networkfirewall/CHANGELOG.md#v1210-2022-12-28)
- * **Feature**: AWS Network Firewall now provides status messages for firewalls to help you troubleshoot when your endpoint fails.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.38.0](service/rds/CHANGELOG.md#v1380-2022-12-28)
- * **Feature**: This release adds support for Custom Engine Version (CEV) on RDS Custom SQL Server.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig`: [v1.10.0](service/route53recoverycontrolconfig/CHANGELOG.md#v1100-2022-12-28)
- * **Feature**: Added support for Python paginators in the route53-recovery-control-config List* APIs.
-
-# Release (2022-12-27)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/memorydb`: [v1.11.0](service/memorydb/CHANGELOG.md#v1110-2022-12-27)
- * **Feature**: This release adds support for MemoryDB Reserved nodes which provides a significant discount compared to on-demand node pricing. Reserved nodes are not physical nodes, but rather a billing discount applied to the use of on-demand nodes in your account.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.27.0](service/transfer/CHANGELOG.md#v1270-2022-12-27)
- * **Feature**: Add additional operations to throw ThrottlingExceptions
-
-# Release (2022-12-23)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.42.0](service/connect/CHANGELOG.md#v1420-2022-12-23)
- * **Feature**: Support for Routing Profile filter, SortCriteria, and grouping by Routing Profiles for GetCurrentMetricData API. Support for RoutingProfiles, UserHierarchyGroups, and Agents as filters, NextStatus and AgentStatusName for GetCurrentUserData. Adds ApproximateTotalCount to both APIs.
-* `github.com/aws/aws-sdk-go-v2/service/connectparticipant`: [v1.13.0](service/connectparticipant/CHANGELOG.md#v1130-2022-12-23)
- * **Feature**: Amazon Connect Chat introduces the Message Receipts feature. This feature allows agents and customers to receive message delivered and read receipts after they send a chat message.
-* `github.com/aws/aws-sdk-go-v2/service/detective`: [v1.17.0](service/detective/CHANGELOG.md#v1170-2022-12-23)
- * **Feature**: This release adds a missed AccessDeniedException type to several endpoints.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.27.0](service/fsx/CHANGELOG.md#v1270-2022-12-23)
- * **Feature**: Fix a bug where a recent release might break certain existing SDKs.
-* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.10.0](service/inspector2/CHANGELOG.md#v1100-2022-12-23)
- * **Feature**: Amazon Inspector adds support for scanning NodeJS 18.x and Go 1.x AWS Lambda function runtimes.
-
-# Release (2022-12-22)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.19.0](service/computeoptimizer/CHANGELOG.md#v1190-2022-12-22)
- * **Feature**: This release enables AWS Compute Optimizer to analyze and generate optimization recommendations for ecs services running on Fargate.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.41.0](service/connect/CHANGELOG.md#v1410-2022-12-22)
- * **Feature**: Amazon Connect Chat introduces the Idle Participant/Autodisconnect feature, which allows users to set timeouts relating to the activity of chat participants, using the new UpdateParticipantRoleConfig API.
-* `github.com/aws/aws-sdk-go-v2/service/iotdeviceadvisor`: [v1.16.0](service/iotdeviceadvisor/CHANGELOG.md#v1160-2022-12-22)
- * **Feature**: This release adds the following new features: 1) Documentation updates for IoT Device Advisor APIs. 2) Updated required request parameters for IoT Device Advisor APIs. 3) Added new service feature: ability to provide the test endpoint when customer executing the StartSuiteRun API.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideowebrtcstorage`: [v1.1.0](service/kinesisvideowebrtcstorage/CHANGELOG.md#v110-2022-12-22)
- * **Feature**: Amazon Kinesis Video Streams offers capabilities to stream video and audio in real-time via WebRTC to the cloud for storage, playback, and analytical processing. Customers can use our enhanced WebRTC SDK and cloud APIs to enable real-time streaming, as well as media ingestion to the cloud.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.37.0](service/rds/CHANGELOG.md#v1370-2022-12-22)
- * **Feature**: Add support for managing master user password in AWS Secrets Manager for the DBInstance and DBCluster.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.16.11](service/secretsmanager/CHANGELOG.md#v11611-2022-12-22)
- * **Documentation**: Documentation updates for Secrets Manager
-
-# Release (2022-12-21)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/licensemanagerlinuxsubscriptions`: [v1.0.0](service/licensemanagerlinuxsubscriptions/CHANGELOG.md#v100-2022-12-21)
- * **Release**: New AWS service client module
- * **Feature**: AWS License Manager now offers cross-region, cross-account tracking of commercial Linux subscriptions on AWS. This includes subscriptions purchased as part of EC2 subscription-included AMIs, on the AWS Marketplace, or brought to AWS via Red Hat Cloud Access Program.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.25.0](service/macie2/CHANGELOG.md#v1250-2022-12-21)
- * **Feature**: This release adds support for analyzing Amazon S3 objects that use the S3 Glacier Instant Retrieval (Glacier_IR) storage class.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.61.0](service/sagemaker/CHANGELOG.md#v1610-2022-12-21)
- * **Feature**: This release enables adding RStudio Workbench support to an existing Amazon SageMaker Studio domain. It allows setting your RStudio on SageMaker environment configuration parameters and also updating the RStudioConnectUrl and RStudioPackageManagerUrl parameters for existing domains
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.33.4](service/ssm/CHANGELOG.md#v1334-2022-12-21)
- * **Documentation**: Doc-only updates for December 2022.
-* `github.com/aws/aws-sdk-go-v2/service/support`: [v1.13.22](service/support/CHANGELOG.md#v11322-2022-12-21)
- * **Documentation**: Documentation updates for the AWS Support API
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.26.0](service/transfer/CHANGELOG.md#v1260-2022-12-21)
- * **Feature**: This release adds support for Decrypt as a workflow step type.
-
-# Release (2022-12-20)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.20.0](service/batch/CHANGELOG.md#v1200-2022-12-20)
- * **Feature**: Adds isCancelled and isTerminated to DescribeJobs response.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.77.0](service/ec2/CHANGELOG.md#v1770-2022-12-20)
- * **Feature**: Adds support for pagination in the EC2 DescribeImages API.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutequipment`: [v1.16.0](service/lookoutequipment/CHANGELOG.md#v1160-2022-12-20)
- * **Feature**: This release adds support for listing inference schedulers by status.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.27.0](service/medialive/CHANGELOG.md#v1270-2022-12-20)
- * **Feature**: This release adds support for two new features to AWS Elemental MediaLive. First, you can now burn-in timecodes to your MediaLive outputs. Second, we now now support the ability to decode Dolby E audio when it comes in on an input.
-* `github.com/aws/aws-sdk-go-v2/service/nimble`: [v1.15.0](service/nimble/CHANGELOG.md#v1150-2022-12-20)
- * **Feature**: Amazon Nimble Studio now supports configuring session storage volumes and persistence, as well as backup and restore sessions through launch profiles.
-* `github.com/aws/aws-sdk-go-v2/service/resourceexplorer2`: [v1.1.0](service/resourceexplorer2/CHANGELOG.md#v110-2022-12-20)
- * **Feature**: Documentation updates for AWS Resource Explorer.
-* `github.com/aws/aws-sdk-go-v2/service/route53domains`: [v1.13.0](service/route53domains/CHANGELOG.md#v1130-2022-12-20)
- * **Feature**: Use Route 53 domain APIs to change owner, create/delete DS record, modify IPS tag, resend authorization. New: AssociateDelegationSignerToDomain, DisassociateDelegationSignerFromDomain, PushDomain, ResendOperationAuthorization. Updated: UpdateDomainContact, ListOperations, CheckDomainTransferability.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.60.0](service/sagemaker/CHANGELOG.md#v1600-2022-12-20)
- * **Feature**: Amazon SageMaker Autopilot adds support for new objective metrics in CreateAutoMLJob API.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.24.0](service/transcribe/CHANGELOG.md#v1240-2022-12-20)
- * **Feature**: Enable our batch transcription jobs for Swedish and Vietnamese.
-
-# Release (2022-12-19)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.21.0](service/athena/CHANGELOG.md#v1210-2022-12-19)
- * **Feature**: Add missed InvalidRequestException in GetCalculationExecutionCode,StopCalculationExecution APIs. Correct required parameters (Payload and Type) in UpdateNotebook API. Change Notebook size from 15 Mb to 10 Mb.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.22.0](service/ecs/CHANGELOG.md#v1220-2022-12-19)
- * **Feature**: This release adds support for alarm-based rollbacks in ECS, a new feature that allows customers to add automated safeguards for Amazon ECS service rolling updates.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideo`: [v1.14.0](service/kinesisvideo/CHANGELOG.md#v1140-2022-12-19)
- * **Feature**: Amazon Kinesis Video Streams offers capabilities to stream video and audio in real-time via WebRTC to the cloud for storage, playback, and analytical processing. Customers can use our enhanced WebRTC SDK and cloud APIs to enable real-time streaming, as well as media ingestion to the cloud.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideowebrtcstorage`: [v1.0.0](service/kinesisvideowebrtcstorage/CHANGELOG.md#v100-2022-12-19)
- * **Release**: New AWS service client module
- * **Feature**: Amazon Kinesis Video Streams offers capabilities to stream video and audio in real-time via WebRTC to the cloud for storage, playback, and analytical processing. Customers can use our enhanced WebRTC SDK and cloud APIs to enable real-time streaming, as well as media ingestion to the cloud.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.36.0](service/rds/CHANGELOG.md#v1360-2022-12-19)
- * **Feature**: Add support for --enable-customer-owned-ip to RDS create-db-instance-read-replica API for RDS on Outposts.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.59.0](service/sagemaker/CHANGELOG.md#v1590-2022-12-19)
- * **Feature**: AWS Sagemaker - Sagemaker Images now supports Aliases as secondary identifiers for ImageVersions. SageMaker Images now supports additional metadata for ImageVersions for better images management.
-
-# Release (2022-12-16)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.22.0](service/appflow/CHANGELOG.md#v1220-2022-12-16)
- * **Feature**: This release updates the ListConnectorEntities API action so that it returns paginated responses that customers can retrieve with next tokens.
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.22.2](service/cloudfront/CHANGELOG.md#v1222-2022-12-16)
- * **Documentation**: Updated documentation for CloudFront
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.20.0](service/datasync/CHANGELOG.md#v1200-2022-12-16)
- * **Feature**: AWS DataSync now supports the use of tags with task executions. With this new feature, you can apply tags each time you execute a task, giving you greater control and management over your task executions.
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.18.3](service/efs/CHANGELOG.md#v1183-2022-12-16)
- * **Documentation**: General documentation updates for EFS.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.16.6](service/guardduty/CHANGELOG.md#v1166-2022-12-16)
- * **Documentation**: This release provides the valid characters for the Description and Name field.
-* `github.com/aws/aws-sdk-go-v2/service/iotfleetwise`: [v1.2.0](service/iotfleetwise/CHANGELOG.md#v120-2022-12-16)
- * **Feature**: Updated error handling for empty resource names in "UpdateSignalCatalog" and "GetModelManifest" operations.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.58.0](service/sagemaker/CHANGELOG.md#v1580-2022-12-16)
- * **Feature**: AWS sagemaker - Features: This release adds support for random seed, it's an integer value used to initialize a pseudo-random number generator. Setting a random seed will allow the hyperparameter tuning search strategies to produce more consistent configurations for the same tuning job.
-
-# Release (2022-12-15)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.17.3
- * **Bug Fix**: Unify logic between shared config and in finding home directory
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.18.5](config/CHANGELOG.md#v1185-2022-12-15)
- * **Bug Fix**: Unify logic between shared config and in finding home directory
-* `github.com/aws/aws-sdk-go-v2/credentials`: [v1.13.5](credentials/CHANGELOG.md#v1135-2022-12-15)
- * **Bug Fix**: Unify logic between shared config and in finding home directory
-* `github.com/aws/aws-sdk-go-v2/service/backupgateway`: [v1.8.0](service/backupgateway/CHANGELOG.md#v180-2022-12-15)
- * **Feature**: This release adds support for VMware vSphere tags, enabling customer to protect VMware virtual machines using tag-based policies for AWS tags mapped from vSphere tags. This release also adds support for customer-accessible gateway-hypervisor interaction log and upload bandwidth rate limit schedule.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.40.0](service/connect/CHANGELOG.md#v1400-2022-12-15)
- * **Feature**: Added support for "English - New Zealand" and "English - South African" to be used with Amazon Connect Custom Vocabulary APIs.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.21.0](service/ecs/CHANGELOG.md#v1210-2022-12-15)
- * **Feature**: This release adds support for container port ranges in ECS, a new capability that allows customers to provide container port ranges to simplify use cases where multiple ports are in use in a container. This release updates TaskDefinition mutation APIs and the Task description APIs.
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.26.0](service/eks/CHANGELOG.md#v1260-2022-12-15)
- * **Feature**: Add support for Windows managed nodes groups.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.38.0](service/glue/CHANGELOG.md#v1380-2022-12-15)
- * **Feature**: This release adds support for AWS Glue Crawler with native DeltaLake tables, allowing Crawlers to classify Delta Lake format tables and catalog them for query engines to query against.
-* `github.com/aws/aws-sdk-go-v2/service/kinesis`: [v1.16.0](service/kinesis/CHANGELOG.md#v1160-2022-12-15)
- * **Feature**: Added StreamARN parameter for Kinesis Data Streams APIs. Added a new opaque pagination token for ListStreams. SDKs will auto-generate Account Endpoint when accessing Kinesis Data Streams.
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.19.5](service/location/CHANGELOG.md#v1195-2022-12-15)
- * **Documentation**: This release adds support for a new style, "VectorOpenDataStandardLight" which can be used with the new data source, "Open Data Maps (Preview)".
-* `github.com/aws/aws-sdk-go-v2/service/m2`: [v1.2.0](service/m2/CHANGELOG.md#v120-2022-12-15)
- * **Feature**: Adds an optional create-only `KmsKeyId` property to Environment and Application resources.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.57.0](service/sagemaker/CHANGELOG.md#v1570-2022-12-15)
- * **Feature**: SageMaker Inference Recommender now allows customers to load tests their models on various instance types using private VPC.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.26.0](service/securityhub/CHANGELOG.md#v1260-2022-12-15)
- * **Feature**: Added new resource details objects to ASFF, including resources for AwsEc2LaunchTemplate, AwsSageMakerNotebookInstance, AwsWafv2WebAcl and AwsWafv2RuleGroup.
-* `github.com/aws/aws-sdk-go-v2/service/translate`: [v1.16.0](service/translate/CHANGELOG.md#v1160-2022-12-15)
- * **Feature**: Raised the input byte size limit of the Text field in the TranslateText API to 10000 bytes.
-
-# Release (2022-12-14)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.23.0](service/cloudwatch/CHANGELOG.md#v1230-2022-12-14)
- * **Feature**: Adding support for Metrics Insights Alarms
-* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.24.0](service/costexplorer/CHANGELOG.md#v1240-2022-12-14)
- * **Feature**: This release supports percentage-based thresholds on Cost Anomaly Detection alert subscriptions.
-* `github.com/aws/aws-sdk-go-v2/service/networkmanager`: [v1.16.0](service/networkmanager/CHANGELOG.md#v1160-2022-12-14)
- * **Feature**: Appliance Mode support for AWS Cloud WAN.
-* `github.com/aws/aws-sdk-go-v2/service/redshiftdata`: [v1.17.0](service/redshiftdata/CHANGELOG.md#v1170-2022-12-14)
- * **Feature**: This release adds a new --client-token field to ExecuteStatement and BatchExecuteStatement operations. Customers can now run queries with the additional client token parameter to ensures idempotency.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakermetrics`: [v1.0.1](service/sagemakermetrics/CHANGELOG.md#v101-2022-12-14)
- * **Documentation**: Update SageMaker Metrics documentation.
-
-# Release (2022-12-13)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.21.0](service/cloudtrail/CHANGELOG.md#v1210-2022-12-13)
- * **Feature**: Merging mainline branch for service model into mainline release branch. There are no new APIs.
-* `github.com/aws/aws-sdk-go-v2/service/marketplaceentitlementservice`: [v1.11.21](service/marketplaceentitlementservice/CHANGELOG.md#v11121-2022-12-13)
- * **Bug Fix**: Fixing a shape type in the marketplaceentitlementservice client
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.35.0](service/rds/CHANGELOG.md#v1350-2022-12-13)
- * **Feature**: This deployment adds ClientPasswordAuthType field to the Auth structure of the DBProxy.
-
-# Release (2022-12-12)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.21.0](service/customerprofiles/CHANGELOG.md#v1210-2022-12-12)
- * **Feature**: This release allows custom strings in PartyType and Gender through 2 new attributes in the CreateProfile and UpdateProfile APIs: PartyTypeString and GenderString.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.76.0](service/ec2/CHANGELOG.md#v1760-2022-12-12)
- * **Feature**: This release updates DescribeFpgaImages to show supported instance types of AFIs in its response.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideo`: [v1.13.0](service/kinesisvideo/CHANGELOG.md#v1130-2022-12-12)
- * **Feature**: This release adds support for public preview of Kinesis Video Stream at Edge enabling customers to provide configuration for the Kinesis Video Stream EdgeAgent running on an on-premise IoT device. Customers can now locally record from cameras and stream videos to the cloud on configured schedule.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutvision`: [v1.14.13](service/lookoutvision/CHANGELOG.md#v11413-2022-12-12)
- * **Documentation**: This documentation update adds kms:GenerateDataKey as a required permission to StartModelPackagingJob.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubrefactorspaces`: [v1.7.0](service/migrationhubrefactorspaces/CHANGELOG.md#v170-2022-12-12)
- * **Feature**: This release adds support for Lambda alias service endpoints. Lambda alias ARNs can now be passed into CreateService.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.34.0](service/rds/CHANGELOG.md#v1340-2022-12-12)
- * **Feature**: Update the RDS API model to support copying option groups during the CopyDBSnapshot operation
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.22.0](service/rekognition/CHANGELOG.md#v1220-2022-12-12)
- * **Feature**: Adds support for "aliases" and "categories", inclusion and exclusion filters for labels and label categories, and aggregating labels by video segment timestamps for Stored Video Label Detection APIs.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakermetrics`: [v1.0.0](service/sagemakermetrics/CHANGELOG.md#v100-2022-12-12)
- * **Release**: New AWS service client module
- * **Feature**: This release introduces support SageMaker Metrics APIs.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.23.3](service/wafv2/CHANGELOG.md#v1233-2022-12-12)
- * **Documentation**: Documents the naming requirement for logging destinations that you use with web ACLs.
-
-# Release (2022-12-09)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.17.2](service/cloudwatchlogs/CHANGELOG.md#v1172-2022-12-09)
- * **Documentation**: Doc-only update for CloudWatch Logs, for Tagging Permissions clarifications
-* `github.com/aws/aws-sdk-go-v2/service/iotfleetwise`: [v1.1.0](service/iotfleetwise/CHANGELOG.md#v110-2022-12-09)
- * **Feature**: Deprecated assignedValue property for actuators and attributes. Added a message to invalid nodes and invalid decoder manifest exceptions.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.26.0](service/medialive/CHANGELOG.md#v1260-2022-12-09)
- * **Feature**: Link devices now support buffer size (latency) configuration. A higher latency value means a longer delay in transmitting from the device to MediaLive, but improved resiliency. A lower latency value means a shorter delay, but less resiliency.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagevod`: [v1.20.0](service/mediapackagevod/CHANGELOG.md#v1200-2022-12-09)
- * **Feature**: This release provides the approximate number of assets in a packaging group.
-
-# Release (2022-12-08)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.25.0](service/autoscaling/CHANGELOG.md#v1250-2022-12-08)
- * **Feature**: Adds support for metric math for target tracking scaling policies, saving you the cost and effort of publishing a custom metric to CloudWatch. Also adds support for VPC Lattice by adding the Attach/Detach/DescribeTrafficSources APIs and a new health check type to the CreateAutoScalingGroup API.
-* `github.com/aws/aws-sdk-go-v2/service/iottwinmaker`: [v1.9.0](service/iottwinmaker/CHANGELOG.md#v190-2022-12-08)
- * **Feature**: This release adds the following new features: 1) New APIs for managing a continuous sync of assets and asset models from AWS IoT SiteWise. 2) Support user friendly names for component types (ComponentTypeName) and properties (DisplayName).
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubstrategy`: [v1.6.0](service/migrationhubstrategy/CHANGELOG.md#v160-2022-12-08)
- * **Feature**: This release adds known application filtering, server selection for assessments, support for potential recommendations, and indications for configuration and assessment status. For more information, see the AWS Migration Hub documentation at https://docs.aws.amazon.com/migrationhub/index.html
-
-# Release (2022-12-07)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.22.0](service/cloudfront/CHANGELOG.md#v1220-2022-12-07)
- * **Feature**: Introducing UpdateDistributionWithStagingConfig that can be used to promote the staging configuration to the production.
-* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.23.0](service/costexplorer/CHANGELOG.md#v1230-2022-12-07)
- * **Feature**: This release adds the LinkedAccountName field to the GetAnomalies API response under RootCause
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.25.0](service/eks/CHANGELOG.md#v1250-2022-12-07)
- * **Feature**: Adds support for EKS add-ons configurationValues fields and DescribeAddonConfiguration function
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.19.2](service/kms/CHANGELOG.md#v1192-2022-12-07)
- * **Documentation**: Updated examples and exceptions for External Key Store (XKS).
-
-# Release (2022-12-06)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/billingconductor`: [v1.3.0](service/billingconductor/CHANGELOG.md#v130-2022-12-06)
- * **Feature**: This release adds the Tiering Pricing Rule feature.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.39.0](service/connect/CHANGELOG.md#v1390-2022-12-06)
- * **Feature**: This release provides APIs that enable you to programmatically manage rules for Contact Lens conversational analytics and third party applications. For more information, see https://docs.aws.amazon.com/connect/latest/APIReference/rules-api.html
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.33.0](service/rds/CHANGELOG.md#v1330-2022-12-06)
- * **Feature**: This release adds the BlueGreenDeploymentNotFoundFault to the AddTagsToResource, ListTagsForResource, and RemoveTagsFromResource operations.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerfeaturestoreruntime`: [v1.12.0](service/sagemakerfeaturestoreruntime/CHANGELOG.md#v1120-2022-12-06)
- * **Feature**: For online + offline Feature Groups, added ability to target PutRecord and DeleteRecord actions to only online store, or only offline store. If target store parameter is not specified, actions will apply to both stores.
-
-# Release (2022-12-05)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.22.0](service/costexplorer/CHANGELOG.md#v1220-2022-12-05)
- * **Feature**: This release introduces two new APIs that offer a 1-click experience to refresh Savings Plans recommendations. The two APIs are StartSavingsPlansPurchaseRecommendationGeneration and ListSavingsPlansPurchaseRecommendationGeneration.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.75.0](service/ec2/CHANGELOG.md#v1750-2022-12-05)
- * **Feature**: Documentation updates for EC2.
-* `github.com/aws/aws-sdk-go-v2/service/ivschat`: [v1.2.0](service/ivschat/CHANGELOG.md#v120-2022-12-05)
- * **Feature**: Adds PendingVerification error type to messaging APIs to block the resource usage for accounts identified as being fraudulent.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.32.0](service/rds/CHANGELOG.md#v1320-2022-12-05)
- * **Feature**: This release adds the InvalidDBInstanceStateFault to the RestoreDBClusterFromSnapshot operation.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.23.0](service/transcribe/CHANGELOG.md#v1230-2022-12-05)
- * **Feature**: Amazon Transcribe now supports creating custom language models in the following languages: Japanese (ja-JP) and German (de-DE).
-
-# Release (2022-12-02)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.17.0](service/appsync/CHANGELOG.md#v1170-2022-12-02)
- * **Feature**: Fixes the URI for the evaluatecode endpoint to include the /v1 prefix (ie. "/v1/dataplane-evaluatecode").
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.20.1](service/ecs/CHANGELOG.md#v1201-2022-12-02)
- * **Documentation**: Documentation updates for Amazon ECS
-* `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.21.0](service/fms/CHANGELOG.md#v1210-2022-12-02)
- * **Feature**: AWS Firewall Manager now supports Fortigate Cloud Native Firewall as a Service as a third-party policy type.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.28.0](service/mediaconvert/CHANGELOG.md#v1280-2022-12-02)
- * **Feature**: The AWS Elemental MediaConvert SDK has added support for configurable ID3 eMSG box attributes and the ability to signal them with InbandEventStream tags in DASH and CMAF outputs.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.25.0](service/medialive/CHANGELOG.md#v1250-2022-12-02)
- * **Feature**: Updates to Event Signaling and Management (ESAM) API and documentation.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.21.0](service/polly/CHANGELOG.md#v1210-2022-12-02)
- * **Feature**: Add language code for Finnish (fi-FI)
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.18.0](service/proton/CHANGELOG.md#v1180-2022-12-02)
- * **Feature**: CreateEnvironmentAccountConnection RoleArn input is now optional
-* `github.com/aws/aws-sdk-go-v2/service/redshiftserverless`: [v1.3.0](service/redshiftserverless/CHANGELOG.md#v130-2022-12-02)
- * **Feature**: Add Table Level Restore operations for Amazon Redshift Serverless. Add multi-port support for Amazon Redshift Serverless endpoints. Add Tagging support to Snapshots and Recovery Points in Amazon Redshift Serverless.
-* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.18.7](service/sns/CHANGELOG.md#v1187-2022-12-02)
- * **Documentation**: This release adds the message payload-filtering feature to the SNS Subscribe, SetSubscriptionAttributes, and GetSubscriptionAttributes API actions
-
-# Release (2022-12-01)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/codecatalyst`: [v1.0.0](service/codecatalyst/CHANGELOG.md#v100-2022-12-01)
- * **Release**: New AWS service client module
- * **Feature**: This release adds operations that support customers using the AWS Toolkits and Amazon CodeCatalyst, a unified software development service that helps developers develop, deploy, and maintain applications in the cloud. For more information, see the documentation.
-* `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.20.0](service/comprehend/CHANGELOG.md#v1200-2022-12-01)
- * **Feature**: Comprehend now supports semi-structured documents (such as PDF files or image files) as inputs for custom analysis using the synchronous APIs (ClassifyDocument and DetectEntities).
-* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.16.0](service/gamelift/CHANGELOG.md#v1160-2022-12-01)
- * **Feature**: GameLift introduces a new feature, GameLift Anywhere. GameLift Anywhere allows you to integrate your own compute resources with GameLift. You can also use GameLift Anywhere to iteratively test your game servers without uploading the build to GameLift for every iteration.
-* `github.com/aws/aws-sdk-go-v2/service/pipes`: [v1.0.0](service/pipes/CHANGELOG.md#v100-2022-12-01)
- * **Release**: New AWS service client module
- * **Feature**: AWS introduces new Amazon EventBridge Pipes which allow you to connect sources (SQS, Kinesis, DDB, Kafka, MQ) to Targets (14+ EventBridge Targets) without any code, with filtering, batching, input transformation, and an optional Enrichment stage (Lambda, StepFunctions, ApiGateway, ApiDestinations)
-* `github.com/aws/aws-sdk-go-v2/service/sfn`: [v1.16.0](service/sfn/CHANGELOG.md#v1160-2022-12-01)
- * **Feature**: This release adds support for the AWS Step Functions Map state in Distributed mode. The changes include a new MapRun resource and several new and modified APIs.
-
-# Release (2022-11-30)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/accessanalyzer`: [v1.18.0](service/accessanalyzer/CHANGELOG.md#v1180-2022-11-30)
- * **Feature**: This release adds support for S3 cross account access points. IAM Access Analyzer will now produce public or cross account findings when it detects bucket delegation to external account access points.
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.20.0](service/athena/CHANGELOG.md#v1200-2022-11-30)
- * **Feature**: This release includes support for using Apache Spark in Amazon Athena.
-* `github.com/aws/aws-sdk-go-v2/service/dataexchange`: [v1.17.0](service/dataexchange/CHANGELOG.md#v1170-2022-11-30)
- * **Feature**: This release enables data providers to license direct access to data in their Amazon S3 buckets or AWS Lake Formation data lakes through AWS Data Exchange. Subscribers get read-only access to the data and can use it in downstream AWS services, like Amazon Athena, without creating or managing copies.
-* `github.com/aws/aws-sdk-go-v2/service/docdbelastic`: [v1.0.0](service/docdbelastic/CHANGELOG.md#v100-2022-11-30)
- * **Release**: New AWS service client module
- * **Feature**: Launched Amazon DocumentDB Elastic Clusters. You can now use the SDK to create, list, update and delete Amazon DocumentDB Elastic Cluster resources
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.37.0](service/glue/CHANGELOG.md#v1370-2022-11-30)
- * **Feature**: This release adds support for AWS Glue Data Quality, which helps you evaluate and monitor the quality of your data and includes the API for creating, deleting, or updating data quality rulesets, runs and evaluations.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.28.0](service/s3control/CHANGELOG.md#v1280-2022-11-30)
- * **Feature**: Amazon S3 now supports cross-account access points. S3 bucket owners can now allow trusted AWS accounts to create access points associated with their bucket.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.56.0](service/sagemaker/CHANGELOG.md#v1560-2022-11-30)
- * **Feature**: Added Models as part of the Search API. Added Model shadow deployments in realtime inference, and shadow testing in managed inference. Added support for shared spaces, geospatial APIs, Model Cards, AutoMLJobStep in pipelines, Git repositories on user profiles and domains, Model sharing in Jumpstart.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakergeospatial`: [v1.0.0](service/sagemakergeospatial/CHANGELOG.md#v100-2022-11-30)
- * **Release**: New AWS service client module
- * **Feature**: This release provides Amazon SageMaker geospatial APIs to build, train, deploy and visualize geospatial models.
-
-# Release (2022-11-29.2)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.74.0](service/ec2/CHANGELOG.md#v1740-2022-11-292)
- * **Feature**: This release adds support for AWS Verified Access and the Hpc6id Amazon EC2 compute optimized instance type, which features 3rd generation Intel Xeon Scalable processors.
-* `github.com/aws/aws-sdk-go-v2/service/firehose`: [v1.15.0](service/firehose/CHANGELOG.md#v1150-2022-11-292)
- * **Feature**: Allow support for the Serverless offering for Amazon OpenSearch Service as a Kinesis Data Firehose delivery destination.
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.19.0](service/kms/CHANGELOG.md#v1190-2022-11-292)
- * **Feature**: AWS KMS introduces the External Key Store (XKS), a new feature for customers who want to protect their data with encryption keys stored in an external key management system under their control.
-* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.0.0](service/omics/CHANGELOG.md#v100-2022-11-292)
- * **Release**: New AWS service client module
- * **Feature**: Amazon Omics is a new, purpose-built service that can be used by healthcare and life science organizations to store, query, and analyze omics data. The insights from that data can be used to accelerate scientific discoveries and improve healthcare.
-* `github.com/aws/aws-sdk-go-v2/service/opensearchserverless`: [v1.0.0](service/opensearchserverless/CHANGELOG.md#v100-2022-11-292)
- * **Release**: New AWS service client module
- * **Feature**: Publish SDK for Amazon OpenSearch Serverless
-* `github.com/aws/aws-sdk-go-v2/service/securitylake`: [v1.0.0](service/securitylake/CHANGELOG.md#v100-2022-11-292)
- * **Release**: New AWS service client module
- * **Feature**: Amazon Security Lake automatically centralizes security data from cloud, on-premises, and custom sources into a purpose-built data lake stored in your account. Security Lake makes it easier to analyze security data, so you can improve the protection of your workloads, applications, and data
-* `github.com/aws/aws-sdk-go-v2/service/simspaceweaver`: [v1.0.0](service/simspaceweaver/CHANGELOG.md#v100-2022-11-292)
- * **Release**: New AWS service client module
- * **Feature**: AWS SimSpace Weaver is a new service that helps customers build spatial simulations at new levels of scale - resulting in virtual worlds with millions of dynamic entities. See the AWS SimSpace Weaver developer guide for more details on how to get started. https://docs.aws.amazon.com/simspaceweaver
-
-# Release (2022-11-29)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/arczonalshift`: [v1.0.0](service/arczonalshift/CHANGELOG.md#v100-2022-11-29)
- * **Release**: New AWS service client module
- * **Feature**: Amazon Route 53 Application Recovery Controller Zonal Shift is a new service that makes it easy to shift traffic away from an Availability Zone in a Region. See the developer guide for more information: https://docs.aws.amazon.com/r53recovery/latest/dg/what-is-route53-recovery.html
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.18.0](service/computeoptimizer/CHANGELOG.md#v1180-2022-11-29)
- * **Feature**: Adds support for a new recommendation preference that makes it possible for customers to optimize their EC2 recommendations by utilizing an external metrics ingestion service to provide metrics.
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.28.0](service/configservice/CHANGELOG.md#v1280-2022-11-29)
- * **Feature**: With this release, you can use AWS Config to evaluate your resources for compliance with Config rules before they are created or updated. Using Config rules in proactive mode enables you to test and build compliant resource templates or check resource configurations at the time they are provisioned.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.73.0](service/ec2/CHANGELOG.md#v1730-2022-11-29)
- * **Feature**: Introduces ENA Express, which uses AWS SRD and dynamic routing to increase throughput and minimize latency, adds support for trust relationships between Reachability Analyzer and AWS Organizations to enable cross-account analysis, and adds support for Infrastructure Performance metric subscriptions.
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.24.0](service/eks/CHANGELOG.md#v1240-2022-11-29)
- * **Feature**: Adds support for additional EKS add-ons metadata and filtering fields
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.26.0](service/fsx/CHANGELOG.md#v1260-2022-11-29)
- * **Feature**: This release adds support for 4GB/s / 160K PIOPS FSx for ONTAP file systems and 10GB/s / 350K PIOPS FSx for OpenZFS file systems (Single_AZ_2). For FSx for ONTAP, this also adds support for DP volumes, snapshot policy, copy tags to backups, and Multi-AZ route table updates.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.36.0](service/glue/CHANGELOG.md#v1360-2022-11-29)
- * **Feature**: This release allows the creation of Custom Visual Transforms (Dynamic Transforms) to be created via AWS Glue CLI/SDK.
-* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.9.0](service/inspector2/CHANGELOG.md#v190-2022-11-29)
- * **Feature**: This release adds support for Inspector to scan AWS Lambda.
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.26.0](service/lambda/CHANGELOG.md#v1260-2022-11-29)
- * **Feature**: Adds support for Lambda SnapStart, which helps improve the startup performance of functions. Customers can now manage SnapStart based functions via CreateFunction and UpdateFunctionConfiguration APIs
-* `github.com/aws/aws-sdk-go-v2/service/licensemanagerusersubscriptions`: [v1.1.0](service/licensemanagerusersubscriptions/CHANGELOG.md#v110-2022-11-29)
- * **Feature**: AWS now offers fully-compliant, Amazon-provided licenses for Microsoft Office Professional Plus 2021 Amazon Machine Images (AMIs) on Amazon EC2. These AMIs are now available on the Amazon EC2 console and on AWS Marketplace to launch instances on-demand without any long-term licensing commitments.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.24.0](service/macie2/CHANGELOG.md#v1240-2022-11-29)
- * **Feature**: Added support for configuring Macie to continually sample objects from S3 buckets and inspect them for sensitive data. Results appear in statistics, findings, and other data that Macie provides.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.28.0](service/quicksight/CHANGELOG.md#v1280-2022-11-29)
- * **Feature**: This release adds new Describe APIs and updates Create and Update APIs to support the data model for Dashboards, Analyses, and Templates.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.27.0](service/s3control/CHANGELOG.md#v1270-2022-11-29)
- * **Feature**: Added two new APIs to support Amazon S3 Multi-Region Access Point failover controls: GetMultiRegionAccessPointRoutes and SubmitMultiRegionAccessPointRoutes. The failover control APIs are supported in the following Regions: us-east-1, us-west-2, eu-west-1, ap-southeast-2, and ap-northeast-1.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.25.0](service/securityhub/CHANGELOG.md#v1250-2022-11-29)
- * **Feature**: Adding StandardsManagedBy field to DescribeStandards API response
-
-# Release (2022-11-28)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.18.0](service/backup/CHANGELOG.md#v1180-2022-11-28)
- * **Feature**: AWS Backup introduces support for legal hold and application stack backups. AWS Backup Audit Manager introduces support for cross-Region, cross-account reports.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.22.0](service/cloudwatch/CHANGELOG.md#v1220-2022-11-28)
- * **Feature**: Adds cross-account support to the GetMetricData API. Adds cross-account support to the ListMetrics API through the usage of the IncludeLinkedAccounts flag and the new OwningAccounts field.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.17.0](service/cloudwatchlogs/CHANGELOG.md#v1170-2022-11-28)
- * **Feature**: Updates to support CloudWatch Logs data protection and CloudWatch cross-account observability
-* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.9.0](service/drs/CHANGELOG.md#v190-2022-11-28)
- * **Feature**: Non breaking changes to existing APIs, and additional APIs added to support in-AWS failing back using AWS Elastic Disaster Recovery.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.20.0](service/ecs/CHANGELOG.md#v1200-2022-11-28)
- * **Feature**: This release adds support for ECS Service Connect, a new capability that simplifies writing and operating resilient distributed applications. This release updates the TaskDefinition, Cluster, Service mutation APIs with Service connect constructs and also adds a new ListServicesByNamespace API.
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.18.0](service/efs/CHANGELOG.md#v1180-2022-11-28)
- * **Feature**: This release adds elastic as a new ThroughputMode value for EFS file systems and adds AFTER_1_DAY as a value for TransitionToIARules.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.32.0](service/iot/CHANGELOG.md#v1320-2022-11-28)
- * **Feature**: Job scheduling enables the scheduled rollout of a Job with start and end times and a customizable end behavior when end time is reached. This is available for continuous and snapshot jobs. Added support for MQTT5 properties to AWS IoT TopicRule Republish Action.
-* `github.com/aws/aws-sdk-go-v2/service/iotdataplane`: [v1.13.0](service/iotdataplane/CHANGELOG.md#v1130-2022-11-28)
- * **Feature**: This release adds support for MQTT5 properties to AWS IoT HTTP Publish API.
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.23.0](service/iotwireless/CHANGELOG.md#v1230-2022-11-28)
- * **Feature**: This release includes a new feature for customers to calculate the position of their devices by adding three new APIs: UpdateResourcePosition, GetResourcePosition, and GetPositionEstimate.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.36.0](service/kendra/CHANGELOG.md#v1360-2022-11-28)
- * **Feature**: Amazon Kendra now supports preview of table information from HTML tables in the search results. The most relevant cells with their corresponding rows, columns are displayed as a preview in the search result. The most relevant table cell or cells are also highlighted in table preview.
-* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.16.0](service/mgn/CHANGELOG.md#v1160-2022-11-28)
- * **Feature**: This release adds support for Application and Wave management. We also now support custom post-launch actions.
-* `github.com/aws/aws-sdk-go-v2/service/oam`: [v1.0.0](service/oam/CHANGELOG.md#v100-2022-11-28)
- * **Release**: New AWS service client module
- * **Feature**: Amazon CloudWatch Observability Access Manager is a new service that allows configuration of the CloudWatch cross-account observability feature.
-* `github.com/aws/aws-sdk-go-v2/service/organizations`: [v1.17.0](service/organizations/CHANGELOG.md#v1170-2022-11-28)
- * **Feature**: This release introduces delegated administrator for AWS Organizations, a new feature to help you delegate the management of your Organizations policies, enabling you to govern your AWS organization in a decentralized way. You can now allow member accounts to manage Organizations policies.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.31.0](service/rds/CHANGELOG.md#v1310-2022-11-28)
- * **Feature**: This release enables new Aurora and RDS feature called Blue/Green Deployments that makes updates to databases safer, simpler and faster.
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.19.0](service/textract/CHANGELOG.md#v1190-2022-11-28)
- * **Feature**: This release adds support for classifying and splitting lending documents by type, and extracting information by using the Analyze Lending APIs. This release also includes support for summarized information of the processed lending document package, in addition to per document results.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.22.0](service/transcribe/CHANGELOG.md#v1220-2022-11-28)
- * **Feature**: This release adds support for 'inputType' for post-call and real-time (streaming) Call Analytics within Amazon Transcribe.
-* `github.com/aws/aws-sdk-go-v2/service/transcribestreaming`: [v1.8.0](service/transcribestreaming/CHANGELOG.md#v180-2022-11-28)
- * **Feature**: This release adds support for real-time (streaming) and post-call Call Analytics within Amazon Transcribe.
-
-# Release (2022-11-23)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/grafana`: [v1.10.0](service/grafana/CHANGELOG.md#v1100-2022-11-23)
- * **Feature**: This release includes support for configuring a Grafana workspace to connect to a datasource within a VPC as well as new APIs for configuring Grafana settings.
-* `github.com/aws/aws-sdk-go-v2/service/rbin`: [v1.7.0](service/rbin/CHANGELOG.md#v170-2022-11-23)
- * **Feature**: This release adds support for Rule Lock for Recycle Bin, which allows you to lock retention rules so that they can no longer be modified or deleted.
-
-# Release (2022-11-22)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.21.0](service/appflow/CHANGELOG.md#v1210-2022-11-22)
- * **Feature**: Adding support for Amazon AppFlow to transfer the data to Amazon Redshift databases through Amazon Redshift Data API service. This feature will support the Redshift destination connector on both public and private accessible Amazon Redshift Clusters and Amazon Redshift Serverless.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2`: [v1.15.0](service/kinesisanalyticsv2/CHANGELOG.md#v1150-2022-11-22)
- * **Feature**: Support for Apache Flink 1.15 in Kinesis Data Analytics.
-
-# Release (2022-11-21)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.25.0](service/route53/CHANGELOG.md#v1250-2022-11-21)
- * **Feature**: Amazon Route 53 now supports the Asia Pacific (Hyderabad) Region (ap-south-2) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region.
-
-# Release (2022-11-18.2)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ssmsap`: [v1.0.1](service/ssmsap/CHANGELOG.md#v101-2022-11-182)
- * **Bug Fix**: Removes old model file for ssm sap and uses the new model file to regenerate client
-
-# Release (2022-11-18)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.20.0](service/appflow/CHANGELOG.md#v1200-2022-11-18)
- * **Feature**: AppFlow provides a new API called UpdateConnectorRegistration to update a custom connector that customers have previously registered. With this API, customers no longer need to unregister and then register a connector to make an update.
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.21.0](service/auditmanager/CHANGELOG.md#v1210-2022-11-18)
- * **Feature**: This release introduces a new feature for Audit Manager: Evidence finder. You can now use evidence finder to quickly query your evidence, and add the matching evidence results to an assessment report.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkvoice`: [v1.0.0](service/chimesdkvoice/CHANGELOG.md#v100-2022-11-18)
- * **Release**: New AWS service client module
- * **Feature**: Amazon Chime Voice Connector, Voice Connector Group and PSTN Audio Service APIs are now available in the Amazon Chime SDK Voice namespace. See https://docs.aws.amazon.com/chime-sdk/latest/dg/sdk-available-regions.html for more details.
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.21.0](service/cloudfront/CHANGELOG.md#v1210-2022-11-18)
- * **Feature**: CloudFront API support for staging distributions and associated traffic management policies.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.38.0](service/connect/CHANGELOG.md#v1380-2022-11-18)
- * **Feature**: Added AllowedAccessControlTags and TagRestrictedResource for Tag Based Access Control on Amazon Connect Webpage
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.17.6](service/dynamodb/CHANGELOG.md#v1176-2022-11-18)
- * **Documentation**: Updated minor fixes for DynamoDB documentation.
-* `github.com/aws/aws-sdk-go-v2/service/dynamodbstreams`: [v1.13.25](service/dynamodbstreams/CHANGELOG.md#v11325-2022-11-18)
- * **Documentation**: Updated minor fixes for DynamoDB documentation.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.72.0](service/ec2/CHANGELOG.md#v1720-2022-11-18)
- * **Feature**: This release adds support for copying an Amazon Machine Image's tags when copying an AMI.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.35.0](service/glue/CHANGELOG.md#v1350-2022-11-18)
- * **Feature**: AWSGlue Crawler - Adding support for Table and Column level Comments with database level datatypes for JDBC based crawler.
-* `github.com/aws/aws-sdk-go-v2/service/iotroborunner`: [v1.0.0](service/iotroborunner/CHANGELOG.md#v100-2022-11-18)
- * **Release**: New AWS service client module
- * **Feature**: AWS IoT RoboRunner is a new service that makes it easy to build applications that help multi-vendor robots work together seamlessly. See the IoT RoboRunner developer guide for more details on getting started. https://docs.aws.amazon.com/iotroborunner/latest/dev/iotroborunner-welcome.html
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.27.0](service/quicksight/CHANGELOG.md#v1270-2022-11-18)
- * **Feature**: This release adds the following: 1) Asset management for centralized assets governance 2) QuickSight Q now supports public embedding 3) New Termination protection flag to mitigate accidental deletes 4) Athena data sources now accept a custom IAM role 5) QuickSight supports connectivity to Databricks
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.55.0](service/sagemaker/CHANGELOG.md#v1550-2022-11-18)
- * **Feature**: Added DisableProfiler flag as a new field in ProfilerConfig
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.15.0](service/servicecatalog/CHANGELOG.md#v1150-2022-11-18)
- * **Feature**: This release 1. adds support for Principal Name Sharing with Service Catalog portfolio sharing. 2. Introduces repo sourced products which are created and managed with existing SC APIs. These products are synced to external repos and auto create new product versions based on changes in the repo.
-* `github.com/aws/aws-sdk-go-v2/service/sfn`: [v1.15.0](service/sfn/CHANGELOG.md#v1150-2022-11-18)
- * **Feature**: This release adds support for using Step Functions service integrations to invoke any cross-account AWS resource, even if that service doesn't support resource-based policies or cross-account calls. See https://docs.aws.amazon.com/step-functions/latest/dg/concepts-access-cross-acct-resources.html
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.25.0](service/transfer/CHANGELOG.md#v1250-2022-11-18)
- * **Feature**: Adds a NONE encryption algorithm type to AS2 connectors, providing support for skipping encryption of the AS2 message body when a HTTPS URL is also specified.
-
-# Release (2022-11-17)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/amplify`: [v1.12.0](service/amplify/CHANGELOG.md#v1120-2022-11-17)
- * **Feature**: Adds a new value (WEB_COMPUTE) to the Platform enum that allows customers to create Amplify Apps with Server-Side Rendering support.
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.19.0](service/appflow/CHANGELOG.md#v1190-2022-11-17)
- * **Feature**: AppFlow simplifies the preparation and cataloging of SaaS data into the AWS Glue Data Catalog where your data can be discovered and accessed by AWS analytics and ML services. AppFlow now also supports data field partitioning and file size optimization to improve query performance and reduce cost.
-* `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.16.0](service/appsync/CHANGELOG.md#v1160-2022-11-17)
- * **Feature**: This release introduces the APPSYNC_JS runtime, and adds support for JavaScript in AppSync functions and AppSync pipeline resolvers.
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.22.0](service/databasemigrationservice/CHANGELOG.md#v1220-2022-11-17)
- * **Feature**: Adds support for Internet Protocol Version 6 (IPv6) on DMS Replication Instances
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.71.0](service/ec2/CHANGELOG.md#v1710-2022-11-17)
- * **Feature**: This release adds a new optional parameter "privateIpAddress" for the CreateNatGateway API. PrivateIPAddress will allow customers to select a custom Private IPv4 address instead of having it be auto-assigned.
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.18.25](service/elasticloadbalancingv2/CHANGELOG.md#v11825-2022-11-17)
- * **Documentation**: Provides new target group attributes to turn on/off cross zone load balancing and configure target group health for Network Load Balancers and Application Load Balancers. Provides improvements to health check configuration for Network Load Balancers.
-* `github.com/aws/aws-sdk-go-v2/service/emrserverless`: [v1.4.0](service/emrserverless/CHANGELOG.md#v140-2022-11-17)
- * **Feature**: Adds support for AWS Graviton2 based applications. You can now select CPU architecture when creating new applications or updating existing ones.
-* `github.com/aws/aws-sdk-go-v2/service/ivschat`: [v1.1.0](service/ivschat/CHANGELOG.md#v110-2022-11-17)
- * **Feature**: Adds LoggingConfiguration APIs for IVS Chat - a feature that allows customers to store and record sent messages in a chat room to S3 buckets, CloudWatch logs, or Kinesis firehose.
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.25.0](service/lambda/CHANGELOG.md#v1250-2022-11-17)
- * **Feature**: Add Node 18 (nodejs18.x) support to AWS Lambda.
-* `github.com/aws/aws-sdk-go-v2/service/personalize`: [v1.22.0](service/personalize/CHANGELOG.md#v1220-2022-11-17)
- * **Feature**: This release provides support for creation and use of metric attributions in AWS Personalize
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.20.0](service/polly/CHANGELOG.md#v1200-2022-11-17)
- * **Feature**: Add two new neural voices - Ola (pl-PL) and Hala (ar-AE).
-* `github.com/aws/aws-sdk-go-v2/service/rum`: [v1.8.0](service/rum/CHANGELOG.md#v180-2022-11-17)
- * **Feature**: CloudWatch RUM now supports custom events. To use custom events, create an app monitor or update an app monitor with CustomEvent Status as ENABLED.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.26.0](service/s3control/CHANGELOG.md#v1260-2022-11-17)
- * **Feature**: Added 34 new S3 Storage Lens metrics to support additional customer use cases.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.16.7](service/secretsmanager/CHANGELOG.md#v1167-2022-11-17)
- * **Documentation**: Documentation updates for Secrets Manager.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.24.0](service/securityhub/CHANGELOG.md#v1240-2022-11-17)
- * **Feature**: Added SourceLayerArn and SourceLayerHash field for security findings. Updated AwsLambdaFunction Resource detail
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry`: [v1.15.0](service/servicecatalogappregistry/CHANGELOG.md#v1150-2022-11-17)
- * **Feature**: This release adds support for tagged resource associations, which allows you to associate a group of resources with a defined resource tag key and value to the application.
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.17.4](service/sts/CHANGELOG.md#v1174-2022-11-17)
- * **Documentation**: Documentation updates for AWS Security Token Service.
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.18.0](service/textract/CHANGELOG.md#v1180-2022-11-17)
- * **Feature**: This release adds support for specifying and extracting information from documents using the Signatures feature within Analyze Document API
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.27.0](service/workspaces/CHANGELOG.md#v1270-2022-11-17)
- * **Feature**: The release introduces CreateStandbyWorkspaces, an API that allows you to create standby WorkSpaces associated with a primary WorkSpace in another Region. DescribeWorkspaces now includes related WorkSpaces properties. DescribeWorkspaceBundles and CreateWorkspaceBundle now return more bundle details.
-
-# Release (2022-11-16)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.19.1](service/batch/CHANGELOG.md#v1191-2022-11-16)
- * **Documentation**: Documentation updates related to Batch on EKS
-* `github.com/aws/aws-sdk-go-v2/service/billingconductor`: [v1.2.0](service/billingconductor/CHANGELOG.md#v120-2022-11-16)
- * **Feature**: This release adds a new feature BillingEntity pricing rule.
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.24.0](service/cloudformation/CHANGELOG.md#v1240-2022-11-16)
- * **Feature**: Added UnsupportedTarget HandlerErrorCode for use with CFN Resource Hooks
-* `github.com/aws/aws-sdk-go-v2/service/comprehendmedical`: [v1.14.0](service/comprehendmedical/CHANGELOG.md#v1140-2022-11-16)
- * **Feature**: This release supports new set of entities and traits. It also adds new category (BEHAVIORAL_ENVIRONMENTAL_SOCIAL).
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.37.0](service/connect/CHANGELOG.md#v1370-2022-11-16)
- * **Feature**: This release adds a new MonitorContact API for initiating monitoring of ongoing Voice and Chat contacts.
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.23.0](service/eks/CHANGELOG.md#v1230-2022-11-16)
- * **Feature**: Adds support for customer-provided placement groups for Kubernetes control plane instances when creating local EKS clusters on Outposts
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.24.0](service/elasticache/CHANGELOG.md#v1240-2022-11-16)
- * **Feature**: for Redis now supports AWS Identity and Access Management authentication access to Redis clusters starting with redis-engine version 7.0
-* `github.com/aws/aws-sdk-go-v2/service/iottwinmaker`: [v1.8.0](service/iottwinmaker/CHANGELOG.md#v180-2022-11-16)
- * **Feature**: This release adds the following: 1) ExecuteQuery API allows users to query their AWS IoT TwinMaker Knowledge Graph 2) Pricing plan APIs allow users to configure and manage their pricing mode 3) Support for property groups and tabular property values in existing AWS IoT TwinMaker APIs.
-* `github.com/aws/aws-sdk-go-v2/service/personalizeevents`: [v1.12.0](service/personalizeevents/CHANGELOG.md#v1120-2022-11-16)
- * **Feature**: This release provides support for creation and use of metric attributions in AWS Personalize
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.17.0](service/proton/CHANGELOG.md#v1170-2022-11-16)
- * **Feature**: Add support for sorting and filtering in ListServiceInstances
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.30.0](service/rds/CHANGELOG.md#v1300-2022-11-16)
- * **Feature**: This release adds support for container databases (CDBs) to Amazon RDS Custom for Oracle. A CDB contains one PDB at creation. You can add more PDBs using Oracle SQL. You can also customize your database installation by setting the Oracle base, Oracle home, and the OS user name and group.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.33.0](service/ssm/CHANGELOG.md#v1330-2022-11-16)
- * **Feature**: This release adds support for cross account access in CreateOpsItem, UpdateOpsItem and GetOpsItem. It introduces new APIs to setup resource policies for SSM resources: PutResourcePolicy, GetResourcePolicies and DeleteResourcePolicy.
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.19.0](service/ssmincidents/CHANGELOG.md#v1190-2022-11-16)
- * **Feature**: Add support for PagerDuty integrations on ResponsePlan, IncidentRecord, and RelatedItem APIs
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.24.0](service/transfer/CHANGELOG.md#v1240-2022-11-16)
- * **Feature**: Allow additional operations to throw ThrottlingException
-* `github.com/aws/aws-sdk-go-v2/service/xray`: [v1.15.0](service/xray/CHANGELOG.md#v1150-2022-11-16)
- * **Feature**: This release adds new APIs - PutResourcePolicy, DeleteResourcePolicy, ListResourcePolicies for supporting resource based policies for AWS X-Ray.
-
-# Release (2022-11-15)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.36.0](service/connect/CHANGELOG.md#v1360-2022-11-15)
- * **Feature**: This release updates the APIs: UpdateInstanceAttribute, DescribeInstanceAttribute, and ListInstanceAttributes. You can use it to programmatically enable/disable enhanced contact monitoring using attribute type ENHANCED_CONTACT_MONITORING on the specified Amazon Connect instance.
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.20.0](service/greengrassv2/CHANGELOG.md#v1200-2022-11-15)
- * **Feature**: Adds new parent target ARN paramater to CreateDeployment, GetDeployment, and ListDeployments APIs for the new subdeployments feature.
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.24.0](service/route53/CHANGELOG.md#v1240-2022-11-15)
- * **Feature**: Amazon Route 53 now supports the Europe (Spain) Region (eu-south-2) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region.
-* `github.com/aws/aws-sdk-go-v2/service/ssmsap`: [v1.0.0](service/ssmsap/CHANGELOG.md#v100-2022-11-15)
- * **Release**: New AWS service client module
- * **Feature**: AWS Systems Manager for SAP provides simplified operations and management of SAP applications such as SAP HANA. With this release, SAP customers and partners can automate and simplify their SAP system administration tasks such as backup/restore of SAP HANA.
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.26.0](service/workspaces/CHANGELOG.md#v1260-2022-11-15)
- * **Feature**: This release introduces ModifyCertificateBasedAuthProperties, a new API that allows control of certificate-based auth properties associated with a WorkSpaces directory. The DescribeWorkspaceDirectories API will now additionally return certificate-based auth properties in its responses.
-
-# Release (2022-11-14)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.20.0](service/customerprofiles/CHANGELOG.md#v1200-2022-11-14)
- * **Feature**: This release enhances the SearchProfiles API by providing functionality to search for profiles using multiple keys and logical operators.
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.18.0](service/lakeformation/CHANGELOG.md#v1180-2022-11-14)
- * **Feature**: This release adds a new parameter "Parameters" in the DataLakeSettings.
-* `github.com/aws/aws-sdk-go-v2/service/managedblockchain`: [v1.13.3](service/managedblockchain/CHANGELOG.md#v1133-2022-11-14)
- * **Documentation**: Updating the API docs data type: NetworkEthereumAttributes, and the operations DeleteNode, and CreateNode to also include the supported Goerli network.
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.16.0](service/proton/CHANGELOG.md#v1160-2022-11-14)
- * **Feature**: Add support for CodeBuild Provisioning
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.29.0](service/rds/CHANGELOG.md#v1290-2022-11-14)
- * **Feature**: This release adds support for restoring an RDS Multi-AZ DB cluster snapshot to a Single-AZ deployment or a Multi-AZ DB instance deployment.
-* `github.com/aws/aws-sdk-go-v2/service/workdocs`: [v1.12.0](service/workdocs/CHANGELOG.md#v1120-2022-11-14)
- * **Feature**: Added 2 new document related operations, DeleteDocumentVersion and RestoreDocumentVersions.
-* `github.com/aws/aws-sdk-go-v2/service/xray`: [v1.14.0](service/xray/CHANGELOG.md#v1140-2022-11-14)
- * **Feature**: This release enhances GetServiceGraph API to support new type of edge to represent links between SQS and Lambda in event-driven applications.
-
-# Release (2022-11-11)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.18.0](config/CHANGELOG.md#v1180-2022-11-11)
- * **Announcement**: When using the SSOTokenProvider, a previous implementation incorrectly compensated for invalid SSOTokenProvider configurations in the shared profile. This has been fixed via PR #1903 and tracked in issue #1846
- * **Feature**: Adds token refresh support (via SSOTokenProvider) when using the SSOCredentialProvider
-* `github.com/aws/aws-sdk-go-v2/credentials`: [v1.13.0](credentials/CHANGELOG.md#v1130-2022-11-11)
- * **Announcement**: When using the SSOTokenProvider, a previous implementation incorrectly compensated for invalid SSOTokenProvider configurations in the shared profile. This has been fixed via PR #1903 and tracked in issue #1846
- * **Feature**: Adds token refresh support (via SSOTokenProvider) when using the SSOCredentialProvider
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.34.1](service/glue/CHANGELOG.md#v1341-2022-11-11)
- * **Documentation**: Added links related to enabling job bookmarks.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.31.0](service/iot/CHANGELOG.md#v1310-2022-11-11)
- * **Feature**: This release add new api listRelatedResourcesForAuditFinding and new member type IssuerCertificates for Iot device device defender Audit.
-* `github.com/aws/aws-sdk-go-v2/service/licensemanager`: [v1.16.0](service/licensemanager/CHANGELOG.md#v1160-2022-11-11)
- * **Feature**: AWS License Manager now supports onboarded Management Accounts or Delegated Admins to view granted licenses aggregated from all accounts in the organization.
-* `github.com/aws/aws-sdk-go-v2/service/marketplacecatalog`: [v1.14.0](service/marketplacecatalog/CHANGELOG.md#v1140-2022-11-11)
- * **Feature**: Added three new APIs to support tagging and tag-based authorization: TagResource, UntagResource, and ListTagsForResource. Added optional parameters to the StartChangeSet API to support tagging a resource while making a request to create it.
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.21.0](service/rekognition/CHANGELOG.md#v1210-2022-11-11)
- * **Feature**: Adding support for ImageProperties feature to detect dominant colors and image brightness, sharpness, and contrast, inclusion and exclusion filters for labels and label categories, new fields to the API response, "aliases" and "categories"
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.23.8](service/securityhub/CHANGELOG.md#v1238-2022-11-11)
- * **Documentation**: Documentation updates for Security Hub
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.18.0](service/ssmincidents/CHANGELOG.md#v1180-2022-11-11)
- * **Feature**: RelatedItems now have an ID field which can be used for referencing them else where. Introducing event references in TimelineEvent API and increasing maximum length of "eventData" to 12K characters.
-
-# Release (2022-11-10)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.24.1](service/autoscaling/CHANGELOG.md#v1241-2022-11-10)
- * **Documentation**: This release adds a new price capacity optimized allocation strategy for Spot Instances to help customers optimize provisioning of Spot Instances via EC2 Auto Scaling, EC2 Fleet, and Spot Fleet. It allocates Spot Instances based on both spare capacity availability and Spot Instance price.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.70.0](service/ec2/CHANGELOG.md#v1700-2022-11-10)
- * **Feature**: This release adds a new price capacity optimized allocation strategy for Spot Instances to help customers optimize provisioning of Spot Instances via EC2 Auto Scaling, EC2 Fleet, and Spot Fleet. It allocates Spot Instances based on both spare capacity availability and Spot Instance price.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.19.0](service/ecs/CHANGELOG.md#v1190-2022-11-10)
- * **Feature**: This release adds support for task scale-in protection with updateTaskProtection and getTaskProtection APIs. UpdateTaskProtection API can be used to protect a service managed task from being terminated by scale-in events and getTaskProtection API to get the scale-in protection status of a task.
-* `github.com/aws/aws-sdk-go-v2/service/elasticsearchservice`: [v1.17.0](service/elasticsearchservice/CHANGELOG.md#v1170-2022-11-10)
- * **Feature**: Amazon OpenSearch Service now offers managed VPC endpoints to connect to your Amazon OpenSearch Service VPC-enabled domain in a Virtual Private Cloud (VPC). This feature allows you to privately access OpenSearch Service domain without using public IPs or requiring traffic to traverse the Internet.
-* `github.com/aws/aws-sdk-go-v2/service/resourceexplorer2`: [v1.0.1](service/resourceexplorer2/CHANGELOG.md#v101-2022-11-10)
- * **Documentation**: Text only updates to some Resource Explorer descriptions.
-* `github.com/aws/aws-sdk-go-v2/service/scheduler`: [v1.0.0](service/scheduler/CHANGELOG.md#v100-2022-11-10)
- * **Release**: New AWS service client module
- * **Feature**: AWS introduces the new Amazon EventBridge Scheduler. EventBridge Scheduler is a serverless scheduler that allows you to create, run, and manage tasks from one central, managed service.
-
-# Release (2022-11-09)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.35.0](service/connect/CHANGELOG.md#v1350-2022-11-09)
- * **Feature**: This release adds new fields SignInUrl, UserArn, and UserId to GetFederationToken response payload.
-* `github.com/aws/aws-sdk-go-v2/service/connectcases`: [v1.1.0](service/connectcases/CHANGELOG.md#v110-2022-11-09)
- * **Feature**: This release adds the ability to disable templates through the UpdateTemplate API. Disabling templates prevents customers from creating cases using the template. For more information see https://docs.aws.amazon.com/cases/latest/APIReference/Welcome.html
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.69.0](service/ec2/CHANGELOG.md#v1690-2022-11-09)
- * **Feature**: Amazon EC2 Trn1 instances, powered by AWS Trainium chips, are purpose built for high-performance deep learning training. u-24tb1.112xlarge and u-18tb1.112xlarge High Memory instances are purpose-built to run large in-memory databases.
-* `github.com/aws/aws-sdk-go-v2/service/groundstation`: [v1.14.0](service/groundstation/CHANGELOG.md#v1140-2022-11-09)
- * **Feature**: This release adds the preview of customer-provided ephemeris support for AWS Ground Station, allowing space vehicle owners to provide their own position and trajectory information for a satellite.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagevod`: [v1.19.0](service/mediapackagevod/CHANGELOG.md#v1190-2022-11-09)
- * **Feature**: This release adds "IncludeIframeOnlyStream" for Dash endpoints.
-* `github.com/aws/aws-sdk-go-v2/service/transcribestreaming`: [v1.7.0](service/transcribestreaming/CHANGELOG.md#v170-2022-11-09)
- * **Feature**: This will release hi-IN and th-TH
-
-# Release (2022-11-08)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/acm`: [v1.16.0](service/acm/CHANGELOG.md#v1160-2022-11-08)
- * **Feature**: Support added for requesting elliptic curve certificate key algorithm types P-256 (EC_prime256v1) and P-384 (EC_secp384r1).
-* `github.com/aws/aws-sdk-go-v2/service/billingconductor`: [v1.1.0](service/billingconductor/CHANGELOG.md#v110-2022-11-08)
- * **Feature**: This release adds the Recurring Custom Line Item feature along with a new API ListCustomLineItemVersions.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.68.0](service/ec2/CHANGELOG.md#v1680-2022-11-08)
- * **Feature**: This release enables sharing of EC2 Placement Groups across accounts and within AWS Organizations using Resource Access Manager
-* `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.20.0](service/fms/CHANGELOG.md#v1200-2022-11-08)
- * **Feature**: AWS Firewall Manager now supports importing existing AWS Network Firewall firewalls into Firewall Manager policies.
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.24.0](service/lightsail/CHANGELOG.md#v1240-2022-11-08)
- * **Feature**: This release adds support for Amazon Lightsail to automate the delegation of domains registered through Amazon Route 53 to Lightsail DNS management and to automate record creation for DNS validation of Lightsail SSL/TLS certificates.
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.11.0](service/opensearch/CHANGELOG.md#v1110-2022-11-08)
- * **Feature**: Amazon OpenSearch Service now offers managed VPC endpoints to connect to your Amazon OpenSearch Service VPC-enabled domain in a Virtual Private Cloud (VPC). This feature allows you to privately access OpenSearch Service domain without using public IPs or requiring traffic to traverse the Internet.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.19.0](service/polly/CHANGELOG.md#v1190-2022-11-08)
- * **Feature**: Amazon Polly adds new voices: Elin (sv-SE), Ida (nb-NO), Laura (nl-NL) and Suvi (fi-FI). They are available as neural voices only.
-* `github.com/aws/aws-sdk-go-v2/service/resourceexplorer2`: [v1.0.0](service/resourceexplorer2/CHANGELOG.md#v100-2022-11-08)
- * **Release**: New AWS service client module
- * **Feature**: This is the initial SDK release for AWS Resource Explorer. AWS Resource Explorer lets your users search for and discover your AWS resources across the AWS Regions in your account.
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.23.0](service/route53/CHANGELOG.md#v1230-2022-11-08)
- * **Feature**: Amazon Route 53 now supports the Europe (Zurich) Region (eu-central-2) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region.
-
-# Release (2022-11-07)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.19.0](service/athena/CHANGELOG.md#v1190-2022-11-07)
- * **Feature**: Adds support for using Query Result Reuse
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.24.0](service/autoscaling/CHANGELOG.md#v1240-2022-11-07)
- * **Feature**: This release adds support for two new attributes for attribute-based instance type selection - NetworkBandwidthGbps and AllowedInstanceTypes.
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.20.0](service/cloudtrail/CHANGELOG.md#v1200-2022-11-07)
- * **Feature**: This release includes support for configuring a delegated administrator to manage an AWS Organizations organization CloudTrail trails and event data stores, and AWS Key Management Service encryption of CloudTrail Lake event data stores.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.67.0](service/ec2/CHANGELOG.md#v1670-2022-11-07)
- * **Feature**: This release adds support for two new attributes for attribute-based instance type selection - NetworkBandwidthGbps and AllowedInstanceTypes.
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.23.0](service/elasticache/CHANGELOG.md#v1230-2022-11-07)
- * **Feature**: Added support for IPv6 and dual stack for Memcached and Redis clusters. Customers can now launch new Redis and Memcached clusters with IPv6 and dual stack networking support.
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.26.0](service/lexmodelsv2/CHANGELOG.md#v1260-2022-11-07)
- * **Feature**: Amazon Lex now supports new APIs for viewing and editing Custom Vocabulary in bots.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.27.0](service/mediaconvert/CHANGELOG.md#v1270-2022-11-07)
- * **Feature**: The AWS Elemental MediaConvert SDK has added support for setting the SDR reference white point for HDR conversions and conversion of HDR10 to DolbyVision without mastering metadata.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.32.0](service/ssm/CHANGELOG.md#v1320-2022-11-07)
- * **Feature**: This release includes support for applying a CloudWatch alarm to multi account multi region Systems Manager Automation
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.23.1](service/wafv2/CHANGELOG.md#v1231-2022-11-07)
- * **Documentation**: The geo match statement now adds labels for country and region. You can match requests at the region level by combining a geo match statement with label match statements.
-* `github.com/aws/aws-sdk-go-v2/service/wellarchitected`: [v1.17.0](service/wellarchitected/CHANGELOG.md#v1170-2022-11-07)
- * **Feature**: This release adds support for integrations with AWS Trusted Advisor and AWS Service Catalog AppRegistry to improve workload discovery and speed up your workload reviews.
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.25.0](service/workspaces/CHANGELOG.md#v1250-2022-11-07)
- * **Feature**: This release adds protocols attribute to workspaces properties data type. This enables customers to migrate workspaces from PC over IP (PCoIP) to WorkSpaces Streaming Protocol (WSP) using create and modify workspaces public APIs.
-
-# Release (2022-11-04)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.16.1](service/cloudwatchlogs/CHANGELOG.md#v1161-2022-11-04)
- * **Documentation**: Doc-only update for bug fixes and support of export to buckets encrypted with SSE-KMS
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.66.0](service/ec2/CHANGELOG.md#v1660-2022-11-04)
- * **Feature**: This release adds API support for the recipient of an AMI account share to remove shared AMI launch permissions.
-* `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.15.0](service/emrcontainers/CHANGELOG.md#v1150-2022-11-04)
- * **Feature**: Adding support for Job templates. Job templates allow you to create and store templates to configure Spark applications parameters. This helps you ensure consistent settings across applications by reusing and enforcing configuration overrides in data pipelines.
-* `github.com/aws/aws-sdk-go-v2/service/internal/eventstreamtesting`: [v1.0.37](service/internal/eventstreamtesting/CHANGELOG.md#v1037-2022-11-04)
- * **Dependency Update**: update golang.org/x/net dependency to 0.1.0
-
-# Release (2022-11-03)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/memorydb`: [v1.10.0](service/memorydb/CHANGELOG.md#v1100-2022-11-03)
- * **Feature**: Adding support for r6gd instances for MemoryDB Redis with data tiering. In a cluster with data tiering enabled, when available memory capacity is exhausted, the least recently used data is automatically tiered to solid state drives for cost-effective capacity scaling with minimal performance impact.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.54.0](service/sagemaker/CHANGELOG.md#v1540-2022-11-03)
- * **Feature**: Amazon SageMaker now supports running training jobs on ml.trn1 instance types.
-
-# Release (2022-11-02)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.26.0](service/iotsitewise/CHANGELOG.md#v1260-2022-11-02)
- * **Feature**: This release adds the ListAssetModelProperties and ListAssetProperties APIs. You can list all properties that belong to a single asset model or asset using these two new APIs.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.25.0](service/s3control/CHANGELOG.md#v1250-2022-11-02)
- * **Feature**: S3 on Outposts launches support for Lifecycle configuration for Outposts buckets. With S3 Lifecycle configuration, you can mange objects so they are stored cost effectively. You can manage objects using size-based rules and specify how many noncurrent versions bucket will retain.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.53.0](service/sagemaker/CHANGELOG.md#v1530-2022-11-02)
- * **Feature**: This release updates Framework model regex for ModelPackage to support new Framework version xgboost, sklearn.
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.17.0](service/ssmincidents/CHANGELOG.md#v1170-2022-11-02)
- * **Feature**: Adds support for tagging replication-set on creation.
-
-# Release (2022-11-01)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.28.0](service/rds/CHANGELOG.md#v1280-2022-11-01)
- * **Feature**: Relational Database Service - This release adds support for configuring Storage Throughput on RDS database instances.
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.17.0](service/textract/CHANGELOG.md#v1170-2022-11-01)
- * **Feature**: Add ocr results in AnalyzeIDResponse as blocks
-
-# Release (2022-10-31)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.15.0](service/apprunner/CHANGELOG.md#v1150-2022-10-31)
- * **Feature**: This release adds support for private App Runner services. Services may now be configured to be made private and only accessible from a VPC. The changes include a new VpcIngressConnection resource and several new and modified APIs.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.16.0](service/cloudwatchlogs/CHANGELOG.md#v1160-2022-10-31)
- * **Feature**: SDK release to support tagging for destinations and log groups with TagResource. Also supports tag on create with PutDestination.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.34.0](service/connect/CHANGELOG.md#v1340-2022-10-31)
- * **Feature**: Amazon connect now support a new API DismissUserContact to dismiss or remove terminated contacts in Agent CCP
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.65.0](service/ec2/CHANGELOG.md#v1650-2022-10-31)
- * **Feature**: Elastic IP transfer is a new Amazon VPC feature that allows you to transfer your Elastic IP addresses from one AWS Account to another.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.30.0](service/iot/CHANGELOG.md#v1300-2022-10-31)
- * **Feature**: This release adds the Amazon Location action to IoT Rules Engine.
-* `github.com/aws/aws-sdk-go-v2/service/sesv2`: [v1.15.0](service/sesv2/CHANGELOG.md#v1150-2022-10-31)
- * **Feature**: This release includes support for interacting with the Virtual Deliverability Manager, allowing you to opt in/out of the feature and to retrieve recommendations and metric data.
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.16.0](service/textract/CHANGELOG.md#v1160-2022-10-31)
- * **Feature**: This release introduces additional support for 30+ normalized fields such as vendor address and currency. It also includes OCR output in the response and accuracy improvements for the already supported fields in previous version
-
-# Release (2022-10-28)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.14.0](service/apprunner/CHANGELOG.md#v1140-2022-10-28)
- * **Feature**: AWS App Runner adds .NET 6, Go 1, PHP 8.1 and Ruby 3.1 runtimes.
-* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.18.0](service/appstream/CHANGELOG.md#v1180-2022-10-28)
- * **Feature**: This release includes CertificateBasedAuthProperties in CreateDirectoryConfig and UpdateDirectoryConfig.
-* `github.com/aws/aws-sdk-go-v2/service/cloud9`: [v1.16.20](service/cloud9/CHANGELOG.md#v11620-2022-10-28)
- * **Documentation**: Update to the documentation section of the Cloud9 API Reference guide.
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.23.0](service/cloudformation/CHANGELOG.md#v1230-2022-10-28)
- * **Feature**: This release adds more fields to improves visibility of AWS CloudFormation StackSets information in following APIs: ListStackInstances, DescribeStackInstance, ListStackSetOperationResults, ListStackSetOperations, DescribeStackSetOperation.
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.19.0](service/mediatailor/CHANGELOG.md#v1190-2022-10-28)
- * **Feature**: This release introduces support for SCTE-35 segmentation descriptor messages which can be sent within time signal messages.
-
-# Release (2022-10-27)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.64.0](service/ec2/CHANGELOG.md#v1640-2022-10-27)
- * **Feature**: Feature supports the replacement of instance root volume using an updated AMI without requiring customers to stop their instance.
-* `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.19.0](service/fms/CHANGELOG.md#v1190-2022-10-27)
- * **Feature**: Add support NetworkFirewall Managed Rule Group Override flag in GetViolationDetails API
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.34.0](service/glue/CHANGELOG.md#v1340-2022-10-27)
- * **Feature**: Added support for custom datatypes when using custom csv classifier.
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.26.13](service/redshift/CHANGELOG.md#v12613-2022-10-27)
- * **Documentation**: This release clarifies use for the ElasticIp parameter of the CreateCluster and RestoreFromClusterSnapshot APIs.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.52.0](service/sagemaker/CHANGELOG.md#v1520-2022-10-27)
- * **Feature**: This change allows customers to provide a custom entrypoint script for the docker container to be run while executing training jobs, and provide custom arguments to the entrypoint script.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.23.0](service/wafv2/CHANGELOG.md#v1230-2022-10-27)
- * **Feature**: This release adds the following: Challenge rule action, to silently verify client browsers; rule group rule action override to any valid rule action, not just Count; token sharing between protected applications for challenge/CAPTCHA token; targeted rules option for Bot Control managed rule group.
-
-# Release (2022-10-26)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.18.23](service/iam/CHANGELOG.md#v11823-2022-10-26)
- * **Documentation**: Doc only update that corrects instances of CLI not using an entity.
-* `github.com/aws/aws-sdk-go-v2/service/kafka`: [v1.18.0](service/kafka/CHANGELOG.md#v1180-2022-10-26)
- * **Feature**: This release adds support for Tiered Storage. UpdateStorage allows you to control the Storage Mode for supported storage tiers.
-* `github.com/aws/aws-sdk-go-v2/service/neptune`: [v1.18.0](service/neptune/CHANGELOG.md#v1180-2022-10-26)
- * **Feature**: Added a new cluster-level attribute to set the capacity range for Neptune Serverless instances.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.51.0](service/sagemaker/CHANGELOG.md#v1510-2022-10-26)
- * **Feature**: Amazon SageMaker Automatic Model Tuning now supports specifying Grid Search strategy for tuning jobs, which evaluates all hyperparameter combinations exhaustively based on the categorical hyperparameters provided.
-
-# Release (2022-10-25)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/accessanalyzer`: [v1.17.0](service/accessanalyzer/CHANGELOG.md#v1170-2022-10-25)
- * **Feature**: This release adds support for six new resource types in IAM Access Analyzer to help you easily identify public and cross-account access to your AWS resources. Updated service API, documentation, and paginators.
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.19.3](service/location/CHANGELOG.md#v1193-2022-10-25)
- * **Documentation**: Added new map styles with satellite imagery for map resources using HERE as a data provider.
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.18.0](service/mediatailor/CHANGELOG.md#v1180-2022-10-25)
- * **Feature**: This release is a documentation update
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.27.0](service/rds/CHANGELOG.md#v1270-2022-10-25)
- * **Feature**: Relational Database Service - This release adds support for exporting DB cluster data to Amazon S3.
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.24.0](service/workspaces/CHANGELOG.md#v1240-2022-10-25)
- * **Feature**: This release adds new enums for supporting Workspaces Core features, including creating Manual running mode workspaces, importing regular Workspaces Core images and importing g4dn Workspaces Core images.
-
-# Release (2022-10-24)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/feature/ec2/imds`: [v1.12.19](feature/ec2/imds/CHANGELOG.md#v11219-2022-10-24)
- * **Bug Fix**: Fixes an issue that prevented logging of the API request or responses when the respective log modes were enabled.
-* `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.19.0](service/acmpca/CHANGELOG.md#v1190-2022-10-24)
- * **Feature**: AWS Private Certificate Authority (AWS Private CA) now offers usage modes which are combination of features to address specific use cases.
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.19.0](service/batch/CHANGELOG.md#v1190-2022-10-24)
- * **Feature**: This release adds support for AWS Batch on Amazon EKS.
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.19.0](service/datasync/CHANGELOG.md#v1190-2022-10-24)
- * **Feature**: Added support for self-signed certificates when using object storage locations; added BytesCompressed to the TaskExecution response.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.50.0](service/sagemaker/CHANGELOG.md#v1500-2022-10-24)
- * **Feature**: SageMaker Inference Recommender now supports a new API ListInferenceRecommendationJobSteps to return the details of all the benchmark we create for an inference recommendation job.
-
-# Release (2022-10-21)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.17.0
- * **Feature**: Adds `aws.IsCredentialsProvider` for inspecting `CredentialProvider` types when needing to determine if the underlying implementation type matches a target type. This resolves an issue where `CredentialsCache` could mask `AnonymousCredentials` providers, breaking downstream detection logic.
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.21.0](service/cognitoidentityprovider/CHANGELOG.md#v1210-2022-10-21)
- * **Feature**: This release adds a new "DeletionProtection" field to the UserPool in Cognito. Application admins can configure this value with either ACTIVE or INACTIVE value. Setting this field to ACTIVE will prevent a user pool from accidental deletion.
-* `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.16.16](service/eventbridge/CHANGELOG.md#v11616-2022-10-21)
- * **Bug Fix**: The SDK client has been updated to utilize the `aws.IsCredentialsProvider` function for determining if `aws.AnonymousCredentials` has been configured for the `CredentialProvider`.
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.29.0](service/s3/CHANGELOG.md#v1290-2022-10-21)
- * **Feature**: S3 on Outposts launches support for automatic bucket-style alias. You can use the automatic access point alias instead of an access point ARN for any object-level operation in an Outposts bucket.
- * **Bug Fix**: The SDK client has been updated to utilize the `aws.IsCredentialsProvider` function for determining if `aws.AnonymousCredentials` has been configured for the `CredentialProvider`.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.49.0](service/sagemaker/CHANGELOG.md#v1490-2022-10-21)
- * **Feature**: CreateInferenceRecommenderjob API now supports passing endpoint details directly, that will help customers to identify the max invocation and max latency they can achieve for their model and the associated endpoint along with getting recommendations on other instances.
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.17.0](service/sts/CHANGELOG.md#v1170-2022-10-21)
- * **Feature**: Add presign functionality for sts:AssumeRole operation
-
-# Release (2022-10-20)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.20.0](service/devopsguru/CHANGELOG.md#v1200-2022-10-20)
- * **Feature**: This release adds information about the resources DevOps Guru is analyzing.
-* `github.com/aws/aws-sdk-go-v2/service/globalaccelerator`: [v1.15.0](service/globalaccelerator/CHANGELOG.md#v1150-2022-10-20)
- * **Feature**: Global Accelerator now supports AddEndpoints and RemoveEndpoints operations for standard endpoint groups.
-* `github.com/aws/aws-sdk-go-v2/service/resiliencehub`: [v1.7.0](service/resiliencehub/CHANGELOG.md#v170-2022-10-20)
- * **Feature**: In this release, we are introducing support for regional optimization for AWS Resilience Hub applications. It also includes a few documentation updates to improve clarity.
-* `github.com/aws/aws-sdk-go-v2/service/rum`: [v1.7.0](service/rum/CHANGELOG.md#v170-2022-10-20)
- * **Feature**: CloudWatch RUM now supports Extended CloudWatch Metrics with Additional Dimensions
-
-# Release (2022-10-19)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.11.6](service/chimesdkmessaging/CHANGELOG.md#v1116-2022-10-19)
- * **Documentation**: Documentation updates for Chime Messaging SDK
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.19.0](service/cloudtrail/CHANGELOG.md#v1190-2022-10-19)
- * **Feature**: This release includes support for exporting CloudTrail Lake query results to an Amazon S3 bucket.
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.27.0](service/configservice/CHANGELOG.md#v1270-2022-10-19)
- * **Feature**: This release adds resourceType enums for AppConfig, AppSync, DataSync, EC2, EKS, Glue, GuardDuty, SageMaker, ServiceDiscovery, SES, Route53 types.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.33.0](service/connect/CHANGELOG.md#v1330-2022-10-19)
- * **Feature**: This release adds API support for managing phone numbers that can be used across multiple AWS regions through telephony traffic distribution.
-* `github.com/aws/aws-sdk-go-v2/service/managedblockchain`: [v1.13.0](service/managedblockchain/CHANGELOG.md#v1130-2022-10-19)
- * **Feature**: Adding new Accessor APIs for Amazon Managed Blockchain
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.28.0](service/s3/CHANGELOG.md#v1280-2022-10-19)
- * **Feature**: Updates internal logic for constructing API endpoints. We have added rule-based endpoints and internal model parameters.
-* `github.com/aws/aws-sdk-go-v2/service/supportapp`: [v1.1.0](service/supportapp/CHANGELOG.md#v110-2022-10-19)
- * **Feature**: This release adds the RegisterSlackWorkspaceForOrganization API. You can use the API to register a Slack workspace for an AWS account that is part of an organization.
-* `github.com/aws/aws-sdk-go-v2/service/workspacesweb`: [v1.7.0](service/workspacesweb/CHANGELOG.md#v170-2022-10-19)
- * **Feature**: WorkSpaces Web now supports user access logging for recording session start, stop, and URL navigation.
-
-# Release (2022-10-18)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.20.10](service/frauddetector/CHANGELOG.md#v12010-2022-10-18)
- * **Documentation**: Documentation Updates for Amazon Fraud Detector
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.48.0](service/sagemaker/CHANGELOG.md#v1480-2022-10-18)
- * **Feature**: This change allows customers to enable data capturing while running a batch transform job, and configure monitoring schedule to monitoring the captured data.
-* `github.com/aws/aws-sdk-go-v2/service/servicediscovery`: [v1.18.0](service/servicediscovery/CHANGELOG.md#v1180-2022-10-18)
- * **Feature**: Updated the ListNamespaces API to support the NAME and HTTP_NAME filters, and the BEGINS_WITH filter condition.
-* `github.com/aws/aws-sdk-go-v2/service/sesv2`: [v1.14.0](service/sesv2/CHANGELOG.md#v1140-2022-10-18)
- * **Feature**: This release allows subscribers to enable Dedicated IPs (managed) to send email via a fully managed dedicated IP experience. It also adds identities' VerificationStatus in the response of GetEmailIdentity and ListEmailIdentities APIs, and ImportJobs counts in the response of ListImportJobs API.
-
-# Release (2022-10-17)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/greengrass`: [v1.14.0](service/greengrass/CHANGELOG.md#v1140-2022-10-17)
- * **Feature**: This change allows customers to specify FunctionRuntimeOverride in FunctionDefinitionVersion. This configuration can be used if the runtime on the device is different from the AWS Lambda runtime specified for that function.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.47.0](service/sagemaker/CHANGELOG.md#v1470-2022-10-17)
- * **Feature**: This release adds support for C7g, C6g, C6gd, C6gn, M6g, M6gd, R6g, and R6gn Graviton instance types in Amazon SageMaker Inference.
-
-# Release (2022-10-14)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.26.0](service/mediaconvert/CHANGELOG.md#v1260-2022-10-14)
- * **Feature**: MediaConvert now supports specifying the minimum percentage of the HRD buffer available at the end of each encoded video segment.
-
-# Release (2022-10-13)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder`: [v1.8.0](service/amplifyuibuilder/CHANGELOG.md#v180-2022-10-13)
- * **Feature**: We are releasing the ability for fields to be configured as arrays.
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.18.0](service/appflow/CHANGELOG.md#v1180-2022-10-13)
- * **Feature**: With this update, you can choose which Salesforce API is used by Amazon AppFlow to transfer data to or from your Salesforce account. You can choose the Salesforce REST API or Bulk API 2.0. You can also choose for Amazon AppFlow to pick the API automatically.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.32.0](service/connect/CHANGELOG.md#v1320-2022-10-13)
- * **Feature**: This release adds support for a secondary email and a mobile number for Amazon Connect instance users.
-* `github.com/aws/aws-sdk-go-v2/service/directoryservice`: [v1.15.0](service/directoryservice/CHANGELOG.md#v1150-2022-10-13)
- * **Feature**: This release adds support for describing and updating AWS Managed Microsoft AD set up.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.18.24](service/ecs/CHANGELOG.md#v11824-2022-10-13)
- * **Documentation**: Documentation update to address tickets.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.16.0](service/guardduty/CHANGELOG.md#v1160-2022-10-13)
- * **Feature**: Add UnprocessedDataSources to CreateDetectorResponse which specifies the data sources that couldn't be enabled during the CreateDetector request. In addition, update documentations.
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.18.20](service/iam/CHANGELOG.md#v11820-2022-10-13)
- * **Documentation**: Documentation updates for the AWS Identity and Access Management API Reference.
-* `github.com/aws/aws-sdk-go-v2/service/iotfleetwise`: [v1.0.1](service/iotfleetwise/CHANGELOG.md#v101-2022-10-13)
- * **Documentation**: Documentation update for AWS IoT FleetWise
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.24.0](service/medialive/CHANGELOG.md#v1240-2022-10-13)
- * **Feature**: AWS Elemental MediaLive now supports forwarding SCTE-35 messages through the Event Signaling and Management (ESAM) API, and can read those SCTE-35 messages from an inactive source.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagevod`: [v1.18.0](service/mediapackagevod/CHANGELOG.md#v1180-2022-10-13)
- * **Feature**: This release adds SPEKE v2 support for MediaPackage VOD. Speke v2 is an upgrade to the existing SPEKE API to support multiple encryption keys, based on an encryption contract selected by the customer.
-* `github.com/aws/aws-sdk-go-v2/service/panorama`: [v1.9.0](service/panorama/CHANGELOG.md#v190-2022-10-13)
- * **Feature**: Pause and resume camera stream processing with SignalApplicationInstanceNodeInstances. Reboot an appliance with CreateJobForDevices. More application state information in DescribeApplicationInstance response.
-* `github.com/aws/aws-sdk-go-v2/service/rdsdata`: [v1.12.16](service/rdsdata/CHANGELOG.md#v11216-2022-10-13)
- * **Documentation**: Doc update to reflect no support for schema parameter on BatchExecuteStatement API
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.31.0](service/ssm/CHANGELOG.md#v1310-2022-10-13)
- * **Feature**: Support of AmazonLinux2022 by Patch Manager
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.16.0](service/ssmincidents/CHANGELOG.md#v1160-2022-10-13)
- * **Feature**: Update RelatedItem enum to support Tasks
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.23.0](service/transfer/CHANGELOG.md#v1230-2022-10-13)
- * **Feature**: This release adds an option for customers to configure workflows that are triggered when files are only partially received from a client due to premature session disconnect.
-* `github.com/aws/aws-sdk-go-v2/service/translate`: [v1.15.1](service/translate/CHANGELOG.md#v1151-2022-10-13)
- * **Documentation**: This release enables customers to specify multiple target languages in asynchronous batch translation requests.
-* `github.com/aws/aws-sdk-go-v2/service/wisdom`: [v1.10.0](service/wisdom/CHANGELOG.md#v1100-2022-10-13)
- * **Feature**: This release updates the GetRecommendations API to include a trigger event list for classifying and grouping recommendations.
-
-# Release (2022-10-07)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/codegurureviewer`: [v1.16.15](service/codegurureviewer/CHANGELOG.md#v11615-2022-10-07)
- * **Documentation**: Documentation update to replace broken link.
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.18.20](service/elasticloadbalancingv2/CHANGELOG.md#v11820-2022-10-07)
- * **Documentation**: Gateway Load Balancer adds a new feature (target_failover) for customers to rebalance existing flows to a healthy target after marked unhealthy or deregistered. This allows graceful patching/upgrades of target appliances during maintenance windows, and helps reduce unhealthy target failover time.
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.19.0](service/greengrassv2/CHANGELOG.md#v1190-2022-10-07)
- * **Feature**: This release adds error status details for deployments and components that failed on a device and adds features to improve visibility into component installation.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.26.0](service/quicksight/CHANGELOG.md#v1260-2022-10-07)
- * **Feature**: Amazon QuickSight now supports SecretsManager Secret ARN in place of CredentialPair for DataSource creation and update. This release also has some minor documentation updates and removes CountryCode as a required parameter in GeoSpatialColumnGroup
-
-# Release (2022-10-06)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/resiliencehub`: [v1.6.15](service/resiliencehub/CHANGELOG.md#v1615-2022-10-06)
- * **Documentation**: Documentation change for AWS Resilience Hub. Doc-only update to fix Documentation layout
-
-# Release (2022-10-05)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.33.0](service/glue/CHANGELOG.md#v1330-2022-10-05)
- * **Feature**: This SDK release adds support to sync glue jobs with source control provider. Additionally, a new parameter called SourceControlDetails will be added to Job model.
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.20.0](service/networkfirewall/CHANGELOG.md#v1200-2022-10-05)
- * **Feature**: StreamExceptionPolicy configures how AWS Network Firewall processes traffic when a network connection breaks midstream
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.23.0](service/outposts/CHANGELOG.md#v1230-2022-10-05)
- * **Feature**: This release adds the Asset state information to the ListAssets response. The ListAssets request supports filtering on Asset state.
-
-# Release (2022-10-04)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.31.0](service/connect/CHANGELOG.md#v1310-2022-10-04)
- * **Feature**: Updated the CreateIntegrationAssociation API to support the CASES_DOMAIN IntegrationType.
-* `github.com/aws/aws-sdk-go-v2/service/connectcases`: [v1.0.0](service/connectcases/CHANGELOG.md#v100-2022-10-04)
- * **Release**: New AWS service client module
- * **Feature**: This release adds APIs for Amazon Connect Cases. Cases allows your agents to quickly track and manage customer issues that require multiple interactions, follow-up tasks, and teams in your contact center. For more information, see https://docs.aws.amazon.com/cases/latest/APIReference/Welcome.html
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.63.0](service/ec2/CHANGELOG.md#v1630-2022-10-04)
- * **Feature**: Added EnableNetworkAddressUsageMetrics flag for ModifyVpcAttribute, DescribeVpcAttribute APIs.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.18.23](service/ecs/CHANGELOG.md#v11823-2022-10-04)
- * **Documentation**: Documentation updates to address various Amazon ECS tickets.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.24.0](service/s3control/CHANGELOG.md#v1240-2022-10-04)
- * **Feature**: S3 Object Lambda adds support to allow customers to intercept HeadObject and ListObjects requests and introduce their own compute. These requests were previously proxied to S3.
-* `github.com/aws/aws-sdk-go-v2/service/workmail`: [v1.17.0](service/workmail/CHANGELOG.md#v1170-2022-10-04)
- * **Feature**: This release adds support for impersonation roles in Amazon WorkMail.
-
-# Release (2022-10-03)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/accessanalyzer`: [v1.16.0](service/accessanalyzer/CHANGELOG.md#v1160-2022-10-03)
- * **Feature**: AWS IAM Access Analyzer policy validation introduces new checks for role trust policies. As customers author a policy, IAM Access Analyzer policy validation evaluates the policy for any issues to make it easier for customers to author secure policies.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.62.0](service/ec2/CHANGELOG.md#v1620-2022-10-03)
- * **Feature**: Adding an imdsSupport attribute to EC2 AMIs
-* `github.com/aws/aws-sdk-go-v2/service/snowball`: [v1.16.0](service/snowball/CHANGELOG.md#v1160-2022-10-03)
- * **Feature**: Adds support for V3_5C. This is a refreshed AWS Snowball Edge Compute Optimized device type with 28TB SSD, 104 vCPU and 416GB memory (customer usable).
-
-# Release (2022-09-30)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/codedeploy`: [v1.15.0](service/codedeploy/CHANGELOG.md#v1150-2022-09-30)
- * **Feature**: This release allows you to override the alarm configurations when creating a deployment.
-* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.19.0](service/devopsguru/CHANGELOG.md#v1190-2022-09-30)
- * **Feature**: This release adds filter feature on AddNotificationChannel API, enable customer to configure the SNS notification messages by Severity or MessageTypes
-* `github.com/aws/aws-sdk-go-v2/service/dlm`: [v1.13.0](service/dlm/CHANGELOG.md#v1130-2022-09-30)
- * **Feature**: This release adds support for archival of single-volume snapshots created by Amazon Data Lifecycle Manager policies
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.46.0](service/sagemaker/CHANGELOG.md#v1460-2022-09-30)
- * **Feature**: A new parameter called ExplainerConfig is added to CreateEndpointConfig API to enable SageMaker Clarify online explainability feature.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerruntime`: [v1.16.0](service/sagemakerruntime/CHANGELOG.md#v1160-2022-09-30)
- * **Feature**: A new parameter called EnableExplanations is added to InvokeEndpoint API to enable on-demand SageMaker Clarify online explainability requests.
-* `github.com/aws/aws-sdk-go-v2/service/ssooidc`: [v1.13.6](service/ssooidc/CHANGELOG.md#v1136-2022-09-30)
- * **Documentation**: Documentation updates for the IAM Identity Center OIDC CLI Reference.
-
-# Release (2022-09-29)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/acm`: [v1.15.0](service/acm/CHANGELOG.md#v1150-2022-09-29)
- * **Feature**: This update returns additional certificate details such as certificate SANs and allows sorting in the ListCertificates API.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.61.0](service/ec2/CHANGELOG.md#v1610-2022-09-29)
- * **Feature**: u-3tb1 instances are powered by Intel Xeon Platinum 8176M (Skylake) processors and are purpose-built to run large in-memory databases.
-* `github.com/aws/aws-sdk-go-v2/service/emrserverless`: [v1.3.0](service/emrserverless/CHANGELOG.md#v130-2022-09-29)
- * **Feature**: This release adds API support to debug Amazon EMR Serverless jobs in real-time with live application UIs
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.25.0](service/fsx/CHANGELOG.md#v1250-2022-09-29)
- * **Feature**: This release adds support for Amazon File Cache.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhuborchestrator`: [v1.0.0](service/migrationhuborchestrator/CHANGELOG.md#v100-2022-09-29)
- * **Release**: New AWS service client module
- * **Feature**: Introducing AWS MigrationHubOrchestrator. This is the first public release of AWS MigrationHubOrchestrator.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.18.0](service/polly/CHANGELOG.md#v1180-2022-09-29)
- * **Feature**: Added support for the new Cantonese voice - Hiujin. Hiujin is available as a Neural voice only.
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.15.0](service/proton/CHANGELOG.md#v1150-2022-09-29)
- * **Feature**: This release adds an option to delete pipeline provisioning repositories using the UpdateAccountSettings API
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.45.0](service/sagemaker/CHANGELOG.md#v1450-2022-09-29)
- * **Feature**: SageMaker Training Managed Warm Pools let you retain provisioned infrastructure to reduce latency for repetitive training workloads.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.16.2](service/secretsmanager/CHANGELOG.md#v1162-2022-09-29)
- * **Documentation**: Documentation updates for Secrets Manager
-* `github.com/aws/aws-sdk-go-v2/service/translate`: [v1.15.0](service/translate/CHANGELOG.md#v1150-2022-09-29)
- * **Feature**: This release enables customers to access control rights on Translate resources like Parallel Data and Custom Terminology using Tag Based Authorization.
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.23.0](service/workspaces/CHANGELOG.md#v1230-2022-09-29)
- * **Feature**: This release includes diagnostic log uploading feature. If it is enabled, the log files of WorkSpaces Windows client will be sent to Amazon WorkSpaces automatically for troubleshooting. You can use modifyClientProperty api to enable/disable this feature.
-
-# Release (2022-09-27)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.21.0](service/costexplorer/CHANGELOG.md#v1210-2022-09-27)
- * **Feature**: This release is to support retroactive Cost Categories. The new field will enable you to retroactively apply new and existing cost category rules to previous months.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.35.0](service/kendra/CHANGELOG.md#v1350-2022-09-27)
- * **Feature**: My AWS Service (placeholder) - Amazon Kendra now provides a data source connector for DropBox. For more information, see https://docs.aws.amazon.com/kendra/latest/dg/data-source-dropbox.html
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.19.0](service/location/CHANGELOG.md#v1190-2022-09-27)
- * **Feature**: This release adds place IDs, which are unique identifiers of places, along with a new GetPlace operation, which can be used with place IDs to find a place again later. UnitNumber and UnitType are also added as new properties of places.
-
-# Release (2022-09-26)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue`: [v1.10.0](feature/dynamodb/attributevalue/CHANGELOG.md#v1100-2022-09-26)
- * **Feature**: Adds a String method to UnixTime, so that when structs with this field get logged it prints a human readable time.
-* `github.com/aws/aws-sdk-go-v2/feature/dynamodbstreams/attributevalue`: [v1.10.0](feature/dynamodbstreams/attributevalue/CHANGELOG.md#v1100-2022-09-26)
- * **Feature**: Adds a String method to UnixTime, so that when structs with this field get logged it prints a human readable time.
-* `github.com/aws/aws-sdk-go-v2/service/costandusagereportservice`: [v1.14.0](service/costandusagereportservice/CHANGELOG.md#v1140-2022-09-26)
- * **Feature**: This release adds two new support regions(me-central-1/eu-south-2) for OSG.
-* `github.com/aws/aws-sdk-go-v2/service/iotfleetwise`: [v1.0.0](service/iotfleetwise/CHANGELOG.md#v100-2022-09-26)
- * **Release**: New AWS service client module
- * **Feature**: General availability (GA) for AWS IoT Fleetwise. It adds AWS IoT Fleetwise to AWS SDK. For more information, see https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/Welcome.html.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.30.0](service/ssm/CHANGELOG.md#v1300-2022-09-26)
- * **Feature**: This release includes support for applying a CloudWatch alarm to Systems Manager capabilities like Automation, Run Command, State Manager, and Maintenance Windows.
-
-# Release (2022-09-23)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.13.0](service/apprunner/CHANGELOG.md#v1130-2022-09-23)
- * **Feature**: AWS App Runner adds a Node.js 16 runtime.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.60.0](service/ec2/CHANGELOG.md#v1600-2022-09-23)
- * **Feature**: Letting external AWS customers provide ImageId as a Launch Template override in FleetLaunchTemplateOverridesRequest
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.25.0](service/lexmodelsv2/CHANGELOG.md#v1250-2022-09-23)
- * **Feature**: This release introduces additional optional parameters promptAttemptsSpecification to PromptSpecification, which enables the users to configure interrupt setting and Audio, DTMF and Text input configuration for the initial and retry prompt played by the Bot
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.23.0](service/lightsail/CHANGELOG.md#v1230-2022-09-23)
- * **Feature**: This release adds Instance Metadata Service (IMDS) support for Lightsail instances.
-* `github.com/aws/aws-sdk-go-v2/service/nimble`: [v1.14.0](service/nimble/CHANGELOG.md#v1140-2022-09-23)
- * **Feature**: Amazon Nimble Studio adds support for on-demand Amazon Elastic Compute Cloud (EC2) G3 and G5 instances, allowing customers to utilize additional GPU instance types for their creative projects.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.29.0](service/ssm/CHANGELOG.md#v1290-2022-09-23)
- * **Feature**: This release adds new SSM document types ConformancePackTemplate and CloudFormation
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.22.9](service/wafv2/CHANGELOG.md#v1229-2022-09-23)
- * **Documentation**: Add the default specification for ResourceType in ListResourcesForWebACL.
-
-# Release (2022-09-22)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/backupgateway`: [v1.7.0](service/backupgateway/CHANGELOG.md#v170-2022-09-22)
- * **Feature**: Changes include: new GetVirtualMachineApi to fetch a single user's VM, improving ListVirtualMachines to fetch filtered VMs as well as all VMs, and improving GetGatewayApi to now also return the gateway's MaintenanceStartTime.
-* `github.com/aws/aws-sdk-go-v2/service/devicefarm`: [v1.14.0](service/devicefarm/CHANGELOG.md#v1140-2022-09-22)
- * **Feature**: This release adds the support for VPC-ENI based connectivity for private devices on AWS Device Farm.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.59.0](service/ec2/CHANGELOG.md#v1590-2022-09-22)
- * **Feature**: Documentation updates for Amazon EC2.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.32.0](service/glue/CHANGELOG.md#v1320-2022-09-22)
- * **Feature**: Added support for S3 Event Notifications for Catalog Target Crawlers.
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.15.5](service/identitystore/CHANGELOG.md#v1155-2022-09-22)
- * **Documentation**: Documentation updates for the Identity Store CLI Reference.
-
-# Release (2022-09-21)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.19.0](service/comprehend/CHANGELOG.md#v1190-2022-09-21)
- * **Feature**: Amazon Comprehend now supports synchronous mode for targeted sentiment API operations.
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.22.2](service/route53/CHANGELOG.md#v1222-2022-09-21)
- * **Bug Fix**: Updated GetChange to sanitize /change/ prefix of the changeId returned from the service.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.23.0](service/s3control/CHANGELOG.md#v1230-2022-09-21)
- * **Feature**: S3 on Outposts launches support for object versioning for Outposts buckets. With S3 Versioning, you can preserve, retrieve, and restore every version of every object stored in your buckets. You can recover from both unintended user actions and application failures.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.44.0](service/sagemaker/CHANGELOG.md#v1440-2022-09-21)
- * **Feature**: SageMaker now allows customization on Canvas Application settings, including enabling/disabling time-series forecasting and specifying an Amazon Forecast execution role at both the Domain and UserProfile levels.
-
-# Release (2022-09-20)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.16.16
- * **Documentation**: added clafirfication on the Credential object to show usage of loadDefaultConfig to load credentials
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.58.0](service/ec2/CHANGELOG.md#v1580-2022-09-20)
- * **Feature**: This release adds support for blocked paths to Amazon VPC Reachability Analyzer.
-
-# Release (2022-09-19)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.18.0](service/cloudtrail/CHANGELOG.md#v1180-2022-09-19)
- * **Feature**: This release includes support for importing existing trails into CloudTrail Lake.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.57.0](service/ec2/CHANGELOG.md#v1570-2022-09-19)
- * **Feature**: This release adds CapacityAllocations field to DescribeCapacityReservations
-* `github.com/aws/aws-sdk-go-v2/service/mediaconnect`: [v1.17.0](service/mediaconnect/CHANGELOG.md#v1170-2022-09-19)
- * **Feature**: This change allows the customer to use the SRT Caller protocol as part of their flows
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.26.0](service/rds/CHANGELOG.md#v1260-2022-09-19)
- * **Feature**: This release adds support for Amazon RDS Proxy with SQL Server compatibility.
-
-# Release (2022-09-16)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/codestarnotifications`: [v1.13.0](service/codestarnotifications/CHANGELOG.md#v1130-2022-09-16)
- * **Feature**: This release adds tag based access control for the UntagResource API.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.18.21](service/ecs/CHANGELOG.md#v11821-2022-09-16)
- * **Documentation**: This release supports new task definition sizes.
-
-# Release (2022-09-15)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.17.0](service/dynamodb/CHANGELOG.md#v1170-2022-09-15)
- * **Feature**: Increased DynamoDB transaction limit from 25 to 100.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.56.0](service/ec2/CHANGELOG.md#v1560-2022-09-15)
- * **Feature**: This feature allows customers to create tags for vpc-endpoint-connections and vpc-endpoint-service-permissions.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.43.0](service/sagemaker/CHANGELOG.md#v1430-2022-09-15)
- * **Feature**: Amazon SageMaker Automatic Model Tuning now supports specifying Hyperband strategy for tuning jobs, which uses a multi-fidelity based tuning strategy to stop underperforming hyperparameter configurations early.
-
-# Release (2022-09-14)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/feature/rds/auth`: [v1.2.0](feature/rds/auth/CHANGELOG.md#v120-2022-09-14)
- * **Feature**: Updated `BuildAuthToken` to validate the provided endpoint contains a port.
-* `github.com/aws/aws-sdk-go-v2/internal/v4a`: [v1.0.13](internal/v4a/CHANGELOG.md#v1013-2022-09-14)
- * **Bug Fix**: Fixes an issues where an error from an underlying SigV4 credential provider would not be surfaced from the SigV4a credential provider. Contribution by [sakthipriyan-aqfer](https://github.com/sakthipriyan-aqfer).
-* `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.18.0](service/acmpca/CHANGELOG.md#v1180-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder`: [v1.7.0](service/amplifyuibuilder/CHANGELOG.md#v170-2022-09-14)
- * **Feature**: Amplify Studio UIBuilder is introducing forms functionality. Forms can be configured from Data Store models, JSON, or from scratch. These forms can then be generated in your project and used like any other React components.
-* `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.14.0](service/appconfig/CHANGELOG.md#v1140-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.17.0](service/appflow/CHANGELOG.md#v1170-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/appmesh`: [v1.16.0](service/appmesh/CHANGELOG.md#v1160-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.17.0](service/cloudtrail/CHANGELOG.md#v1170-2022-09-14)
- * **Feature**: This release adds CloudTrail getChannel and listChannels APIs to allow customer to view the ServiceLinkedChannel configurations.
-* `github.com/aws/aws-sdk-go-v2/service/codestar`: [v1.12.0](service/codestar/CHANGELOG.md#v1120-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/codestarnotifications`: [v1.12.0](service/codestarnotifications/CHANGELOG.md#v1120-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentity`: [v1.14.0](service/cognitoidentity/CHANGELOG.md#v1140-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.20.0](service/cognitoidentityprovider/CHANGELOG.md#v1200-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.26.0](service/configservice/CHANGELOG.md#v1260-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.30.0](service/connect/CHANGELOG.md#v1300-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/connectparticipant`: [v1.12.0](service/connectparticipant/CHANGELOG.md#v1120-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.20.0](service/costexplorer/CHANGELOG.md#v1200-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.19.0](service/customerprofiles/CHANGELOG.md#v1190-2022-09-14)
- * **Feature**: Added isUnstructured in response for Customer Profiles Integration APIs
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/dataexchange`: [v1.16.0](service/dataexchange/CHANGELOG.md#v1160-2022-09-14)
- * **Feature**: Documentation updates for AWS Data Exchange.
-* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.8.0](service/drs/CHANGELOG.md#v180-2022-09-14)
- * **Feature**: Fixed the data type of lagDuration that is returned in Describe Source Server API
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.55.0](service/ec2/CHANGELOG.md#v1550-2022-09-14)
- * **Feature**: Documentation updates for Amazon EC2.
- * **Feature**: This release adds support to send VPC Flow Logs to kinesis-data-firehose as new destination type
- * **Feature**: This update introduces API operations to manage and create local gateway route tables, CoIP pools, and VIF group associations.
- * **Feature**: Two new features for local gateway route tables: support for static routes targeting Elastic Network Interfaces and direct VPC routing.
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.22.0](service/eks/CHANGELOG.md#v1220-2022-09-14)
- * **Feature**: Adding support for local Amazon EKS clusters on Outposts
- * **Feature**: Adds support for EKS Addons ResolveConflicts "preserve" flag. Also adds new update failed status for EKS Addons.
-* `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.14.0](service/emrcontainers/CHANGELOG.md#v1140-2022-09-14)
- * **Feature**: EMR on EKS now allows running Spark SQL using the newly introduced Spark SQL Job Driver in the Start Job Run API
-* `github.com/aws/aws-sdk-go-v2/service/emrserverless`: [v1.2.0](service/emrserverless/CHANGELOG.md#v120-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/evidently`: [v1.9.0](service/evidently/CHANGELOG.md#v190-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
- * **Feature**: This release adds support for the client-side evaluation - powered by AWS AppConfig feature.
-* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.13.0](service/finspacedata/CHANGELOG.md#v1130-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/fis`: [v1.13.0](service/fis/CHANGELOG.md#v1130-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.24.12](service/fsx/CHANGELOG.md#v12412-2022-09-14)
- * **Documentation**: Documentation update for Amazon FSx.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.31.0](service/glue/CHANGELOG.md#v1310-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.18.0](service/greengrassv2/CHANGELOG.md#v1180-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.15.3](service/identitystore/CHANGELOG.md#v1153-2022-09-14)
- * **Documentation**: Documentation updates for the Identity Store CLI Reference.
-* `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.20.0](service/imagebuilder/CHANGELOG.md#v1200-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.8.0](service/inspector2/CHANGELOG.md#v180-2022-09-14)
- * **Feature**: This release adds new fields like fixAvailable, fixedInVersion and remediation to the finding model. The requirement to have vulnerablePackages in the finding model has also been removed. The documentation has been updated to reflect these changes.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.29.0](service/iot/CHANGELOG.md#v1290-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/iotanalytics`: [v1.13.0](service/iotanalytics/CHANGELOG.md#v1130-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/iotsecuretunneling`: [v1.14.0](service/iotsecuretunneling/CHANGELOG.md#v1140-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.25.0](service/iotsitewise/CHANGELOG.md#v1250-2022-09-14)
- * **Feature**: Allow specifying units in Asset Properties
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.34.0](service/kendra/CHANGELOG.md#v1340-2022-09-14)
- * **Feature**: This release enables our customer to choose the option of Sharepoint 2019 for the on-premise Sharepoint connector.
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.24.0](service/lexmodelsv2/CHANGELOG.md#v1240-2022-09-14)
- * **Feature**: This release is for supporting Composite Slot Type feature in AWS Lex V2. Composite Slot Type will help developer to logically group coherent slots and maintain their inter-relationships in runtime conversation.
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.15.0](service/lexruntimev2/CHANGELOG.md#v1150-2022-09-14)
- * **Feature**: This release is for supporting Composite Slot Type feature in AWS Lex V2. Composite Slot Type will help developer to logically group coherent slots and maintain their inter-relationships in runtime conversation.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.18.0](service/lookoutmetrics/CHANGELOG.md#v1180-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
- * **Feature**: Release dimension value filtering feature to allow customers to define dimension filters for including only a subset of their dataset to be used by LookoutMetrics.
-* `github.com/aws/aws-sdk-go-v2/service/m2`: [v1.1.0](service/m2/CHANGELOG.md#v110-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.23.0](service/medialive/CHANGELOG.md#v1230-2022-09-14)
- * **Feature**: This change exposes API settings which allow Dolby Atmos and Dolby Vision to be used when running a channel using Elemental Media Live
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.19.0](service/networkfirewall/CHANGELOG.md#v1190-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/pi`: [v1.15.0](service/pi/CHANGELOG.md#v1150-2022-09-14)
- * **Feature**: Increases the maximum values of two RDS Performance Insights APIs. The maximum value of the Limit parameter of DimensionGroup is 25. The MaxResult maximum is now 25 for the following APIs: DescribeDimensionKeys, GetResourceMetrics, ListAvailableResourceDimensions, and ListAvailableResourceMetrics.
-* `github.com/aws/aws-sdk-go-v2/service/pricing`: [v1.17.0](service/pricing/CHANGELOG.md#v1170-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.25.0](service/quicksight/CHANGELOG.md#v1250-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.26.9](service/redshift/CHANGELOG.md#v1269-2022-09-14)
- * **Documentation**: This release updates documentation for AQUA features and other description updates.
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.22.0](service/route53/CHANGELOG.md#v1220-2022-09-14)
- * **Feature**: Amazon Route 53 now supports the Middle East (UAE) Region (me-central-1) for latency records, geoproximity records, and private DNS for Amazon VPCs in that region.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycluster`: [v1.10.0](service/route53recoverycluster/CHANGELOG.md#v1100-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.22.0](service/s3control/CHANGELOG.md#v1220-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.42.0](service/sagemaker/CHANGELOG.md#v1420-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
- * **Feature**: SageMaker Hosting now allows customization on ML instance storage volume size, model data download timeout and inference container startup ping health check timeout for each ProductionVariant in CreateEndpointConfig API.
- * **Feature**: This release adds HyperParameterTuningJob type in Search API.
- * **Feature**: This release adds Mode to AutoMLJobConfig.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakera2iruntime`: [v1.14.0](service/sagemakera2iruntime/CHANGELOG.md#v1140-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.16.0](service/secretsmanager/CHANGELOG.md#v1160-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry`: [v1.14.0](service/servicecatalogappregistry/CHANGELOG.md#v1140-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/sfn`: [v1.14.0](service/sfn/CHANGELOG.md#v1140-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.18.0](service/sns/CHANGELOG.md#v1180-2022-09-14)
- * **Feature**: Amazon SNS introduces the Data Protection Policy APIs, which enable customers to attach a data protection policy to an SNS topic. This allows topic owners to enable the new message data protection feature to audit and block sensitive data that is exchanged through their topics.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.28.0](service/ssm/CHANGELOG.md#v1280-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
- * **Feature**: This release adds support for Systems Manager State Manager Association tagging.
-* `github.com/aws/aws-sdk-go-v2/service/timestreamwrite`: [v1.14.0](service/timestreamwrite/CHANGELOG.md#v1140-2022-09-14)
- * **Feature**: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.22.0](service/transfer/CHANGELOG.md#v1220-2022-09-14)
- * **Feature**: This release introduces the ability to have multiple server host keys for any of your Transfer Family servers that use the SFTP protocol.
-
-# Release (2022-09-02.2)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.15.2](service/identitystore/CHANGELOG.md#v1152-2022-09-022)
- * **Bug Fix**: Reverts a change to the identitystore module so that MaxResults members of ListGroupMemberShips, ListGroupMembershipsForMembers, ListGroups, and ListUsers are correctly generated as pointer types instead of value types
-
-# Release (2022-09-02)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.19.0](service/cognitoidentityprovider/CHANGELOG.md#v1190-2022-09-02)
- * **Feature**: This release adds a new "AuthSessionValidity" field to the UserPoolClient in Cognito. Application admins can configure this value for their users' authentication duration, which is currently fixed at 3 minutes, up to 15 minutes. Setting this field will also apply to the SMS MFA authentication flow.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.29.0](service/connect/CHANGELOG.md#v1290-2022-09-02)
- * **Feature**: This release adds search APIs for Routing Profiles and Queues, which can be used to search for those resources within a Connect Instance.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackage`: [v1.19.0](service/mediapackage/CHANGELOG.md#v1190-2022-09-02)
- * **Feature**: Added support for AES_CTR encryption to CMAF origin endpoints
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.41.0](service/sagemaker/CHANGELOG.md#v1410-2022-09-02)
- * **Feature**: This release enables administrators to attribute user activity and API calls from Studio notebooks, Data Wrangler and Canvas to specific users even when users share the same execution IAM role. ExecutionRoleIdentityConfig at Sagemaker domain level enables this feature.
-
-# Release (2022-09-01)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/codegurureviewer`: [v1.16.11](service/codegurureviewer/CHANGELOG.md#v11611-2022-09-01)
- * **Documentation**: Documentation updates to fix formatting issues in CLI and SDK documentation.
-* `github.com/aws/aws-sdk-go-v2/service/controltower`: [v1.0.0](service/controltower/CHANGELOG.md#v100-2022-09-01)
- * **Release**: New AWS service client module
- * **Feature**: This release contains the first SDK for AWS Control Tower. It introduces a new set of APIs: EnableControl, DisableControl, GetControlOperation, and ListEnabledControls.
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.21.10](service/route53/CHANGELOG.md#v12110-2022-09-01)
- * **Documentation**: Documentation updates for Amazon Route 53.
-
-# Release (2022-08-31)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.20.2](service/cloudfront/CHANGELOG.md#v1202-2022-08-31)
- * **Documentation**: Update API documentation for CloudFront origin access control (OAC)
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.15.0](service/identitystore/CHANGELOG.md#v1150-2022-08-31)
- * **Feature**: Expand IdentityStore API to support Create, Read, Update, Delete and Get operations for User, Group and GroupMembership resources.
-* `github.com/aws/aws-sdk-go-v2/service/iotthingsgraph`: [v1.13.0](service/iotthingsgraph/CHANGELOG.md#v1130-2022-08-31)
- * **Feature**: This release deprecates all APIs of the ThingsGraph service
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.18.0](service/ivs/CHANGELOG.md#v1180-2022-08-31)
- * **Feature**: IVS Merge Fragmented Streams. This release adds support for recordingReconnectWindow field in IVS recordingConfigurations. For more information see https://docs.aws.amazon.com/ivs/latest/APIReference/Welcome.html
-* `github.com/aws/aws-sdk-go-v2/service/rdsdata`: [v1.12.12](service/rdsdata/CHANGELOG.md#v11212-2022-08-31)
- * **Documentation**: Documentation updates for RDS Data API
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.40.0](service/sagemaker/CHANGELOG.md#v1400-2022-08-31)
- * **Feature**: SageMaker Inference Recommender now accepts Inference Recommender fields: Domain, Task, Framework, SamplePayloadUrl, SupportedContentTypes, SupportedInstanceTypes, directly in our CreateInferenceRecommendationsJob API through ContainerConfig
-
-# Release (2022-08-30)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.17.0](service/greengrassv2/CHANGELOG.md#v1170-2022-08-30)
- * **Feature**: Adds topologyFilter to ListInstalledComponentsRequest which allows filtration of components by ROOT or ALL (including root and dependency components). Adds lastStatusChangeTimestamp to ListInstalledComponents response to show the last time a component changed state on a device.
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.14.15](service/identitystore/CHANGELOG.md#v11415-2022-08-30)
- * **Documentation**: Documentation updates for the Identity Store CLI Reference.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutequipment`: [v1.15.0](service/lookoutequipment/CHANGELOG.md#v1150-2022-08-30)
- * **Feature**: This release adds new apis for providing labels.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.23.0](service/macie2/CHANGELOG.md#v1230-2022-08-30)
- * **Feature**: This release of the Amazon Macie API adds support for using allow lists to define specific text and text patterns to ignore when inspecting data sources for sensitive data.
-* `github.com/aws/aws-sdk-go-v2/service/sso`: [v1.11.19](service/sso/CHANGELOG.md#v11119-2022-08-30)
- * **Documentation**: Documentation updates for the AWS IAM Identity Center Portal CLI Reference.
-* `github.com/aws/aws-sdk-go-v2/service/ssoadmin`: [v1.15.7](service/ssoadmin/CHANGELOG.md#v1157-2022-08-30)
- * **Documentation**: Documentation updates for the AWS IAM Identity Center CLI Reference.
-
-# Release (2022-08-29)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.24.9](service/fsx/CHANGELOG.md#v1249-2022-08-29)
- * **Documentation**: Documentation updates for Amazon FSx for NetApp ONTAP.
-* `github.com/aws/aws-sdk-go-v2/service/voiceid`: [v1.11.0](service/voiceid/CHANGELOG.md#v1110-2022-08-29)
- * **Feature**: Amazon Connect Voice ID now detects voice spoofing. When a prospective fraudster tries to spoof caller audio using audio playback or synthesized speech, Voice ID will return a risk score and outcome to indicate the how likely it is that the voice is spoofed.
-
-# Release (2022-08-26)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/mediapackage`: [v1.18.0](service/mediapackage/CHANGELOG.md#v1180-2022-08-26)
- * **Feature**: This release adds Ads AdTriggers and AdsOnDeliveryRestrictions to describe calls for CMAF endpoints on MediaPackage.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.25.1](service/rds/CHANGELOG.md#v1251-2022-08-26)
- * **Documentation**: Removes support for RDS Custom from DBInstanceClass in ModifyDBInstance
-
-# Release (2022-08-25)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.18.13](service/elasticloadbalancingv2/CHANGELOG.md#v11813-2022-08-25)
- * **Documentation**: Documentation updates for ELBv2. Gateway Load Balancer now supports Configurable Flow Stickiness, enabling you to configure the hashing used to maintain stickiness of flows to a specific target appliance.
-* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.15.0](service/gamelift/CHANGELOG.md#v1150-2022-08-25)
- * **Feature**: This release adds support for eight EC2 local zones as fleet locations; Atlanta, Chicago, Dallas, Denver, Houston, Kansas City (us-east-1-mci-1a), Los Angeles, and Phoenix. It also adds support for C5d, C6a, C6i, and R5d EC2 instance families.
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.22.0](service/iotwireless/CHANGELOG.md#v1220-2022-08-25)
- * **Feature**: This release includes a new feature for the customers to enable the LoRa gateways to send out beacons for Class B devices and an option to select one or more gateways for Class C devices when sending the LoRaWAN downlink messages.
-* `github.com/aws/aws-sdk-go-v2/service/ivschat`: [v1.0.13](service/ivschat/CHANGELOG.md#v1013-2022-08-25)
- * **Documentation**: Documentation change for IVS Chat API Reference. Doc-only update to add a paragraph on ARNs to the Welcome section.
-* `github.com/aws/aws-sdk-go-v2/service/panorama`: [v1.8.0](service/panorama/CHANGELOG.md#v180-2022-08-25)
- * **Feature**: Support sorting and filtering in ListDevices API, and add more fields to device listings and single device detail
-* `github.com/aws/aws-sdk-go-v2/service/ssooidc`: [v1.13.0](service/ssooidc/CHANGELOG.md#v1130-2022-08-25)
- * **Feature**: Updated required request parameters on IAM Identity Center's OIDC CreateToken action.
-
-# Release (2022-08-24)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.20.0](service/cloudfront/CHANGELOG.md#v1200-2022-08-24)
- * **Feature**: Adds support for CloudFront origin access control (OAC), making it possible to restrict public access to S3 bucket origins in all AWS Regions, those with SSE-KMS, and more.
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.25.0](service/configservice/CHANGELOG.md#v1250-2022-08-24)
- * **Feature**: AWS Config now supports ConformancePackTemplate documents in SSM Docs for the deployment and update of conformance packs.
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.18.14](service/iam/CHANGELOG.md#v11814-2022-08-24)
- * **Documentation**: Documentation updates for AWS Identity and Access Management (IAM).
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.17.1](service/ivs/CHANGELOG.md#v1171-2022-08-24)
- * **Documentation**: Documentation Change for IVS API Reference - Doc-only update to type field description for CreateChannel and UpdateChannel actions and for Channel data type. Also added Amazon Resource Names (ARNs) paragraph to Welcome section.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.24.0](service/quicksight/CHANGELOG.md#v1240-2022-08-24)
- * **Feature**: Added a new optional property DashboardVisual under ExperienceConfiguration parameter of GenerateEmbedUrlForAnonymousUser and GenerateEmbedUrlForRegisteredUser API operations. This supports embedding of specific visuals in QuickSight dashboards.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.21.5](service/transfer/CHANGELOG.md#v1215-2022-08-24)
- * **Documentation**: Documentation updates for AWS Transfer Family
-
-# Release (2022-08-23)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.25.0](service/rds/CHANGELOG.md#v1250-2022-08-23)
- * **Feature**: RDS for Oracle supports Oracle Data Guard switchover and read replica backups.
-* `github.com/aws/aws-sdk-go-v2/service/ssoadmin`: [v1.15.5](service/ssoadmin/CHANGELOG.md#v1155-2022-08-23)
- * **Documentation**: Documentation updates to reflect service rename - AWS IAM Identity Center (successor to AWS Single Sign-On)
-
-# Release (2022-08-22)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.19.5](service/docdb/CHANGELOG.md#v1195-2022-08-22)
- * **Documentation**: Update document for volume clone
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.54.0](service/ec2/CHANGELOG.md#v1540-2022-08-22)
- * **Feature**: R6a instances are powered by 3rd generation AMD EPYC (Milan) processors delivering all-core turbo frequency of 3.6 GHz. C6id, M6id, and R6id instances are powered by 3rd generation Intel Xeon Scalable processor (Ice Lake) delivering all-core turbo frequency of 3.5 GHz.
-* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.23.0](service/forecast/CHANGELOG.md#v1230-2022-08-22)
- * **Feature**: releasing What-If Analysis APIs and update ARN regex pattern to be more strict in accordance with security recommendation
-* `github.com/aws/aws-sdk-go-v2/service/forecastquery`: [v1.12.0](service/forecastquery/CHANGELOG.md#v1120-2022-08-22)
- * **Feature**: releasing What-If Analysis APIs
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.24.0](service/iotsitewise/CHANGELOG.md#v1240-2022-08-22)
- * **Feature**: Enable non-unique asset names under different hierarchies
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.23.0](service/lexmodelsv2/CHANGELOG.md#v1230-2022-08-22)
- * **Feature**: This release introduces a new feature to stop a running BotRecommendation Job for Automated Chatbot Designer.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.23.0](service/securityhub/CHANGELOG.md#v1230-2022-08-22)
- * **Feature**: Added new resource details objects to ASFF, including resources for AwsBackupBackupVault, AwsBackupBackupPlan and AwsBackupRecoveryPoint. Added FixAvailable, FixedInVersion and Remediation to Vulnerability.
-* `github.com/aws/aws-sdk-go-v2/service/supportapp`: [v1.0.0](service/supportapp/CHANGELOG.md#v100-2022-08-22)
- * **Release**: New AWS service client module
- * **Feature**: This is the initial SDK release for the AWS Support App in Slack.
-
-# Release (2022-08-19)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.28.0](service/connect/CHANGELOG.md#v1280-2022-08-19)
- * **Feature**: This release adds SearchSecurityProfiles API which can be used to search for Security Profile resources within a Connect Instance.
-* `github.com/aws/aws-sdk-go-v2/service/ivschat`: [v1.0.12](service/ivschat/CHANGELOG.md#v1012-2022-08-19)
- * **Documentation**: Documentation Change for IVS Chat API Reference - Doc-only update to change text/description for tags field.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.33.0](service/kendra/CHANGELOG.md#v1330-2022-08-19)
- * **Feature**: This release adds support for a new authentication type - Personal Access Token (PAT) for confluence server.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.17.0](service/lookoutmetrics/CHANGELOG.md#v1170-2022-08-19)
- * **Feature**: This release is to make GetDataQualityMetrics API publicly available.
-
-# Release (2022-08-18)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines`: [v1.1.0](service/chimesdkmediapipelines/CHANGELOG.md#v110-2022-08-18)
- * **Feature**: The Amazon Chime SDK now supports live streaming of real-time video from the Amazon Chime SDK sessions to streaming platforms such as Amazon IVS and Amazon Elemental MediaLive. We have also added support for concatenation to create a single media capture file.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.21.0](service/cloudwatch/CHANGELOG.md#v1210-2022-08-18)
- * **Feature**: Add support for managed Contributor Insights Rules
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.18.4](service/cognitoidentityprovider/CHANGELOG.md#v1184-2022-08-18)
- * **Documentation**: This change is being made simply to fix the public documentation based on the models. We have included the PasswordChange and ResendCode events, along with the Pass, Fail and InProgress status. We have removed the Success and Failure status which are never returned by our APIs.
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.16.0](service/dynamodb/CHANGELOG.md#v1160-2022-08-18)
- * **Feature**: This release adds support for importing data from S3 into a new DynamoDB table
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.53.0](service/ec2/CHANGELOG.md#v1530-2022-08-18)
- * **Feature**: This release adds support for VPN log options , a new feature allowing S2S VPN connections to send IKE activity logs to CloudWatch Logs
-* `github.com/aws/aws-sdk-go-v2/service/networkmanager`: [v1.15.0](service/networkmanager/CHANGELOG.md#v1150-2022-08-18)
- * **Feature**: Add TransitGatewayPeeringAttachmentId property to TransitGatewayPeering Model
-
-# Release (2022-08-17)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appmesh`: [v1.15.0](service/appmesh/CHANGELOG.md#v1150-2022-08-17)
- * **Feature**: AWS App Mesh release to support Multiple Listener and Access Log Format feature
-* `github.com/aws/aws-sdk-go-v2/service/connectcampaigns`: [v1.1.0](service/connectcampaigns/CHANGELOG.md#v110-2022-08-17)
- * **Feature**: Updated exceptions for Amazon Connect Outbound Campaign api's.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.32.0](service/kendra/CHANGELOG.md#v1320-2022-08-17)
- * **Feature**: This release adds Zendesk connector (which allows you to specify Zendesk SAAS platform as data source), Proxy Support for Sharepoint and Confluence Server (which allows you to specify the proxy configuration if proxy is required to connect to your Sharepoint/Confluence Server as data source).
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.17.0](service/lakeformation/CHANGELOG.md#v1170-2022-08-17)
- * **Feature**: This release adds a new API support "AssumeDecoratedRoleWithSAML" and also release updates the corresponding documentation.
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.24.0](service/lambda/CHANGELOG.md#v1240-2022-08-17)
- * **Feature**: Added support for customization of Consumer Group ID for MSK and Kafka Event Source Mappings.
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.22.0](service/lexmodelsv2/CHANGELOG.md#v1220-2022-08-17)
- * **Feature**: This release introduces support for enhanced conversation design with the ability to define custom conversation flows with conditional branching and new bot responses.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.24.0](service/rds/CHANGELOG.md#v1240-2022-08-17)
- * **Feature**: Adds support for Internet Protocol Version 6 (IPv6) for RDS Aurora database clusters.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.15.18](service/secretsmanager/CHANGELOG.md#v11518-2022-08-17)
- * **Documentation**: Documentation updates for Secrets Manager.
-
-# Release (2022-08-16)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.20.0](service/rekognition/CHANGELOG.md#v1200-2022-08-16)
- * **Feature**: This release adds APIs which support copying an Amazon Rekognition Custom Labels model and managing project policies across AWS account.
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.14.12](service/servicecatalog/CHANGELOG.md#v11412-2022-08-16)
- * **Documentation**: Documentation updates for Service Catalog
-
-# Release (2022-08-15)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.19.0](service/cloudfront/CHANGELOG.md#v1190-2022-08-15)
- * **Feature**: Adds Http 3 support to distributions
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.14.13](service/identitystore/CHANGELOG.md#v11413-2022-08-15)
- * **Documentation**: Documentation updates to reflect service rename - AWS IAM Identity Center (successor to AWS Single Sign-On)
-* `github.com/aws/aws-sdk-go-v2/service/sso`: [v1.11.17](service/sso/CHANGELOG.md#v11117-2022-08-15)
- * **Documentation**: Documentation updates to reflect service rename - AWS IAM Identity Center (successor to AWS Single Sign-On)
-* `github.com/aws/aws-sdk-go-v2/service/wisdom`: [v1.9.0](service/wisdom/CHANGELOG.md#v190-2022-08-15)
- * **Feature**: This release introduces a new API PutFeedback that allows submitting feedback to Wisdom on content relevance.
-
-# Release (2022-08-14)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.17.0](config/CHANGELOG.md#v1170-2022-08-14)
- * **Feature**: Add alternative mechanism for determning the users `$HOME` or `%USERPROFILE%` location when the environment variables are not present.
-* `github.com/aws/aws-sdk-go-v2/service/amp`: [v1.15.0](service/amp/CHANGELOG.md#v1150-2022-08-14)
- * **Feature**: This release adds log APIs that allow customers to manage logging for their Amazon Managed Service for Prometheus workspaces.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.11.0](service/chimesdkmessaging/CHANGELOG.md#v1110-2022-08-14)
- * **Feature**: The Amazon Chime SDK now supports channels with up to one million participants with elastic channels.
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.17.0](service/ivs/CHANGELOG.md#v1170-2022-08-14)
- * **Feature**: Updates various list api MaxResults ranges
-* `github.com/aws/aws-sdk-go-v2/service/personalizeruntime`: [v1.12.0](service/personalizeruntime/CHANGELOG.md#v1120-2022-08-14)
- * **Feature**: This release provides support for promotions in AWS Personalize runtime.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.23.6](service/rds/CHANGELOG.md#v1236-2022-08-14)
- * **Documentation**: Adds support for RDS Custom to DBInstanceClass in ModifyDBInstance
-
-# Release (2022-08-11)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/backupstorage`: [v1.0.0](service/backupstorage/CHANGELOG.md#v100-2022-08-11)
- * **Release**: New AWS service client module
- * **Feature**: This is the first public release of AWS Backup Storage. We are exposing some previously-internal APIs for use by external services. These APIs are not meant to be used directly by customers.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.30.0](service/glue/CHANGELOG.md#v1300-2022-08-11)
- * **Feature**: Add support for Python 3.9 AWS Glue Python Shell jobs
-* `github.com/aws/aws-sdk-go-v2/service/privatenetworks`: [v1.0.0](service/privatenetworks/CHANGELOG.md#v100-2022-08-11)
- * **Release**: New AWS service client module
- * **Feature**: This is the initial SDK release for AWS Private 5G. AWS Private 5G is a managed service that makes it easy to deploy, operate, and scale your own private mobile network at your on-premises location.
-
-# Release (2022-08-10)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.16.0](config/CHANGELOG.md#v1160-2022-08-10)
- * **Feature**: Adds support for the following settings in the `~/.aws/credentials` file: `sso_account_id`, `sso_region`, `sso_role_name`, `sso_start_url`, and `ca_bundle`.
-* `github.com/aws/aws-sdk-go-v2/service/dlm`: [v1.12.0](service/dlm/CHANGELOG.md#v1120-2022-08-10)
- * **Feature**: This release adds support for excluding specific data (non-boot) volumes from multi-volume snapshot sets created by snapshot lifecycle policies
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.52.0](service/ec2/CHANGELOG.md#v1520-2022-08-10)
- * **Feature**: This release adds support for excluding specific data (non-root) volumes from multi-volume snapshot sets created from instances.
-
-# Release (2022-08-09)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.20.0](service/cloudwatch/CHANGELOG.md#v1200-2022-08-09)
- * **Feature**: Various quota increases related to dimensions and custom metrics
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.18.0](service/location/CHANGELOG.md#v1180-2022-08-09)
- * **Feature**: Amazon Location Service now allows circular geofences in BatchPutGeofence, PutGeofence, and GetGeofence APIs.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.39.0](service/sagemaker/CHANGELOG.md#v1390-2022-08-09)
- * **Feature**: Amazon SageMaker Automatic Model Tuning now supports specifying multiple alternate EC2 instance types to make tuning jobs more robust when the preferred instance type is not available due to insufficient capacity.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakera2iruntime`: [v1.13.0](service/sagemakera2iruntime/CHANGELOG.md#v1130-2022-08-09)
- * **Feature**: Fix bug with parsing ISO-8601 CreationTime in Java SDK in DescribeHumanLoop
-
-# Release (2022-08-08)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.16.9
- * **Bug Fix**: aws/signer/v4: Fixes a panic in SDK's handling of endpoint URLs with ports by correcting how URL path is parsed from opaque URLs. Fixes [#1294](https://github.com/aws/aws-sdk-go-v2/issues/1294).
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.29.0](service/glue/CHANGELOG.md#v1290-2022-08-08)
- * **Feature**: Add an option to run non-urgent or non-time sensitive Glue Jobs on spare capacity
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.14.10](service/identitystore/CHANGELOG.md#v11410-2022-08-08)
- * **Documentation**: Documentation updates to reflect service rename - AWS IAM Identity Center (successor to AWS Single Sign-On)
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.21.0](service/iotwireless/CHANGELOG.md#v1210-2022-08-08)
- * **Feature**: AWS IoT Wireless release support for sidewalk data reliability.
-* `github.com/aws/aws-sdk-go-v2/service/pinpoint`: [v1.17.0](service/pinpoint/CHANGELOG.md#v1170-2022-08-08)
- * **Feature**: Adds support for Advance Quiet Time in Journeys. Adds RefreshOnSegmentUpdate and WaitForQuietTime to JourneyResponse.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.23.2](service/quicksight/CHANGELOG.md#v1232-2022-08-08)
- * **Documentation**: A series of documentation updates to the QuickSight API reference.
-* `github.com/aws/aws-sdk-go-v2/service/sso`: [v1.11.14](service/sso/CHANGELOG.md#v11114-2022-08-08)
- * **Documentation**: Documentation updates to reflect service rename - AWS IAM Identity Center (successor to AWS Single Sign-On)
-* `github.com/aws/aws-sdk-go-v2/service/ssoadmin`: [v1.15.2](service/ssoadmin/CHANGELOG.md#v1152-2022-08-08)
- * **Documentation**: Documentation updates to reflect service rename - AWS IAM Identity Center (successor to AWS Single Sign-On)
-* `github.com/aws/aws-sdk-go-v2/service/ssooidc`: [v1.12.12](service/ssooidc/CHANGELOG.md#v11212-2022-08-08)
- * **Documentation**: Documentation updates to reflect service rename - AWS IAM Identity Center (successor to AWS Single Sign-On)
-
-# Release (2022-08-04)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.13.0](service/chimesdkmeetings/CHANGELOG.md#v1130-2022-08-04)
- * **Feature**: Adds support for Tags on Amazon Chime SDK WebRTC sessions
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.24.0](service/configservice/CHANGELOG.md#v1240-2022-08-04)
- * **Feature**: Add resourceType enums for Athena, GlobalAccelerator, Detective and EC2 types
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.21.3](service/databasemigrationservice/CHANGELOG.md#v1213-2022-08-04)
- * **Documentation**: Documentation updates for Database Migration Service (DMS).
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.28.0](service/iot/CHANGELOG.md#v1280-2022-08-04)
- * **Feature**: The release is to support attach a provisioning template to CACert for JITP function, Customer now doesn't have to hardcode a roleArn and templateBody during register a CACert to enable JITP.
-
-# Release (2022-08-03)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.18.0](service/cognitoidentityprovider/CHANGELOG.md#v1180-2022-08-03)
- * **Feature**: Add a new exception type, ForbiddenException, that is returned when request is not allowed
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.22.0](service/wafv2/CHANGELOG.md#v1220-2022-08-03)
- * **Feature**: You can now associate an AWS WAF web ACL with an Amazon Cognito user pool.
-
-# Release (2022-08-02)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/licensemanagerusersubscriptions`: [v1.0.0](service/licensemanagerusersubscriptions/CHANGELOG.md#v100-2022-08-02)
- * **Release**: New AWS service client module
- * **Feature**: This release supports user based subscription for Microsoft Visual Studio Professional and Enterprise on EC2.
-* `github.com/aws/aws-sdk-go-v2/service/personalize`: [v1.21.0](service/personalize/CHANGELOG.md#v1210-2022-08-02)
- * **Feature**: This release adds support for incremental bulk ingestion for the Personalize CreateDatasetImportJob API.
-
-# Release (2022-08-01)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.23.1](service/configservice/CHANGELOG.md#v1231-2022-08-01)
- * **Documentation**: Documentation update for PutConfigRule and PutOrganizationConfigRule
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.22.0](service/workspaces/CHANGELOG.md#v1220-2022-08-01)
- * **Feature**: This release introduces ModifySamlProperties, a new API that allows control of SAML properties associated with a WorkSpaces directory. The DescribeWorkspaceDirectories API will now additionally return SAML properties in its responses.
-
-# Release (2022-07-29)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.51.0](service/ec2/CHANGELOG.md#v1510-2022-07-29)
- * **Feature**: Documentation updates for Amazon EC2.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.24.4](service/fsx/CHANGELOG.md#v1244-2022-07-29)
- * **Documentation**: Documentation updates for Amazon FSx
-* `github.com/aws/aws-sdk-go-v2/service/shield`: [v1.17.0](service/shield/CHANGELOG.md#v1170-2022-07-29)
- * **Feature**: AWS Shield Advanced now supports filtering for ListProtections and ListProtectionGroups.
-
-# Release (2022-07-28)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.50.1](service/ec2/CHANGELOG.md#v1501-2022-07-28)
- * **Documentation**: Documentation updates for VM Import/Export.
-* `github.com/aws/aws-sdk-go-v2/service/elasticsearchservice`: [v1.16.0](service/elasticsearchservice/CHANGELOG.md#v1160-2022-07-28)
- * **Feature**: This release adds support for gp3 EBS (Elastic Block Store) storage.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutvision`: [v1.14.0](service/lookoutvision/CHANGELOG.md#v1140-2022-07-28)
- * **Feature**: This release introduces support for image segmentation models and updates CPU accelerator options for models hosted on edge devices.
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.10.0](service/opensearch/CHANGELOG.md#v1100-2022-07-28)
- * **Feature**: This release adds support for gp3 EBS (Elastic Block Store) storage.
-
-# Release (2022-07-27)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.20.0](service/auditmanager/CHANGELOG.md#v1200-2022-07-27)
- * **Feature**: This release adds an exceeded quota exception to several APIs. We added a ServiceQuotaExceededException for the following operations: CreateAssessment, CreateControl, CreateAssessmentFramework, and UpdateAssessmentStatus.
-* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.21.0](service/chime/CHANGELOG.md#v1210-2022-07-27)
- * **Feature**: Chime VoiceConnector will now support ValidateE911Address which will allow customers to prevalidate their addresses included in their SIP invites for emergency calling
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.23.0](service/configservice/CHANGELOG.md#v1230-2022-07-27)
- * **Feature**: This release adds ListConformancePackComplianceScores API to support the new compliance score feature, which provides a percentage of the number of compliant rule-resource combinations in a conformance pack compared to the number of total possible rule-resource combinations in the conformance pack.
-* `github.com/aws/aws-sdk-go-v2/service/globalaccelerator`: [v1.14.0](service/globalaccelerator/CHANGELOG.md#v1140-2022-07-27)
- * **Feature**: Global Accelerator now supports dual-stack accelerators, enabling support for IPv4 and IPv6 traffic.
-* `github.com/aws/aws-sdk-go-v2/service/marketplacecatalog`: [v1.13.0](service/marketplacecatalog/CHANGELOG.md#v1130-2022-07-27)
- * **Feature**: The SDK for the StartChangeSet API will now automatically set and use an idempotency token in the ClientRequestToken request parameter if the customer does not provide it.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.17.0](service/polly/CHANGELOG.md#v1170-2022-07-27)
- * **Feature**: Amazon Polly adds new English and Hindi voice - Kajal. Kajal is available as Neural voice only.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.27.5](service/ssm/CHANGELOG.md#v1275-2022-07-27)
- * **Documentation**: Adding doc updates for OpsCenter support in Service Setting actions.
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.21.0](service/workspaces/CHANGELOG.md#v1210-2022-07-27)
- * **Feature**: Added CreateWorkspaceImage API to create a new WorkSpace image from an existing WorkSpace.
-
-# Release (2022-07-26)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.15.0](service/appsync/CHANGELOG.md#v1150-2022-07-26)
- * **Feature**: Adds support for a new API to evaluate mapping templates with mock data, allowing you to remotely unit test your AppSync resolvers and functions.
-* `github.com/aws/aws-sdk-go-v2/service/detective`: [v1.16.0](service/detective/CHANGELOG.md#v1160-2022-07-26)
- * **Feature**: Added the ability to get data source package information for the behavior graph. Graph administrators can now start (or stop) optional datasources on the behavior graph.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.15.0](service/guardduty/CHANGELOG.md#v1150-2022-07-26)
- * **Feature**: Amazon GuardDuty introduces a new Malware Protection feature that triggers malware scan on selected EC2 instance resources, after the service detects a potentially malicious activity.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutvision`: [v1.13.0](service/lookoutvision/CHANGELOG.md#v1130-2022-07-26)
- * **Feature**: This release introduces support for the automatic scaling of inference units used by Amazon Lookout for Vision models.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.22.0](service/macie2/CHANGELOG.md#v1220-2022-07-26)
- * **Feature**: This release adds support for retrieving (revealing) sample occurrences of sensitive data that Amazon Macie detects and reports in findings.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.23.1](service/rds/CHANGELOG.md#v1231-2022-07-26)
- * **Documentation**: Adds support for using RDS Proxies with RDS for MariaDB databases.
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.19.0](service/rekognition/CHANGELOG.md#v1190-2022-07-26)
- * **Feature**: This release introduces support for the automatic scaling of inference units used by Amazon Rekognition Custom Labels models.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.22.3](service/securityhub/CHANGELOG.md#v1223-2022-07-26)
- * **Documentation**: Documentation updates for AWS Security Hub
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.21.0](service/transfer/CHANGELOG.md#v1210-2022-07-26)
- * **Feature**: AWS Transfer Family now supports Applicability Statement 2 (AS2), a network protocol used for the secure and reliable transfer of critical Business-to-Business (B2B) data over the public internet using HTTP/HTTPS as the transport mechanism.
-
-# Release (2022-07-25)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.23.6](service/autoscaling/CHANGELOG.md#v1236-2022-07-25)
- * **Documentation**: Documentation update for Amazon EC2 Auto Scaling.
-
-# Release (2022-07-22)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/account`: [v1.7.0](service/account/CHANGELOG.md#v170-2022-07-22)
- * **Feature**: This release enables customers to manage the primary contact information for their AWS accounts. For more information, see https://docs.aws.amazon.com/accounts/latest/reference/API_Operations.html
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.50.0](service/ec2/CHANGELOG.md#v1500-2022-07-22)
- * **Feature**: Added support for EC2 M1 Mac instances. For more information, please visit aws.amazon.com/mac.
-* `github.com/aws/aws-sdk-go-v2/service/iotdeviceadvisor`: [v1.15.0](service/iotdeviceadvisor/CHANGELOG.md#v1150-2022-07-22)
- * **Feature**: Added new service feature (Early access only) - Long Duration Test, where customers can test the IoT device to observe how it behaves when the device is in operation for longer period.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.22.0](service/medialive/CHANGELOG.md#v1220-2022-07-22)
- * **Feature**: Link devices now support remote rebooting. Link devices now support maintenance windows. Maintenance windows allow a Link device to install software updates without stopping the MediaLive channel. The channel will experience a brief loss of input from the device while updates are installed.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.23.0](service/rds/CHANGELOG.md#v1230-2022-07-22)
- * **Feature**: This release adds the "ModifyActivityStream" API with support for audit policy state locking and unlocking.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.21.0](service/transcribe/CHANGELOG.md#v1210-2022-07-22)
- * **Feature**: Remove unsupported language codes for StartTranscriptionJob and update VocabularyFileUri for UpdateMedicalVocabulary
-
-# Release (2022-07-21)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.18.0](service/athena/CHANGELOG.md#v1180-2022-07-21)
- * **Feature**: This feature allows customers to retrieve runtime statistics for completed queries
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.19.0](service/cloudwatch/CHANGELOG.md#v1190-2022-07-21)
- * **Feature**: Adding support for the suppression of Composite Alarm actions
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.21.1](service/databasemigrationservice/CHANGELOG.md#v1211-2022-07-21)
- * **Documentation**: Documentation updates for Database Migration Service (DMS).
-* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.19.0](service/docdb/CHANGELOG.md#v1190-2022-07-21)
- * **Feature**: Enable copy-on-write restore type
-* `github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect`: [v1.14.0](service/ec2instanceconnect/CHANGELOG.md#v1140-2022-07-21)
- * **Feature**: This release includes a new exception type "EC2InstanceUnavailableException" for SendSSHPublicKey and SendSerialConsoleSSHPublicKey APIs.
-* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.20.0](service/frauddetector/CHANGELOG.md#v1200-2022-07-21)
- * **Feature**: The release introduces Account Takeover Insights (ATI) model. The ATI model detects fraud relating to account takeover. This release also adds support for new variable types: ARE_CREDENTIALS_VALID and SESSION_ID and adds new structures to Model Version APIs.
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.23.0](service/iotsitewise/CHANGELOG.md#v1230-2022-07-21)
- * **Feature**: Added asynchronous API to ingest bulk historical and current data into IoT SiteWise.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.31.0](service/kendra/CHANGELOG.md#v1310-2022-07-21)
- * **Feature**: Amazon Kendra now provides Oauth2 support for SharePoint Online. For more information, see https://docs.aws.amazon.com/kendra/latest/dg/data-source-sharepoint.html
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.18.0](service/networkfirewall/CHANGELOG.md#v1180-2022-07-21)
- * **Feature**: Network Firewall now supports referencing dynamic IP sets from stateful rule groups, for IP sets stored in Amazon VPC prefix lists.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.22.1](service/rds/CHANGELOG.md#v1221-2022-07-21)
- * **Documentation**: Adds support for creating an RDS Proxy for an RDS for MariaDB database.
-
-# Release (2022-07-20)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.17.11](service/acmpca/CHANGELOG.md#v11711-2022-07-20)
- * **Documentation**: AWS Certificate Manager (ACM) Private Certificate Authority (PCA) documentation updates
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.27.0](service/iot/CHANGELOG.md#v1270-2022-07-20)
- * **Feature**: GA release the ability to enable/disable IoT Fleet Indexing for Device Defender and Named Shadow information, and search them through IoT Fleet Indexing APIs. This includes Named Shadow Selection as a part of the UpdateIndexingConfiguration API.
-
-# Release (2022-07-19)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.18.0](service/devopsguru/CHANGELOG.md#v1180-2022-07-19)
- * **Feature**: Added new APIs for log anomaly detection feature.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.28.1](service/glue/CHANGELOG.md#v1281-2022-07-19)
- * **Documentation**: Documentation updates for AWS Glue Job Timeout and Autoscaling
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.38.0](service/sagemaker/CHANGELOG.md#v1380-2022-07-19)
- * **Feature**: Fixed an issue with cross account QueryLineage
-* `github.com/aws/aws-sdk-go-v2/service/sagemakeredge`: [v1.12.0](service/sagemakeredge/CHANGELOG.md#v1120-2022-07-19)
- * **Feature**: Amazon SageMaker Edge Manager provides lightweight model deployment feature to deploy machine learning models on requested devices.
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.20.0](service/workspaces/CHANGELOG.md#v1200-2022-07-19)
- * **Feature**: Increased the character limit of the login message from 850 to 2000 characters.
-
-# Release (2022-07-18)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/applicationdiscoveryservice`: [v1.14.0](service/applicationdiscoveryservice/CHANGELOG.md#v1140-2022-07-18)
- * **Feature**: Add AWS Agentless Collector details to the GetDiscoverySummary API response
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.49.1](service/ec2/CHANGELOG.md#v1491-2022-07-18)
- * **Documentation**: Documentation updates for Amazon EC2.
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.22.0](service/elasticache/CHANGELOG.md#v1220-2022-07-18)
- * **Feature**: Adding AutoMinorVersionUpgrade in the DescribeReplicationGroups API
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.18.0](service/kms/CHANGELOG.md#v1180-2022-07-18)
- * **Feature**: Added support for the SM2 KeySpec in China Partition Regions
-* `github.com/aws/aws-sdk-go-v2/service/mediapackage`: [v1.17.0](service/mediapackage/CHANGELOG.md#v1170-2022-07-18)
- * **Feature**: This release adds "IncludeIframeOnlyStream" for Dash endpoints and increases the number of supported video and audio encryption presets for Speke v2
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.37.0](service/sagemaker/CHANGELOG.md#v1370-2022-07-18)
- * **Feature**: Amazon SageMaker Edge Manager provides lightweight model deployment feature to deploy machine learning models on requested devices.
-* `github.com/aws/aws-sdk-go-v2/service/ssoadmin`: [v1.15.0](service/ssoadmin/CHANGELOG.md#v1150-2022-07-18)
- * **Feature**: AWS SSO now supports attaching customer managed policies and a permissions boundary to your permission sets. This release adds new API operations to manage and view the customer managed policies and the permissions boundary for a given permission set.
-
-# Release (2022-07-15)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.18.3](service/datasync/CHANGELOG.md#v1183-2022-07-15)
- * **Documentation**: Documentation updates for AWS DataSync regarding configuring Amazon FSx for ONTAP location security groups and SMB user permissions.
-* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.7.0](service/drs/CHANGELOG.md#v170-2022-07-15)
- * **Feature**: Changed existing APIs to allow choosing a dynamic volume type for replicating volumes, to reduce costs for customers.
-* `github.com/aws/aws-sdk-go-v2/service/evidently`: [v1.8.0](service/evidently/CHANGELOG.md#v180-2022-07-15)
- * **Feature**: This release adds support for the new segmentation feature.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.21.0](service/wafv2/CHANGELOG.md#v1210-2022-07-15)
- * **Feature**: This SDK release provide customers ability to add sensitivity level for WAF SQLI Match Statements.
-
-# Release (2022-07-14)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.17.0](service/athena/CHANGELOG.md#v1170-2022-07-14)
- * **Feature**: This release updates data types that contain either QueryExecutionId, NamedQueryId or ExpectedBucketOwner. Ids must be between 1 and 128 characters and contain only non-whitespace characters. ExpectedBucketOwner must be 12-digit string.
-* `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.13.0](service/codeartifact/CHANGELOG.md#v1130-2022-07-14)
- * **Feature**: This release introduces Package Origin Controls, a mechanism used to counteract Dependency Confusion attacks. Adds two new APIs, PutPackageOriginConfiguration and DescribePackage, and updates the ListPackage, DescribePackageVersion and ListPackageVersion APIs in support of the feature.
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.22.0](service/configservice/CHANGELOG.md#v1220-2022-07-14)
- * **Feature**: Update ResourceType enum with values for Route53Resolver, Batch, DMS, Workspaces, Stepfunctions, SageMaker, ElasticLoadBalancingV2, MSK types
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.49.0](service/ec2/CHANGELOG.md#v1490-2022-07-14)
- * **Feature**: This release adds flow logs for Transit Gateway to allow customers to gain deeper visibility and insights into network traffic through their Transit Gateways.
-* `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.18.0](service/fms/CHANGELOG.md#v1180-2022-07-14)
- * **Feature**: Adds support for strict ordering in stateful rule groups in Network Firewall policies.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.28.0](service/glue/CHANGELOG.md#v1280-2022-07-14)
- * **Feature**: This release adds an additional worker type for Glue Streaming jobs.
-* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.7.0](service/inspector2/CHANGELOG.md#v170-2022-07-14)
- * **Feature**: This release adds support for Inspector V2 scan configurations through the get and update configuration APIs. Currently this allows configuring ECR automated re-scan duration to lifetime or 180 days or 30 days.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.30.0](service/kendra/CHANGELOG.md#v1300-2022-07-14)
- * **Feature**: This release adds AccessControlConfigurations which allow you to redefine your document level access control without the need for content re-indexing.
-* `github.com/aws/aws-sdk-go-v2/service/nimble`: [v1.13.0](service/nimble/CHANGELOG.md#v1130-2022-07-14)
- * **Feature**: Amazon Nimble Studio adds support for IAM-based access to AWS resources for Nimble Studio components and custom studio components. Studio Component scripts use these roles on Nimble Studio workstation to mount filesystems, access S3 buckets, or other configured resources in the Studio's AWS account
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.22.0](service/outposts/CHANGELOG.md#v1220-2022-07-14)
- * **Feature**: This release adds the ShipmentInformation and AssetInformationList fields to the GetOrder API response.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.36.0](service/sagemaker/CHANGELOG.md#v1360-2022-07-14)
- * **Feature**: This release adds support for G5, P4d, and C6i instance types in Amazon SageMaker Inference and increases the number of hyperparameters that can be searched from 20 to 30 in Amazon SageMaker Automatic Model Tuning
-
-# Release (2022-07-13)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.13.0](service/appconfig/CHANGELOG.md#v1130-2022-07-13)
- * **Feature**: Adding Create, Get, Update, Delete, and List APIs for new two new resources: Extensions and ExtensionAssociations.
-
-# Release (2022-07-12)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/networkmanager`: [v1.14.0](service/networkmanager/CHANGELOG.md#v1140-2022-07-12)
- * **Feature**: This release adds general availability API support for AWS Cloud WAN.
-
-# Release (2022-07-11)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.48.0](service/ec2/CHANGELOG.md#v1480-2022-07-11)
- * **Feature**: Build, manage, and monitor a unified global network that connects resources running across your cloud and on-premises environments using the AWS Cloud WAN APIs.
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.26.0](service/redshift/CHANGELOG.md#v1260-2022-07-11)
- * **Feature**: This release adds a new --snapshot-arn field for describe-cluster-snapshots, describe-node-configuration-options, restore-from-cluster-snapshot, authorize-snapshot-acsess, and revoke-snapshot-acsess APIs. It allows customers to give a Redshift snapshot ARN or a Redshift Serverless ARN as input.
-* `github.com/aws/aws-sdk-go-v2/service/redshiftserverless`: [v1.2.2](service/redshiftserverless/CHANGELOG.md#v122-2022-07-11)
- * **Documentation**: Removed prerelease language for GA launch.
-
-# Release (2022-07-08)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.17.0](service/backup/CHANGELOG.md#v1170-2022-07-08)
- * **Feature**: This release adds support for authentication using IAM user identity instead of passed IAM role, identified by excluding the IamRoleArn field in the StartRestoreJob API. This feature applies to only resource clients with a destructive restore nature (e.g. SAP HANA).
-
-# Release (2022-07-07)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.12.0](service/chimesdkmeetings/CHANGELOG.md#v1120-2022-07-07)
- * **Feature**: Adds support for AppKeys and TenantIds in Amazon Chime SDK WebRTC sessions
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.21.0](service/databasemigrationservice/CHANGELOG.md#v1210-2022-07-07)
- * **Feature**: New api to migrate event subscriptions to event bridge rules
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.26.0](service/iot/CHANGELOG.md#v1260-2022-07-07)
- * **Feature**: This release adds support to register a CA certificate without having to provide a verification certificate. This also allows multiple AWS accounts to register the same CA in the same region.
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.20.0](service/iotwireless/CHANGELOG.md#v1200-2022-07-07)
- * **Feature**: Adds 5 APIs: PutPositionConfiguration, GetPositionConfiguration, ListPositionConfigurations, UpdatePosition, GetPosition for the new Positioning Service feature which enables customers to configure solvers to calculate position of LoRaWAN devices, or specify position of LoRaWAN devices & gateways.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.35.0](service/sagemaker/CHANGELOG.md#v1350-2022-07-07)
- * **Feature**: Heterogeneous clusters: the ability to launch training jobs with multiple instance types. This enables running component of the training job on the instance type that is most suitable for it. e.g. doing data processing and augmentation on CPU instances and neural network training on GPU instances
-
-# Release (2022-07-06)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.22.0](service/cloudformation/CHANGELOG.md#v1220-2022-07-06)
- * **Feature**: My AWS Service (placeholder) - Add a new feature Account-level Targeting for StackSet operation
-* `github.com/aws/aws-sdk-go-v2/service/synthetics`: [v1.16.0](service/synthetics/CHANGELOG.md#v1160-2022-07-06)
- * **Feature**: This release introduces Group feature, which enables users to group cross-region canaries.
-
-# Release (2022-07-05)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.21.5](service/configservice/CHANGELOG.md#v1215-2022-07-05)
- * **Documentation**: Updating documentation service limits
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.21.0](service/lexmodelsv2/CHANGELOG.md#v1210-2022-07-05)
- * **Feature**: This release introduces additional optional parameters "messageSelectionStrategy" to PromptSpecification, which enables the users to configure the bot to play messages in orderly manner.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.23.0](service/quicksight/CHANGELOG.md#v1230-2022-07-05)
- * **Feature**: This release allows customers to programmatically create QuickSight accounts with Enterprise and Enterprise + Q editions. It also releases allowlisting domains for embedding QuickSight dashboards at runtime through the embedding APIs.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.22.0](service/rds/CHANGELOG.md#v1220-2022-07-05)
- * **Feature**: Adds waiters support for DBCluster.
-* `github.com/aws/aws-sdk-go-v2/service/rolesanywhere`: [v1.0.0](service/rolesanywhere/CHANGELOG.md#v100-2022-07-05)
- * **Release**: New AWS service client module
- * **Feature**: IAM Roles Anywhere allows your workloads such as servers, containers, and applications to obtain temporary AWS credentials and use the same IAM roles and policies that you have configured for your AWS workloads to access AWS resources.
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.19.0](service/sqs/CHANGELOG.md#v1190-2022-07-05)
- * **Feature**: Adds support for the SQS client to automatically validate message checksums for SendMessage, SendMessageBatch, and ReceiveMessage. A DisableMessageChecksumValidation parameter has been added to the Options struct for SQS package. Setting this to true will disable the checksum validation. This can be set when creating a client, or per operation call.
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.15.0](service/ssmincidents/CHANGELOG.md#v1150-2022-07-05)
- * **Feature**: Adds support for tagging incident-record on creation by providing incident tags in the template within a response-plan.
-
-# Release (2022-07-01)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.20.0](service/databasemigrationservice/CHANGELOG.md#v1200-2022-07-01)
- * **Feature**: Added new features for AWS DMS version 3.4.7 that includes new endpoint settings for S3, OpenSearch, Postgres, SQLServer and Oracle.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.21.5](service/rds/CHANGELOG.md#v1215-2022-07-01)
- * **Documentation**: Adds support for additional retention periods to Performance Insights.
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.27.0](service/s3/CHANGELOG.md#v1270-2022-07-01)
- * **Feature**: Add presign support for HeadBucket, DeleteObject, and DeleteBucket. Fixes [#1076](https://github.com/aws/aws-sdk-go-v2/issues/1076).
-
-# Release (2022-06-30)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.16.0](service/athena/CHANGELOG.md#v1160-2022-06-30)
- * **Feature**: This feature introduces the API support for Athena's parameterized query and BatchGetPreparedStatement API.
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.18.0](service/customerprofiles/CHANGELOG.md#v1180-2022-06-30)
- * **Feature**: This release adds the optional MinAllowedConfidenceScoreForMerging parameter to the CreateDomain, UpdateDomain, and GetAutoMergingPreview APIs in Customer Profiles. This parameter is used as a threshold to influence the profile auto-merging step of the Identity Resolution process.
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.20.0](service/emr/CHANGELOG.md#v1200-2022-06-30)
- * **Feature**: This release adds support for the ExecutionRoleArn parameter in the AddJobFlowSteps and DescribeStep APIs. Customers can use ExecutionRoleArn to specify the IAM role used for each job they submit using the AddJobFlowSteps API.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.27.0](service/glue/CHANGELOG.md#v1270-2022-06-30)
- * **Feature**: This release adds tag as an input of CreateDatabase
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.29.0](service/kendra/CHANGELOG.md#v1290-2022-06-30)
- * **Feature**: Amazon Kendra now provides a data source connector for alfresco
-* `github.com/aws/aws-sdk-go-v2/service/mwaa`: [v1.13.0](service/mwaa/CHANGELOG.md#v1130-2022-06-30)
- * **Feature**: Documentation updates for Amazon Managed Workflows for Apache Airflow.
-* `github.com/aws/aws-sdk-go-v2/service/pricing`: [v1.16.0](service/pricing/CHANGELOG.md#v1160-2022-06-30)
- * **Feature**: Documentation update for GetProducts Response.
-* `github.com/aws/aws-sdk-go-v2/service/wellarchitected`: [v1.16.0](service/wellarchitected/CHANGELOG.md#v1160-2022-06-30)
- * **Feature**: Added support for UpdateGlobalSettings API. Added status filter to ListWorkloadShares and ListLensShares.
-* `github.com/aws/aws-sdk-go-v2/service/workmail`: [v1.16.0](service/workmail/CHANGELOG.md#v1160-2022-06-30)
- * **Feature**: This release adds support for managing user availability configurations in Amazon WorkMail.
-
-# Release (2022-06-29)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.16.6
- * **Bug Fix**: Fix aws/signer/v4 to not double sign Content-Length header. Fixes [#1728](https://github.com/aws/aws-sdk-go-v2/issues/1728). Thanks to @matelang for creating the issue and PR.
-* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.17.0](service/appstream/CHANGELOG.md#v1170-2022-06-29)
- * **Feature**: Includes support for StreamingExperienceSettings in CreateStack and UpdateStack APIs
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.18.7](service/elasticloadbalancingv2/CHANGELOG.md#v1187-2022-06-29)
- * **Documentation**: This release adds two attributes for ALB. One, helps to preserve the host header and the other helps to modify, preserve, or remove the X-Forwarded-For header in the HTTP request.
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.19.0](service/emr/CHANGELOG.md#v1190-2022-06-29)
- * **Feature**: This release introduces additional optional parameter "Throughput" to VolumeSpecification to enable user to configure throughput for gp3 ebs volumes.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.21.0](service/medialive/CHANGELOG.md#v1210-2022-06-29)
- * **Feature**: This release adds support for automatic renewal of MediaLive reservations at the end of each reservation term. Automatic renewal is optional. This release also adds support for labelling accessibility-focused audio and caption tracks in HLS outputs.
-* `github.com/aws/aws-sdk-go-v2/service/redshiftserverless`: [v1.2.0](service/redshiftserverless/CHANGELOG.md#v120-2022-06-29)
- * **Feature**: Add new API operations for Amazon Redshift Serverless, a new way of using Amazon Redshift without needing to manually manage provisioned clusters. The new operations let you interact with Redshift Serverless resources, such as create snapshots, list VPC endpoints, delete resource policies, and more.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.34.0](service/sagemaker/CHANGELOG.md#v1340-2022-06-29)
- * **Feature**: This release adds: UpdateFeatureGroup, UpdateFeatureMetadata, DescribeFeatureMetadata APIs; FeatureMetadata type in Search API; LastModifiedTime, LastUpdateStatus, OnlineStoreTotalSizeBytes in DescribeFeatureGroup API.
-* `github.com/aws/aws-sdk-go-v2/service/translate`: [v1.14.0](service/translate/CHANGELOG.md#v1140-2022-06-29)
- * **Feature**: Added ListLanguages API which can be used to list the languages supported by Translate.
-
-# Release (2022-06-28)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.18.0](service/datasync/CHANGELOG.md#v1180-2022-06-28)
- * **Feature**: AWS DataSync now supports Amazon FSx for NetApp ONTAP locations.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.47.0](service/ec2/CHANGELOG.md#v1470-2022-06-28)
- * **Feature**: This release adds a new spread placement group to EC2 Placement Groups: host level spread, which spread instances between physical hosts, available to Outpost customers only. CreatePlacementGroup and DescribePlacementGroups APIs were updated with a new parameter: SpreadLevel to support this feature.
-* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.12.0](service/finspacedata/CHANGELOG.md#v1120-2022-06-28)
- * **Feature**: Release new API GetExternalDataViewAccessDetails
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.16.0](service/polly/CHANGELOG.md#v1160-2022-06-28)
- * **Feature**: Add 4 new neural voices - Pedro (es-US), Liam (fr-CA), Daniel (de-DE) and Arthur (en-GB).
-
-# Release (2022-06-24.2)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.13.7](service/emrcontainers/CHANGELOG.md#v1137-2022-06-242)
- * **Bug Fix**: Fixes bug with incorrect modeled timestamp format
-
-# Release (2022-06-23)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/lookoutequipment`: [v1.14.0](service/lookoutequipment/CHANGELOG.md#v1140-2022-06-23)
- * **Feature**: This release adds visualizations to the scheduled inference results. Users will be able to see interference results, including diagnostic results from their running inference schedulers.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.25.1](service/mediaconvert/CHANGELOG.md#v1251-2022-06-23)
- * **Documentation**: AWS Elemental MediaConvert SDK has released support for automatic DolbyVision metadata generation when converting HDR10 to DolbyVision.
-* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.15.0](service/mgn/CHANGELOG.md#v1150-2022-06-23)
- * **Feature**: New and modified APIs for the Post-Migration Framework
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubrefactorspaces`: [v1.6.0](service/migrationhubrefactorspaces/CHANGELOG.md#v160-2022-06-23)
- * **Feature**: This release adds the new API UpdateRoute that allows route to be updated to ACTIVE/INACTIVE state. In addition, CreateRoute API will now allow users to create route in ACTIVE/INACTIVE state.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.33.0](service/sagemaker/CHANGELOG.md#v1330-2022-06-23)
- * **Feature**: SageMaker Ground Truth now supports Virtual Private Cloud. Customers can launch labeling jobs and access to their private workforce in VPC mode.
-
-# Release (2022-06-22)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/apigateway`: [v1.15.8](service/apigateway/CHANGELOG.md#v1158-2022-06-22)
- * **Documentation**: Documentation updates for Amazon API Gateway
-* `github.com/aws/aws-sdk-go-v2/service/pricing`: [v1.15.0](service/pricing/CHANGELOG.md#v1150-2022-06-22)
- * **Feature**: This release introduces 1 update to the GetProducts API. The serviceCode attribute is now required when you use the GetProductsRequest.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.20.0](service/transfer/CHANGELOG.md#v1200-2022-06-22)
- * **Feature**: Until today, the service supported only RSA host keys and user keys. Now with this launch, Transfer Family has expanded the support for ECDSA and ED25519 host keys and user keys, enabling customers to support a broader set of clients by choosing RSA, ECDSA, and ED25519 host and user keys.
-
-# Release (2022-06-21)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.46.0](service/ec2/CHANGELOG.md#v1460-2022-06-21)
- * **Feature**: This release adds support for Private IP VPNs, a new feature allowing S2S VPN connections to use private ip addresses as the tunnel outside ip address over Direct Connect as transport.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.18.9](service/ecs/CHANGELOG.md#v1189-2022-06-21)
- * **Documentation**: Amazon ECS UpdateService now supports the following parameters: PlacementStrategies, PlacementConstraints and CapacityProviderStrategy.
-* `github.com/aws/aws-sdk-go-v2/service/wellarchitected`: [v1.15.0](service/wellarchitected/CHANGELOG.md#v1150-2022-06-21)
- * **Feature**: Adds support for lens tagging, Adds support for multiple helpful-resource urls and multiple improvement-plan urls.
-
-# Release (2022-06-20)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/directoryservice`: [v1.14.0](service/directoryservice/CHANGELOG.md#v1140-2022-06-20)
- * **Feature**: This release adds support for describing and updating AWS Managed Microsoft AD settings
-* `github.com/aws/aws-sdk-go-v2/service/kafka`: [v1.17.7](service/kafka/CHANGELOG.md#v1177-2022-06-20)
- * **Documentation**: Documentation updates to use Az Id during cluster creation.
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.21.0](service/outposts/CHANGELOG.md#v1210-2022-06-20)
- * **Feature**: This release adds the AssetLocation structure to the ListAssets response. AssetLocation includes the RackElevation for an Asset.
-
-# Release (2022-06-17)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.27.0](service/connect/CHANGELOG.md#v1270-2022-06-17)
- * **Feature**: This release updates these APIs: UpdateInstanceAttribute, DescribeInstanceAttribute and ListInstanceAttributes. You can use it to programmatically enable/disable High volume outbound communications using attribute type HIGH_VOLUME_OUTBOUND on the specified Amazon Connect instance.
-* `github.com/aws/aws-sdk-go-v2/service/connectcampaigns`: [v1.0.0](service/connectcampaigns/CHANGELOG.md#v100-2022-06-17)
- * **Release**: New AWS service client module
- * **Feature**: Added Amazon Connect high volume outbound communications SDK.
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.15.7](service/dynamodb/CHANGELOG.md#v1157-2022-06-17)
- * **Documentation**: Doc only update for DynamoDB service
-* `github.com/aws/aws-sdk-go-v2/service/dynamodbstreams`: [v1.13.7](service/dynamodbstreams/CHANGELOG.md#v1137-2022-06-17)
- * **Documentation**: Doc only update for DynamoDB service
-
-# Release (2022-06-16)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/redshiftdata`: [v1.16.0](service/redshiftdata/CHANGELOG.md#v1160-2022-06-16)
- * **Feature**: This release adds a new --workgroup-name field to operations that connect to an endpoint. Customers can now execute queries against their serverless workgroups.
-* `github.com/aws/aws-sdk-go-v2/service/redshiftserverless`: [v1.1.0](service/redshiftserverless/CHANGELOG.md#v110-2022-06-16)
- * **Feature**: Add new API operations for Amazon Redshift Serverless, a new way of using Amazon Redshift without needing to manually manage provisioned clusters. The new operations let you interact with Redshift Serverless resources, such as create snapshots, list VPC endpoints, delete resource policies, and more.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.15.11](service/secretsmanager/CHANGELOG.md#v11511-2022-06-16)
- * **Documentation**: Documentation updates for Secrets Manager
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.22.0](service/securityhub/CHANGELOG.md#v1220-2022-06-16)
- * **Feature**: Added Threats field for security findings. Added new resource details for ECS Container, ECS Task, RDS SecurityGroup, Kinesis Stream, EC2 TransitGateway, EFS AccessPoint, CloudFormation Stack, CloudWatch Alarm, VPC Peering Connection and WAF Rules
-
-# Release (2022-06-15)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.11.0](service/finspacedata/CHANGELOG.md#v1110-2022-06-15)
- * **Feature**: This release adds a new set of APIs, GetPermissionGroup, DisassociateUserFromPermissionGroup, AssociateUserToPermissionGroup, ListPermissionGroupsByUser, ListUsersByPermissionGroup.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.14.0](service/guardduty/CHANGELOG.md#v1140-2022-06-15)
- * **Feature**: Adds finding fields available from GuardDuty Console. Adds FreeTrial related operations. Deprecates the use of various APIs related to Master Accounts and Replace them with Administrator Accounts.
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry`: [v1.13.0](service/servicecatalogappregistry/CHANGELOG.md#v1130-2022-06-15)
- * **Feature**: This release adds a new API ListAttributeGroupsForApplication that returns associated attribute groups of an application. In addition, the UpdateApplication and UpdateAttributeGroup APIs will not allow users to update the 'Name' attribute.
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.19.0](service/workspaces/CHANGELOG.md#v1190-2022-06-15)
- * **Feature**: Added new field "reason" to OperationNotSupportedException. Receiving this exception in the DeregisterWorkspaceDirectory API will now return a reason giving more context on the failure.
-
-# Release (2022-06-14)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/budgets`: [v1.13.0](service/budgets/CHANGELOG.md#v1130-2022-06-14)
- * **Feature**: Add a budgets ThrottlingException. Update the CostFilters value pattern.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.16.0](service/lookoutmetrics/CHANGELOG.md#v1160-2022-06-14)
- * **Feature**: Adding filters to Alert and adding new UpdateAlert API.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.25.0](service/mediaconvert/CHANGELOG.md#v1250-2022-06-14)
- * **Feature**: AWS Elemental MediaConvert SDK has added support for rules that constrain Automatic-ABR rendition selection when generating ABR package ladders.
-
-# Release (2022-06-13)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.20.0](service/outposts/CHANGELOG.md#v1200-2022-06-13)
- * **Feature**: This release adds API operations AWS uses to install Outpost servers.
-
-# Release (2022-06-10)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.19.7](service/frauddetector/CHANGELOG.md#v1197-2022-06-10)
- * **Documentation**: Documentation updates for Amazon Fraud Detector (AWSHawksNest)
-
-# Release (2022-06-09)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.11.0](service/chimesdkmeetings/CHANGELOG.md#v1110-2022-06-09)
- * **Feature**: Adds support for live transcription in AWS GovCloud (US) Regions.
-
-# Release (2022-06-08)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.19.0](service/databasemigrationservice/CHANGELOG.md#v1190-2022-06-08)
- * **Feature**: This release adds DMS Fleet Advisor APIs and exposes functionality for DMS Fleet Advisor. It adds functionality to create and modify fleet advisor instances, and to collect and analyze information about the local data infrastructure.
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.18.7](service/iam/CHANGELOG.md#v1187-2022-06-08)
- * **Documentation**: Documentation updates for AWS Identity and Access Management (IAM).
-* `github.com/aws/aws-sdk-go-v2/service/m2`: [v1.0.0](service/m2/CHANGELOG.md#v100-2022-06-08)
- * **Release**: New AWS service client module
- * **Feature**: AWS Mainframe Modernization service is a managed mainframe service and set of tools for planning, migrating, modernizing, and running mainframe workloads on AWS
-* `github.com/aws/aws-sdk-go-v2/service/neptune`: [v1.17.0](service/neptune/CHANGELOG.md#v1170-2022-06-08)
- * **Feature**: This release adds support for Neptune to be configured as a global database, with a primary DB cluster in one region, and up to five secondary DB clusters in other regions.
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.25.0](service/redshift/CHANGELOG.md#v1250-2022-06-08)
- * **Feature**: Adds new API GetClusterCredentialsWithIAM to return temporary credentials.
-* `github.com/aws/aws-sdk-go-v2/service/redshiftserverless`: [v1.0.0](service/redshiftserverless/CHANGELOG.md#v100-2022-06-08)
- * **Release**: New AWS service client module
- * **Feature**: Add new API operations for Amazon Redshift Serverless, a new way of using Amazon Redshift without needing to manually manage provisioned clusters. The new operations let you interact with Redshift Serverless resources, such as create snapshots, list VPC endpoints, delete resource policies, and more.
-
-# Release (2022-06-07)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.19.0](service/auditmanager/CHANGELOG.md#v1190-2022-06-07)
- * **Feature**: This release introduces 2 updates to the Audit Manager API. The roleType and roleArn attributes are now required when you use the CreateAssessment or UpdateAssessment operation. We also added a throttling exception to the RegisterAccount API operation.
-* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.19.0](service/costexplorer/CHANGELOG.md#v1190-2022-06-07)
- * **Feature**: Added two new APIs to support cost allocation tags operations: ListCostAllocationTags, UpdateCostAllocationTagsStatus.
-
-# Release (2022-06-06)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.10.0](service/chimesdkmessaging/CHANGELOG.md#v1100-2022-06-06)
- * **Feature**: This release adds support for searching channels by members via the SearchChannels API, removes required restrictions for Name and Mode in UpdateChannel API and enhances CreateChannel API by exposing member and moderator list as well as channel id as optional parameters.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.26.0](service/connect/CHANGELOG.md#v1260-2022-06-06)
- * **Feature**: This release adds a new API, GetCurrentUserData, which returns real-time details about users' current activity.
-
-# Release (2022-06-02)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/applicationinsights`: [v1.16.0](service/applicationinsights/CHANGELOG.md#v1160-2022-06-02)
- * **Feature**: Provide Account Level onboarding support through CFN/CLI
-* `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.12.6](service/codeartifact/CHANGELOG.md#v1126-2022-06-02)
- * **Documentation**: Documentation updates for CodeArtifact
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.25.0](service/connect/CHANGELOG.md#v1250-2022-06-02)
- * **Feature**: This release adds the following features: 1) New APIs to manage (create, list, update) task template resources, 2) Updates to startTaskContact API to support task templates, and 3) new TransferContact API to programmatically transfer in-progress tasks via a contact flow.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.28.0](service/kendra/CHANGELOG.md#v1280-2022-06-02)
- * **Feature**: Amazon Kendra now provides a data source connector for GitHub. For more information, see https://docs.aws.amazon.com/kendra/latest/dg/data-source-github.html
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.14.0](service/proton/CHANGELOG.md#v1140-2022-06-02)
- * **Feature**: Add new "Components" API to enable users to Create, Delete and Update AWS Proton components.
-* `github.com/aws/aws-sdk-go-v2/service/voiceid`: [v1.10.0](service/voiceid/CHANGELOG.md#v1100-2022-06-02)
- * **Feature**: Added a new attribute ServerSideEncryptionUpdateDetails to Domain and DomainSummary.
-
-# Release (2022-06-01)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/backupgateway`: [v1.6.0](service/backupgateway/CHANGELOG.md#v160-2022-06-01)
- * **Feature**: Adds GetGateway and UpdateGatewaySoftwareNow API and adds hypervisor name to UpdateHypervisor API
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.10.0](service/chimesdkmeetings/CHANGELOG.md#v1100-2022-06-01)
- * **Feature**: Adds support for centrally controlling each participant's ability to send and receive audio, video and screen share within a WebRTC session. Attendee capabilities can be specified when the attendee is created and updated during the session with the new BatchUpdateAttendeeCapabilitiesExcept API.
-* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.22.0](service/forecast/CHANGELOG.md#v1220-2022-06-01)
- * **Feature**: Added Format field to Import and Export APIs in Amazon Forecast. Added TimeSeriesSelector to Create Forecast API.
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.21.0](service/route53/CHANGELOG.md#v1210-2022-06-01)
- * **Feature**: Add new APIs to support Route 53 IP Based Routing
-
-# Release (2022-05-31)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.17.0](service/cognitoidentityprovider/CHANGELOG.md#v1170-2022-05-31)
- * **Feature**: Amazon Cognito now supports IP Address propagation for all unauthenticated APIs (e.g. SignUp, ForgotPassword).
-* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.6.0](service/drs/CHANGELOG.md#v160-2022-05-31)
- * **Feature**: Changed existing APIs and added new APIs to accommodate using multiple AWS accounts with AWS Elastic Disaster Recovery.
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.22.0](service/iotsitewise/CHANGELOG.md#v1220-2022-05-31)
- * **Feature**: This release adds the following new optional field to the IoT SiteWise asset resource: assetDescription.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.15.0](service/lookoutmetrics/CHANGELOG.md#v1150-2022-05-31)
- * **Feature**: Adding backtest mode to detectors using the Cloudwatch data source.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.20.0](service/transcribe/CHANGELOG.md#v1200-2022-05-31)
- * **Feature**: Amazon Transcribe now supports automatic language identification for multi-lingual audio in batch mode.
-
-# Release (2022-05-27)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.16.0](service/appflow/CHANGELOG.md#v1160-2022-05-27)
- * **Feature**: Adding the following features/changes: Parquet output that preserves typing from the source connector, Failed executions threshold before deactivation for scheduled flows, increasing max size of access and refresh token from 2048 to 4096
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.17.0](service/datasync/CHANGELOG.md#v1170-2022-05-27)
- * **Feature**: AWS DataSync now supports TLS encryption in transit, file system policies and access points for EFS locations.
-* `github.com/aws/aws-sdk-go-v2/service/emrserverless`: [v1.1.0](service/emrserverless/CHANGELOG.md#v110-2022-05-27)
- * **Feature**: This release adds support for Amazon EMR Serverless, a serverless runtime environment that simplifies running analytics applications using the latest open source frameworks such as Apache Spark and Apache Hive.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.32.0](service/sagemaker/CHANGELOG.md#v1320-2022-05-27)
- * **Feature**: Amazon SageMaker Notebook Instances now allows configuration of Instance Metadata Service version and Amazon SageMaker Studio now supports G5 instance types.
-
-# Release (2022-05-26)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.45.0](service/ec2/CHANGELOG.md#v1450-2022-05-26)
- * **Feature**: C7g instances, powered by the latest generation AWS Graviton3 processors, provide the best price performance in Amazon EC2 for compute-intensive workloads.
-* `github.com/aws/aws-sdk-go-v2/service/emrserverless`: [v1.0.0](service/emrserverless/CHANGELOG.md#v100-2022-05-26)
- * **Release**: New AWS service client module
- * **Feature**: This release adds support for Amazon EMR Serverless, a serverless runtime environment that simplifies running analytics applications using the latest open source frameworks such as Apache Spark and Apache Hive.
-* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.21.0](service/forecast/CHANGELOG.md#v1210-2022-05-26)
- * **Feature**: Introduced a new field in Auto Predictor as Time Alignment Boundary. It helps in aligning the timestamps generated during Forecast exports
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.22.0](service/lightsail/CHANGELOG.md#v1220-2022-05-26)
- * **Feature**: Amazon Lightsail now supports the ability to configure a Lightsail Container Service to pull images from Amazon ECR private repositories in your account.
-
-# Release (2022-05-25)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/apigateway`: [v1.15.6](service/apigateway/CHANGELOG.md#v1156-2022-05-25)
- * **Documentation**: Documentation updates for Amazon API Gateway
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.12.3](service/apprunner/CHANGELOG.md#v1123-2022-05-25)
- * **Documentation**: Documentation-only update added for CodeConfiguration.
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.21.0](service/cloudformation/CHANGELOG.md#v1210-2022-05-25)
- * **Feature**: Add a new parameter statusReason to DescribeStackSetOperation output for additional details
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.24.0](service/fsx/CHANGELOG.md#v1240-2022-05-25)
- * **Feature**: This release adds root squash support to FSx for Lustre to restrict root level access from clients by mapping root users to a less-privileged user/group with limited permissions.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.14.0](service/lookoutmetrics/CHANGELOG.md#v1140-2022-05-25)
- * **Feature**: Adding AthenaSourceConfig for MetricSet APIs to support Athena as a data source.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.31.0](service/sagemaker/CHANGELOG.md#v1310-2022-05-25)
- * **Feature**: Amazon SageMaker Autopilot adds support for manually selecting features from the input dataset using the CreateAutoMLJob API.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.15.9](service/secretsmanager/CHANGELOG.md#v1159-2022-05-25)
- * **Documentation**: Documentation updates for Secrets Manager
-* `github.com/aws/aws-sdk-go-v2/service/voiceid`: [v1.9.0](service/voiceid/CHANGELOG.md#v190-2022-05-25)
- * **Feature**: VoiceID will now automatically expire Speakers if they haven't been accessed for Enrollment, Re-enrollment or Successful Auth for three years. The Speaker APIs now return a "LastAccessedAt" time for Speakers, and the EvaluateSession API returns "SPEAKER_EXPIRED" Auth Decision for EXPIRED Speakers.
-
-# Release (2022-05-24)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.16.0](service/cognitoidentityprovider/CHANGELOG.md#v1160-2022-05-24)
- * **Feature**: Amazon Cognito now supports requiring attribute verification (ex. email and phone number) before update.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.44.0](service/ec2/CHANGELOG.md#v1440-2022-05-24)
- * **Feature**: Stop Protection feature enables customers to protect their instances from accidental stop actions.
-* `github.com/aws/aws-sdk-go-v2/service/ivschat`: [v1.0.4](service/ivschat/CHANGELOG.md#v104-2022-05-24)
- * **Documentation**: Doc-only update. For MessageReviewHandler structure, added timeout period in the description of the fallbackResult field
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.24.0](service/mediaconvert/CHANGELOG.md#v1240-2022-05-24)
- * **Feature**: AWS Elemental MediaConvert SDK has added support for rules that constrain Automatic-ABR rendition selection when generating ABR package ladders.
-* `github.com/aws/aws-sdk-go-v2/service/networkmanager`: [v1.13.0](service/networkmanager/CHANGELOG.md#v1130-2022-05-24)
- * **Feature**: This release adds Multi Account API support for a TGW Global Network, to enable and disable AWSServiceAccess with AwsOrganizations for Network Manager service and dependency CloudFormation StackSets service.
-
-# Release (2022-05-23)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.21.0](service/elasticache/CHANGELOG.md#v1210-2022-05-23)
- * **Feature**: Added support for encryption in transit for Memcached clusters. Customers can now launch Memcached cluster with encryption in transit enabled when using Memcached version 1.6.12 or later.
-* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.20.0](service/forecast/CHANGELOG.md#v1200-2022-05-23)
- * **Feature**: New APIs for Monitor that help you understand how your predictors perform over time.
-* `github.com/aws/aws-sdk-go-v2/service/personalize`: [v1.20.0](service/personalize/CHANGELOG.md#v1200-2022-05-23)
- * **Feature**: Adding modelMetrics as part of DescribeRecommender API response for Personalize.
-
-# Release (2022-05-20)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.15.7](service/cloudwatchlogs/CHANGELOG.md#v1157-2022-05-20)
- * **Documentation**: Doc-only update to publish the new valid values for log retention
-* `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.18.0](service/comprehend/CHANGELOG.md#v1180-2022-05-20)
- * **Feature**: Comprehend releases 14 new entity types for DetectPiiEntities and ContainsPiiEntities APIs.
-
-# Release (2022-05-19)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/gamesparks`: [v1.1.0](service/gamesparks/CHANGELOG.md#v110-2022-05-19)
- * **Feature**: This release adds an optional DeploymentResult field in the responses of GetStageDeploymentIntegrationTests and ListStageDeploymentIntegrationTests APIs.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.13.0](service/lookoutmetrics/CHANGELOG.md#v1130-2022-05-19)
- * **Feature**: In this release we added SnsFormat to SNSConfiguration to support human readable alert.
-
-# Release (2022-05-18)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appmesh`: [v1.14.0](service/appmesh/CHANGELOG.md#v1140-2022-05-18)
- * **Feature**: This release updates the existing Create and Update APIs for meshes and virtual nodes by adding a new IP preference field. This new IP preference field can be used to control the IP versions being used with the mesh and allows for IPv6 support within App Mesh.
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.18.3](service/batch/CHANGELOG.md#v1183-2022-05-18)
- * **Documentation**: Documentation updates for AWS Batch.
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.16.0](service/greengrassv2/CHANGELOG.md#v1160-2022-05-18)
- * **Feature**: This release adds the new DeleteDeployment API operation that you can use to delete deployment resources. This release also adds support for discontinued AWS-provided components, so AWS can communicate when a component has any issues that you should consider before you deploy it.
-* `github.com/aws/aws-sdk-go-v2/service/ioteventsdata`: [v1.12.0](service/ioteventsdata/CHANGELOG.md#v1120-2022-05-18)
- * **Feature**: Introducing new API for deleting detectors: BatchDeleteDetector.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.22.0](service/quicksight/CHANGELOG.md#v1220-2022-05-18)
- * **Feature**: API UpdatePublicSharingSettings enables IAM admins to enable/disable account level setting for public access of dashboards. When enabled, owners/co-owners for dashboards can enable public access on their dashboards. These dashboards can only be accessed through share link or embedding.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.19.0](service/transfer/CHANGELOG.md#v1190-2022-05-18)
- * **Feature**: AWS Transfer Family now supports SetStat server configuration option, which provides the ability to ignore SetStat command issued by file transfer clients, enabling customers to upload files without any errors.
-
-# Release (2022-05-17)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/internal/ini`: [v1.3.12](internal/ini/CHANGELOG.md#v1312-2022-05-17)
- * **Bug Fix**: Removes the fuzz testing files from the module, as they are invalid and not used.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.25.0](service/glue/CHANGELOG.md#v1250-2022-05-17)
- * **Feature**: This release adds a new optional parameter called codeGenNodeConfiguration to CRUD job APIs that allows users to manage visual jobs via APIs. The updated CreateJob and UpdateJob will create jobs that can be viewed in Glue Studio as a visual graph. GetJob can be used to get codeGenNodeConfiguration.
-* `github.com/aws/aws-sdk-go-v2/service/iotsecuretunneling`: [v1.13.1](service/iotsecuretunneling/CHANGELOG.md#v1131-2022-05-17)
- * **Bug Fix**: Fixes iotsecuretunneling and mobile API clients to use the correct name for signing requests, Fixes [#1686](https://github.com/aws/aws-sdk-go-v2/issues/1686).
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.17.2](service/kms/CHANGELOG.md#v1172-2022-05-17)
- * **Documentation**: Add HMAC best practice tip, annual rotation of AWS managed keys.
-* `github.com/aws/aws-sdk-go-v2/service/mobile`: [v1.11.5](service/mobile/CHANGELOG.md#v1115-2022-05-17)
- * **Bug Fix**: Fixes iotsecuretunneling and mobile API clients to use the correct name for signing requests, Fixes [#1686](https://github.com/aws/aws-sdk-go-v2/issues/1686).
-
-# Release (2022-05-16)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/applicationdiscoveryservice`: [v1.13.0](service/applicationdiscoveryservice/CHANGELOG.md#v1130-2022-05-16)
- * **Feature**: Add Migration Evaluator Collector details to the GetDiscoverySummary API response
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.18.0](service/cloudfront/CHANGELOG.md#v1180-2022-05-16)
- * **Feature**: Introduced a new error (TooLongCSPInResponseHeadersPolicy) that is returned when the value of the Content-Security-Policy header in a response headers policy exceeds the maximum allowed length.
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.18.1](service/rekognition/CHANGELOG.md#v1181-2022-05-16)
- * **Documentation**: Documentation updates for Amazon Rekognition.
-* `github.com/aws/aws-sdk-go-v2/service/resiliencehub`: [v1.6.0](service/resiliencehub/CHANGELOG.md#v160-2022-05-16)
- * **Feature**: In this release, we are introducing support for Amazon Elastic Container Service, Amazon Route 53, AWS Elastic Disaster Recovery, AWS Backup in addition to the existing supported Services. This release also supports Terraform file input from S3 and scheduling daily assessments
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.14.2](service/servicecatalog/CHANGELOG.md#v1142-2022-05-16)
- * **Documentation**: Updated the descriptions for the ListAcceptedPortfolioShares API description and the PortfolioShareType parameters.
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.16.5](service/sts/CHANGELOG.md#v1165-2022-05-16)
- * **Documentation**: Documentation updates for AWS Security Token Service.
-* `github.com/aws/aws-sdk-go-v2/service/workspacesweb`: [v1.6.0](service/workspacesweb/CHANGELOG.md#v160-2022-05-16)
- * **Feature**: Amazon WorkSpaces Web now supports Administrator timeout control
-
-# Release (2022-05-13)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/grafana`: [v1.9.0](service/grafana/CHANGELOG.md#v190-2022-05-13)
- * **Feature**: This release adds APIs for creating and deleting API keys in an Amazon Managed Grafana workspace.
-
-# Release (2022-05-12)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.43.0](service/ec2/CHANGELOG.md#v1430-2022-05-12)
- * **Feature**: This release introduces a target type Gateway Load Balancer Endpoint for mirrored traffic. Customers can now specify GatewayLoadBalancerEndpoint option during the creation of a traffic mirror target.
-* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.10.5](service/finspacedata/CHANGELOG.md#v1105-2022-05-12)
- * **Documentation**: We've now deprecated CreateSnapshot permission for creating a data view, instead use CreateDataView permission.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.25.1](service/iot/CHANGELOG.md#v1251-2022-05-12)
- * **Documentation**: Documentation update for China region ListMetricValues for IoT
-* `github.com/aws/aws-sdk-go-v2/service/ivschat`: [v1.0.2](service/ivschat/CHANGELOG.md#v102-2022-05-12)
- * **Documentation**: Documentation-only updates for IVS Chat API Reference.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.27.0](service/kendra/CHANGELOG.md#v1270-2022-05-12)
- * **Feature**: Amazon Kendra now provides a data source connector for Jira. For more information, see https://docs.aws.amazon.com/kendra/latest/dg/data-source-jira.html
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.23.0](service/lambda/CHANGELOG.md#v1230-2022-05-12)
- * **Feature**: Lambda releases NodeJs 16 managed runtime to be available in all commercial regions.
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.21.0](service/lightsail/CHANGELOG.md#v1210-2022-05-12)
- * **Feature**: This release adds support to include inactive database bundles in the response of the GetRelationalDatabaseBundles request.
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.19.1](service/outposts/CHANGELOG.md#v1191-2022-05-12)
- * **Documentation**: Documentation updates for AWS Outposts.
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.14.0](service/ssmincidents/CHANGELOG.md#v1140-2022-05-12)
- * **Feature**: Adding support for dynamic SSM Runbook parameter values. Updating validation pattern for engagements. Adding ConflictException to UpdateReplicationSet API contract.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.18.6](service/transfer/CHANGELOG.md#v1186-2022-05-12)
- * **Documentation**: AWS Transfer Family now accepts ECDSA keys for server host keys
-
-# Release (2022-05-11)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.42.0](service/ec2/CHANGELOG.md#v1420-2022-05-11)
- * **Feature**: This release updates AWS PrivateLink APIs to support IPv6 for PrivateLink Services and Endpoints of type 'Interface'.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.15.7](service/secretsmanager/CHANGELOG.md#v1157-2022-05-11)
- * **Documentation**: Doc only update for Secrets Manager that fixes several customer-reported issues.
-
-# Release (2022-05-10)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.17.5](service/computeoptimizer/CHANGELOG.md#v1175-2022-05-10)
- * **Documentation**: Documentation updates for Compute Optimizer
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.41.0](service/ec2/CHANGELOG.md#v1410-2022-05-10)
- * **Feature**: Added support for using NitroTPM and UEFI Secure Boot on EC2 instances.
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.21.0](service/eks/CHANGELOG.md#v1210-2022-05-10)
- * **Feature**: Adds BOTTLEROCKET_ARM_64_NVIDIA and BOTTLEROCKET_x86_64_NVIDIA AMI types to EKS managed nodegroups
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.18.0](service/emr/CHANGELOG.md#v1180-2022-05-10)
- * **Feature**: This release updates the Amazon EMR ModifyInstanceGroups API to support "MERGE" type cluster reconfiguration. Also, added the ability to specify a particular Amazon Linux release for all nodes in a cluster launch request.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubrefactorspaces`: [v1.5.5](service/migrationhubrefactorspaces/CHANGELOG.md#v155-2022-05-10)
- * **Documentation**: AWS Migration Hub Refactor Spaces documentation only update to fix a formatting issue.
-
-# Release (2022-05-09)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.15.5](config/CHANGELOG.md#v1155-2022-05-09)
- * **Bug Fix**: Fixes a bug in LoadDefaultConfig to correctly assign ConfigSources so all config resolvers have access to the config sources. This fixes the feature/ec2/imds client not having configuration applied via config.LoadOptions such as EC2IMDSClientEnableState. PR [#1682](https://github.com/aws/aws-sdk-go-v2/pull/1682)
-* `github.com/aws/aws-sdk-go-v2/service/cloudcontrol`: [v1.10.0](service/cloudcontrol/CHANGELOG.md#v1100-2022-05-09)
- * **Feature**: SDK release for Cloud Control API to include paginators for Python SDK.
-* `github.com/aws/aws-sdk-go-v2/service/evidently`: [v1.7.0](service/evidently/CHANGELOG.md#v170-2022-05-09)
- * **Feature**: Add detail message inside GetExperimentResults API response to indicate experiment result availability
-* `github.com/aws/aws-sdk-go-v2/service/ssmcontacts`: [v1.13.5](service/ssmcontacts/CHANGELOG.md#v1135-2022-05-09)
- * **Documentation**: Fixed an error in the DescribeEngagement example for AWS Incident Manager.
-
-# Release (2022-05-06)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.40.0](service/ec2/CHANGELOG.md#v1400-2022-05-06)
- * **Feature**: Add new state values for IPAMs, IPAM Scopes, and IPAM Pools.
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.17.0](service/location/CHANGELOG.md#v1170-2022-05-06)
- * **Feature**: Amazon Location Service now includes a MaxResults parameter for ListGeofences requests.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackage`: [v1.16.0](service/mediapackage/CHANGELOG.md#v1160-2022-05-06)
- * **Feature**: This release adds Dvb Dash 2014 as an available profile option for Dash Origin Endpoints.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.21.1](service/rds/CHANGELOG.md#v1211-2022-05-06)
- * **Documentation**: Various documentation improvements.
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.24.0](service/redshift/CHANGELOG.md#v1240-2022-05-06)
- * **Feature**: Introduces new field 'LoadSampleData' in CreateCluster operation. Customers can now specify 'LoadSampleData' option during creation of a cluster, which results in loading of sample data in the cluster that is created.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.21.1](service/securityhub/CHANGELOG.md#v1211-2022-05-06)
- * **Documentation**: Documentation updates for Security Hub API reference
-
-# Release (2022-05-05)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.16.0](service/datasync/CHANGELOG.md#v1160-2022-05-05)
- * **Feature**: AWS DataSync now supports a new ObjectTags Task API option that can be used to control whether Object Tags are transferred.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.39.0](service/ec2/CHANGELOG.md#v1390-2022-05-05)
- * **Feature**: Amazon EC2 I4i instances are powered by 3rd generation Intel Xeon Scalable processors and feature up to 30 TB of local AWS Nitro SSD storage
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.25.0](service/iot/CHANGELOG.md#v1250-2022-05-05)
- * **Feature**: AWS IoT Jobs now allows you to create up to 100,000 active continuous and snapshot jobs by using concurrency control.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.26.0](service/kendra/CHANGELOG.md#v1260-2022-05-05)
- * **Feature**: AWS Kendra now supports hierarchical facets for a query. For more information, see https://docs.aws.amazon.com/kendra/latest/dg/filtering.html
-
-# Release (2022-05-04)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.16.0](service/backup/CHANGELOG.md#v1160-2022-05-04)
- * **Feature**: Adds support to 2 new filters about job complete time for 3 list jobs APIs in AWS Backup
-* `github.com/aws/aws-sdk-go-v2/service/iotsecuretunneling`: [v1.13.0](service/iotsecuretunneling/CHANGELOG.md#v1130-2022-05-04)
- * **Feature**: This release introduces a new API RotateTunnelAccessToken that allow revoking the existing tokens and generate new tokens
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.20.1](service/lightsail/CHANGELOG.md#v1201-2022-05-04)
- * **Documentation**: Documentation updates for Lightsail
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.27.0](service/ssm/CHANGELOG.md#v1270-2022-05-04)
- * **Feature**: This release adds the TargetMaps parameter in SSM State Manager API.
-
-# Release (2022-05-03)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.38.0](service/ec2/CHANGELOG.md#v1380-2022-05-03)
- * **Feature**: Adds support for allocating Dedicated Hosts on AWS Outposts. The AllocateHosts API now accepts an OutpostArn request parameter, and the DescribeHosts API now includes an OutpostArn response parameter.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideo`: [v1.12.0](service/kinesisvideo/CHANGELOG.md#v1120-2022-05-03)
- * **Feature**: Add support for multiple image feature related APIs for configuring image generation and notification of a video stream. Add "GET_IMAGES" to the list of supported API names for the GetDataEndpoint API.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideoarchivedmedia`: [v1.13.0](service/kinesisvideoarchivedmedia/CHANGELOG.md#v1130-2022-05-03)
- * **Feature**: Add support for GetImages API for retrieving images from a video stream
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.26.8](service/s3/CHANGELOG.md#v1268-2022-05-03)
- * **Documentation**: Documentation only update for doc bug fixes for the S3 API docs.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.30.0](service/sagemaker/CHANGELOG.md#v1300-2022-05-03)
- * **Feature**: SageMaker Autopilot adds new metrics for all candidate models generated by Autopilot experiments; RStudio on SageMaker now allows users to bring your own development environment in a custom image.
-
-# Release (2022-05-02)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/organizations`: [v1.16.0](service/organizations/CHANGELOG.md#v1160-2022-05-02)
- * **Feature**: This release adds the INVALID_PAYMENT_INSTRUMENT as a fail reason and an error message.
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.19.0](service/outposts/CHANGELOG.md#v1190-2022-05-02)
- * **Feature**: This release adds a new API called ListAssets to the Outposts SDK, which lists the hardware assets in an Outpost.
-* `github.com/aws/aws-sdk-go-v2/service/synthetics`: [v1.15.0](service/synthetics/CHANGELOG.md#v1150-2022-05-02)
- * **Feature**: CloudWatch Synthetics has introduced a new feature to provide customers with an option to delete the underlying resources that Synthetics canary creates when the user chooses to delete the canary.
-
-# Release (2022-04-29)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/codegurureviewer`: [v1.16.0](service/codegurureviewer/CHANGELOG.md#v1160-2022-04-29)
- * **Feature**: Amazon CodeGuru Reviewer now supports suppressing recommendations from being generated on specific files and directories.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.23.0](service/mediaconvert/CHANGELOG.md#v1230-2022-04-29)
- * **Feature**: AWS Elemental MediaConvert SDK nows supports creation of Dolby Vision profile 8.1, the ability to generate black frames of video, and introduces audio-only DASH and CMAF support.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.21.0](service/rds/CHANGELOG.md#v1210-2022-04-29)
- * **Feature**: Feature - Adds support for Internet Protocol Version 6 (IPv6) on RDS database instances.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.26.0](service/ssm/CHANGELOG.md#v1260-2022-04-29)
- * **Feature**: Update the StartChangeRequestExecution, adding TargetMaps to the Runbook parameter
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.20.0](service/wafv2/CHANGELOG.md#v1200-2022-04-29)
- * **Feature**: You can now inspect all request headers and all cookies. You can now specify how to handle oversize body contents in your rules that inspect the body.
-
-# Release (2022-04-28)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.18.5](service/auditmanager/CHANGELOG.md#v1185-2022-04-28)
- * **Documentation**: This release adds documentation updates for Audit Manager. We provided examples of how to use the Custom_ prefix for the keywordValue attribute. We also provided more details about the DeleteAssessmentReport operation.
-* `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.16.0](service/braket/CHANGELOG.md#v1160-2022-04-28)
- * **Feature**: This release enables Braket Hybrid Jobs with Embedded Simulators to have multiple instances.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.24.0](service/connect/CHANGELOG.md#v1240-2022-04-28)
- * **Feature**: This release introduces an API for changing the current agent status of a user in Connect.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.37.0](service/ec2/CHANGELOG.md#v1370-2022-04-28)
- * **Feature**: This release adds support to query the public key and creation date of EC2 Key Pairs. Additionally, the format (pem or ppk) of a key pair can be specified when creating a new key pair.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.13.5](service/guardduty/CHANGELOG.md#v1135-2022-04-28)
- * **Documentation**: Documentation update for API description.
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.17.0](service/networkfirewall/CHANGELOG.md#v1170-2022-04-28)
- * **Feature**: AWS Network Firewall adds support for stateful threat signature AWS managed rule groups.
-
-# Release (2022-04-27)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/amplify`: [v1.11.5](service/amplify/CHANGELOG.md#v1115-2022-04-27)
- * **Documentation**: Documentation only update to support the Amplify GitHub App feature launch
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines`: [v1.0.0](service/chimesdkmediapipelines/CHANGELOG.md#v100-2022-04-27)
- * **Release**: New AWS service client module
- * **Feature**: For Amazon Chime SDK meetings, the Amazon Chime Media Pipelines SDK allows builders to capture audio, video, and content share streams. You can also capture meeting events, live transcripts, and data messages. The pipelines save the artifacts to an Amazon S3 bucket that you designate.
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.16.0](service/cloudtrail/CHANGELOG.md#v1160-2022-04-27)
- * **Feature**: Increases the retention period maximum to 2557 days. Deprecates unused fields of the ListEventDataStores API response. Updates documentation.
-* `github.com/aws/aws-sdk-go-v2/service/internal/checksum`: [v1.1.5](service/internal/checksum/CHANGELOG.md#v115-2022-04-27)
- * **Bug Fix**: Fixes a bug that could cause the SigV4 payload hash to be incorrectly encoded, leading to signing errors.
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.19.0](service/iotwireless/CHANGELOG.md#v1190-2022-04-27)
- * **Feature**: Add list support for event configurations, allow to get and update event configurations by resource type, support LoRaWAN events; Make NetworkAnalyzerConfiguration as a resource, add List, Create, Delete API support; Add FCntStart attribute support for ABP WirelessDevice.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutequipment`: [v1.13.0](service/lookoutequipment/CHANGELOG.md#v1130-2022-04-27)
- * **Feature**: This release adds the following new features: 1) Introduces an option for automatic schema creation 2) Now allows for Ingestion of data containing most common errors and allows automatic data cleaning 3) Introduces new API ListSensorStatistics that gives further information about the ingested data
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.18.0](service/rekognition/CHANGELOG.md#v1180-2022-04-27)
- * **Feature**: This release adds support to configure stream-processor resources for label detections on streaming-videos. UpateStreamProcessor API is also launched with this release, which could be used to update an existing stream-processor.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.29.0](service/sagemaker/CHANGELOG.md#v1290-2022-04-27)
- * **Feature**: Amazon SageMaker Autopilot adds support for custom validation dataset and validation ratio through the CreateAutoMLJob and DescribeAutoMLJob APIs.
-
-# Release (2022-04-26)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.17.0](service/cloudfront/CHANGELOG.md#v1170-2022-04-26)
- * **Feature**: CloudFront now supports the Server-Timing header in HTTP responses sent from CloudFront. You can use this header to view metrics that help you gain insights about the behavior and performance of CloudFront. To use this header, enable it in a response headers policy.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.24.2](service/glue/CHANGELOG.md#v1242-2022-04-26)
- * **Documentation**: This release adds documentation for the APIs to create, read, delete, list, and batch read of AWS Glue custom patterns, and for Lake Formation configuration settings in the AWS Glue crawler.
-* `github.com/aws/aws-sdk-go-v2/service/ivschat`: [v1.0.0](service/ivschat/CHANGELOG.md#v100-2022-04-26)
- * **Release**: New AWS service client module
- * **Feature**: Adds new APIs for IVS Chat, a feature for building interactive chat experiences alongside an IVS broadcast.
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.20.0](service/lightsail/CHANGELOG.md#v1200-2022-04-26)
- * **Feature**: This release adds support for Lightsail load balancer HTTP to HTTPS redirect and TLS policy configuration.
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.16.0](service/networkfirewall/CHANGELOG.md#v1160-2022-04-26)
- * **Feature**: AWS Network Firewall now enables customers to use a customer managed AWS KMS key for the encryption of their firewall resources.
-* `github.com/aws/aws-sdk-go-v2/service/pricing`: [v1.14.5](service/pricing/CHANGELOG.md#v1145-2022-04-26)
- * **Documentation**: Documentation updates for Price List API
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.28.0](service/sagemaker/CHANGELOG.md#v1280-2022-04-26)
- * **Feature**: SageMaker Inference Recommender now accepts customer KMS key ID for encryption of endpoints and compilation outputs created during inference recommendation.
-
-# Release (2022-04-25)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.16.3
- * **Dependency Update**: Update SDK's internal copy of golang.org/x/sync/singleflight to address issue with test failing due to timeing issues
-* `github.com/aws/aws-sdk-go-v2/credentials`: [v1.12.0](credentials/CHANGELOG.md#v1120-2022-04-25)
- * **Feature**: Adds Duration and Policy options that can be used when creating stscreds.WebIdentityRoleProvider credentials provider.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.23.0](service/connect/CHANGELOG.md#v1230-2022-04-25)
- * **Feature**: This release adds SearchUsers API which can be used to search for users with a Connect Instance
-* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.14.4](service/gamelift/CHANGELOG.md#v1144-2022-04-25)
- * **Documentation**: Documentation updates for Amazon GameLift.
-* `github.com/aws/aws-sdk-go-v2/service/mq`: [v1.13.0](service/mq/CHANGELOG.md#v1130-2022-04-25)
- * **Feature**: This release adds the CRITICAL_ACTION_REQUIRED broker state and the ActionRequired API property. CRITICAL_ACTION_REQUIRED informs you when your broker is degraded. ActionRequired provides you with a code which you can use to find instructions in the Developer Guide on how to resolve the issue.
-* `github.com/aws/aws-sdk-go-v2/service/rdsdata`: [v1.12.0](service/rdsdata/CHANGELOG.md#v1120-2022-04-25)
- * **Feature**: Support to receive SQL query results in the form of a simplified JSON string. This enables developers using the new JSON string format to more easily convert it to an object using popular JSON string parsing libraries.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.21.0](service/securityhub/CHANGELOG.md#v1210-2022-04-25)
- * **Feature**: Security Hub now lets you opt-out of auto-enabling the defaults standards (CIS and FSBP) in accounts that are auto-enabled with Security Hub via Security Hub's integration with AWS Organizations.
-
-# Release (2022-04-22)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.9.0](service/chimesdkmeetings/CHANGELOG.md#v190-2022-04-22)
- * **Feature**: Include additional exceptions types.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.36.0](service/ec2/CHANGELOG.md#v1360-2022-04-22)
- * **Feature**: Adds support for waiters that automatically poll for a deleted NAT Gateway until it reaches the deleted state.
-
-# Release (2022-04-21)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.20.5](service/elasticache/CHANGELOG.md#v1205-2022-04-21)
- * **Documentation**: Doc only update for ElastiCache
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.24.0](service/glue/CHANGELOG.md#v1240-2022-04-21)
- * **Feature**: This release adds APIs to create, read, delete, list, and batch read of Glue custom entity types
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.21.0](service/iotsitewise/CHANGELOG.md#v1210-2022-04-21)
- * **Feature**: This release adds 3 new batch data query APIs : BatchGetAssetPropertyValue, BatchGetAssetPropertyValueHistory and BatchGetAssetPropertyAggregates
-* `github.com/aws/aws-sdk-go-v2/service/iottwinmaker`: [v1.7.0](service/iottwinmaker/CHANGELOG.md#v170-2022-04-21)
- * **Feature**: General availability (GA) for AWS IoT TwinMaker. For more information, see https://docs.aws.amazon.com/iot-twinmaker/latest/apireference/Welcome.html
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.12.0](service/lookoutmetrics/CHANGELOG.md#v1120-2022-04-21)
- * **Feature**: Added DetectMetricSetConfig API for detecting configuration required for creating metric set from provided S3 data source.
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.17.0](service/mediatailor/CHANGELOG.md#v1170-2022-04-21)
- * **Feature**: This release introduces tiered channels and adds support for live sources. Customers using a STANDARD channel can now create programs using live sources.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.15.5](service/secretsmanager/CHANGELOG.md#v1155-2022-04-21)
- * **Documentation**: Documentation updates for Secrets Manager
-* `github.com/aws/aws-sdk-go-v2/service/storagegateway`: [v1.17.0](service/storagegateway/CHANGELOG.md#v1170-2022-04-21)
- * **Feature**: This release adds support for minimum of 5 character length virtual tape barcodes.
-* `github.com/aws/aws-sdk-go-v2/service/wisdom`: [v1.8.0](service/wisdom/CHANGELOG.md#v180-2022-04-21)
- * **Feature**: This release updates the GetRecommendations API to include a trigger event list for classifying and grouping recommendations.
-
-# Release (2022-04-20)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.22.0](service/connect/CHANGELOG.md#v1220-2022-04-20)
- * **Feature**: This release adds APIs to search, claim, release, list, update, and describe phone numbers. You can also use them to associate and disassociate contact flows to phone numbers.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.21.0](service/macie2/CHANGELOG.md#v1210-2022-04-20)
- * **Feature**: Sensitive data findings in Amazon Macie now indicate how Macie found the sensitive data that produced a finding (originType).
-* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.14.0](service/mgn/CHANGELOG.md#v1140-2022-04-20)
- * **Feature**: Removed required annotation from input fields in Describe operations requests. Added quotaValue to ServiceQuotaExceededException
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.20.0](service/rds/CHANGELOG.md#v1200-2022-04-20)
- * **Feature**: Added a new cluster-level attribute to set the capacity range for Aurora Serverless v2 instances.
-
-# Release (2022-04-19)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.23.0](service/autoscaling/CHANGELOG.md#v1230-2022-04-19)
- * **Feature**: EC2 Auto Scaling now adds default instance warm-up times for all scaling activities, health check replacements, and other replacement events in the Auto Scaling instance lifecycle.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.25.0](service/kendra/CHANGELOG.md#v1250-2022-04-19)
- * **Feature**: Amazon Kendra now provides a data source connector for Quip. For more information, see https://docs.aws.amazon.com/kendra/latest/dg/data-source-quip.html
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.17.0](service/kms/CHANGELOG.md#v1170-2022-04-19)
- * **Feature**: Adds support for KMS keys and APIs that generate and verify HMAC codes
-* `github.com/aws/aws-sdk-go-v2/service/personalize`: [v1.19.0](service/personalize/CHANGELOG.md#v1190-2022-04-19)
- * **Feature**: Adding StartRecommender and StopRecommender APIs for Personalize.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.15.0](service/polly/CHANGELOG.md#v1150-2022-04-19)
- * **Feature**: Amazon Polly adds new Austrian German voice - Hannah. Hannah is available as Neural voice only.
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.23.0](service/redshift/CHANGELOG.md#v1230-2022-04-19)
- * **Feature**: Introduces new fields for LogDestinationType and LogExports on EnableLogging requests and Enable/Disable/DescribeLogging responses. Customers can now select CloudWatch Logs as a destination for their Audit Logs.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.25.0](service/ssm/CHANGELOG.md#v1250-2022-04-19)
- * **Feature**: Added offset support for specifying the number of days to wait after the date and time specified by a CRON expression when creating SSM association.
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.15.0](service/textract/CHANGELOG.md#v1150-2022-04-19)
- * **Feature**: This release adds support for specifying and extracting information from documents using the Queries feature within Analyze Document API
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.18.4](service/transfer/CHANGELOG.md#v1184-2022-04-19)
- * **Documentation**: This release contains corrected HomeDirectoryMappings examples for several API functions: CreateAccess, UpdateAccess, CreateUser, and UpdateUser,.
-* `github.com/aws/aws-sdk-go-v2/service/worklink`: [v1.12.0](service/worklink/CHANGELOG.md#v1120-2022-04-19)
- * **Feature**: Amazon WorkLink is no longer supported. This will be removed in a future version of the SDK.
-
-# Release (2022-04-15)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue`: [v1.9.0](feature/dynamodb/attributevalue/CHANGELOG.md#v190-2022-04-15)
- * **Feature**: Support has been added for specifying a custom time format when encoding and decoding DynamoDB AttributeValues. Use `EncoderOptions.EncodeTime` to specify a custom time encoding function, and use `DecoderOptions.DecodeTime` for specifying how to handle the corresponding AttributeValues using the format. Thank you [Pablo Lopez](https://github.com/plopezlpz) for this contribution.
-* `github.com/aws/aws-sdk-go-v2/feature/dynamodbstreams/attributevalue`: [v1.9.0](feature/dynamodbstreams/attributevalue/CHANGELOG.md#v190-2022-04-15)
- * **Feature**: Support has been added for specifying a custom time format when encoding and decoding DynamoDB AttributeValues. Use `EncoderOptions.EncodeTime` to specify a custom time encoding function, and use `DecoderOptions.DecodeTime` for specifying how to handle the corresponding AttributeValues using the format. Thank you [Pablo Lopez](https://github.com/plopezlpz) for this contribution.
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.15.0](service/athena/CHANGELOG.md#v1150-2022-04-15)
- * **Feature**: This release adds subfields, ErrorMessage, Retryable, to the AthenaError response object in the GetQueryExecution API when a query fails.
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.19.0](service/lightsail/CHANGELOG.md#v1190-2022-04-15)
- * **Feature**: This release adds support to describe the synchronization status of the account-level block public access feature for your Amazon Lightsail buckets.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.19.0](service/rds/CHANGELOG.md#v1190-2022-04-15)
- * **Feature**: Removes Amazon RDS on VMware with the deletion of APIs related to Custom Availability Zones and Media installation
-
-# Release (2022-04-14)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.15.0](service/appflow/CHANGELOG.md#v1150-2022-04-14)
- * **Feature**: Enables users to pass custom token URL parameters for Oauth2 authentication during create connector profile
-* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.16.0](service/appstream/CHANGELOG.md#v1160-2022-04-14)
- * **Feature**: Includes updates for create and update fleet APIs to manage the session scripts locations for Elastic fleets.
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.18.0](service/batch/CHANGELOG.md#v1180-2022-04-14)
- * **Feature**: Enables configuration updates for compute environments with BEST_FIT_PROGRESSIVE and SPOT_CAPACITY_OPTIMIZED allocation strategies.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.18.1](service/cloudwatch/CHANGELOG.md#v1181-2022-04-14)
- * **Documentation**: Updates documentation for additional statistics in CloudWatch Metric Streams.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.35.1](service/ec2/CHANGELOG.md#v1351-2022-04-14)
- * **Documentation**: Documentation updates for Amazon EC2.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.23.0](service/glue/CHANGELOG.md#v1230-2022-04-14)
- * **Feature**: Auto Scaling for Glue version 3.0 and later jobs to dynamically scale compute resources. This SDK change provides customers with the auto-scaled DPU usage
-
-# Release (2022-04-13)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.18.0](service/cloudwatch/CHANGELOG.md#v1180-2022-04-13)
- * **Feature**: Adds support for additional statistics in CloudWatch Metric Streams.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.23.0](service/fsx/CHANGELOG.md#v1230-2022-04-13)
- * **Feature**: This release adds support for deploying FSx for ONTAP file systems in a single Availability Zone.
-
-# Release (2022-04-12)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.17.0](service/devopsguru/CHANGELOG.md#v1170-2022-04-12)
- * **Feature**: This release adds new APIs DeleteInsight to deletes the insight along with the associated anomalies, events and recommendations.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.35.0](service/ec2/CHANGELOG.md#v1350-2022-04-12)
- * **Feature**: X2idn and X2iedn instances are powered by 3rd generation Intel Xeon Scalable processors with an all-core turbo frequency up to 3.5 GHzAmazon EC2. C6a instances are powered by 3rd generation AMD EPYC processors.
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.17.0](service/efs/CHANGELOG.md#v1170-2022-04-12)
- * **Feature**: Amazon EFS adds support for a ThrottlingException when using the CreateAccessPoint API if the account is nearing the AccessPoint limit(120).
-* `github.com/aws/aws-sdk-go-v2/service/iottwinmaker`: [v1.6.0](service/iottwinmaker/CHANGELOG.md#v160-2022-04-12)
- * **Feature**: This release adds the following new features: 1) ListEntities API now supports search using ExternalId. 2) BatchPutPropertyValue and GetPropertyValueHistory API now allows users to represent time in sub-second level precisions.
-* `github.com/aws/aws-sdk-go-v2/service/kinesis`: [v1.15.4](service/kinesis/CHANGELOG.md#v1154-2022-04-12)
- * **Bug Fix**: Fixes an issue that caused the unexported constructor function names for EventStream types to be swapped for the event reader and writer respectivly.
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.14.4](service/lexruntimev2/CHANGELOG.md#v1144-2022-04-12)
- * **Bug Fix**: Fixes an issue that caused the unexported constructor function names for EventStream types to be swapped for the event reader and writer respectivly.
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.26.5](service/s3/CHANGELOG.md#v1265-2022-04-12)
- * **Bug Fix**: Fixes an issue that caused the unexported constructor function names for EventStream types to be swapped for the event reader and writer respectivly.
-* `github.com/aws/aws-sdk-go-v2/service/transcribestreaming`: [v1.6.4](service/transcribestreaming/CHANGELOG.md#v164-2022-04-12)
- * **Bug Fix**: Fixes an issue that caused the unexported constructor function names for EventStream types to be swapped for the event reader and writer respectivly.
-
-# Release (2022-04-11)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder`: [v1.6.0](service/amplifyuibuilder/CHANGELOG.md#v160-2022-04-11)
- * **Feature**: In this release, we have added the ability to bind events to component level actions.
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.12.0](service/apprunner/CHANGELOG.md#v1120-2022-04-11)
- * **Feature**: This release adds tracing for App Runner services with X-Ray using AWS Distro for OpenTelemetry. New APIs: CreateObservabilityConfiguration, DescribeObservabilityConfiguration, ListObservabilityConfigurations, and DeleteObservabilityConfiguration. Updated APIs: CreateService and UpdateService.
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.18.0](service/workspaces/CHANGELOG.md#v1180-2022-04-11)
- * **Feature**: Added API support that allows customers to create GPU-enabled WorkSpaces using EC2 G4dn instances.
-
-# Release (2022-04-08)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.22.0](service/mediaconvert/CHANGELOG.md#v1220-2022-04-08)
- * **Feature**: AWS Elemental MediaConvert SDK has added support for the pass-through of WebVTT styling to WebVTT outputs, pass-through of KLV metadata to supported formats, and improved filter support for processing 444/RGB content.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagevod`: [v1.17.0](service/mediapackagevod/CHANGELOG.md#v1170-2022-04-08)
- * **Feature**: This release adds ScteMarkersSource as an available field for Dash Packaging Configurations. When set to MANIFEST, MediaPackage will source the SCTE-35 markers from the manifest. When set to SEGMENTS, MediaPackage will source the SCTE-35 markers from the segments.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.19.0](service/wafv2/CHANGELOG.md#v1190-2022-04-08)
- * **Feature**: Add a new CurrentDefaultVersion field to ListAvailableManagedRuleGroupVersions API response; add a new VersioningSupported boolean to each ManagedRuleGroup returned from ListAvailableManagedRuleGroups API response.
-
-# Release (2022-04-07)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/internal/v4a`: [v1.0.0](internal/v4a/CHANGELOG.md#v100-2022-04-07)
- * **Release**: New internal v4a signing module location.
-* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.18.0](service/docdb/CHANGELOG.md#v1180-2022-04-07)
- * **Feature**: Added support to enable/disable performance insights when creating or modifying db instances
-* `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.16.0](service/eventbridge/CHANGELOG.md#v1160-2022-04-07)
- * **Feature**: Adds new EventBridge Endpoint resources for disaster recovery, multi-region failover, and cross-region replication capabilities to help you build resilient event-driven applications.
-* `github.com/aws/aws-sdk-go-v2/service/personalize`: [v1.18.0](service/personalize/CHANGELOG.md#v1180-2022-04-07)
- * **Feature**: This release provides tagging support in AWS Personalize.
-* `github.com/aws/aws-sdk-go-v2/service/pi`: [v1.14.4](service/pi/CHANGELOG.md#v1144-2022-04-07)
- * **Documentation**: Adds support for DocumentDB to the Performance Insights API.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.27.0](service/sagemaker/CHANGELOG.md#v1270-2022-04-07)
- * **Feature**: Amazon Sagemaker Notebook Instances now supports G5 instance types
-
-# Release (2022-04-06)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.21.0](service/configservice/CHANGELOG.md#v1210-2022-04-06)
- * **Feature**: Add resourceType enums for AWS::EMR::SecurityConfiguration and AWS::SageMaker::CodeRepository
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.24.0](service/kendra/CHANGELOG.md#v1240-2022-04-06)
- * **Feature**: Amazon Kendra now provides a data source connector for Box. For more information, see https://docs.aws.amazon.com/kendra/latest/dg/data-source-box.html
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.22.0](service/lambda/CHANGELOG.md#v1220-2022-04-06)
- * **Feature**: This release adds new APIs for creating and managing Lambda Function URLs and adds a new FunctionUrlAuthType parameter to the AddPermission API. Customers can use Function URLs to create built-in HTTPS endpoints on their functions.
-* `github.com/aws/aws-sdk-go-v2/service/panorama`: [v1.7.0](service/panorama/CHANGELOG.md#v170-2022-04-06)
- * **Feature**: Added Brand field to device listings.
-
-# Release (2022-04-05)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.15.0](service/datasync/CHANGELOG.md#v1150-2022-04-05)
- * **Feature**: AWS DataSync now supports Amazon FSx for OpenZFS locations.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.22.0](service/fsx/CHANGELOG.md#v1220-2022-04-05)
- * **Feature**: Provide customers more visibility into file system status by adding new "Misconfigured Unavailable" status for Amazon FSx for Windows File Server.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.21.4](service/s3control/CHANGELOG.md#v1214-2022-04-05)
- * **Documentation**: Documentation-only update for doc bug fixes for the S3 Control API docs.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.20.0](service/securityhub/CHANGELOG.md#v1200-2022-04-05)
- * **Feature**: Added additional ASFF details for RdsSecurityGroup AutoScalingGroup, ElbLoadBalancer, CodeBuildProject and RedshiftCluster.
-
-# Release (2022-04-04)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.24.0](service/iot/CHANGELOG.md#v1240-2022-04-04)
- * **Feature**: AWS IoT - AWS IoT Device Defender adds support to list metric datapoints collected for IoT devices through the ListMetricValues API
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.13.0](service/proton/CHANGELOG.md#v1130-2022-04-04)
- * **Feature**: SDK release to support tagging for AWS Proton Repository resource
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.14.0](service/servicecatalog/CHANGELOG.md#v1140-2022-04-04)
- * **Feature**: This release adds ProvisioningArtifictOutputKeys to DescribeProvisioningParameters to reference the outputs of a Provisioned Product and deprecates ProvisioningArtifactOutputs.
-* `github.com/aws/aws-sdk-go-v2/service/sms`: [v1.12.4](service/sms/CHANGELOG.md#v1124-2022-04-04)
- * **Documentation**: Revised product update notice for SMS console deprecation.
-
-# Release (2022-04-01)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.21.0](service/connect/CHANGELOG.md#v1210-2022-04-01)
- * **Feature**: This release updates these APIs: UpdateInstanceAttribute, DescribeInstanceAttribute and ListInstanceAttributes. You can use it to programmatically enable/disable multi-party conferencing using attribute type MULTI_PARTY_CONFERENCING on the specified Amazon Connect instance.
-
-# Release (2022-03-31)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue`: [v1.8.4](feature/dynamodb/attributevalue/CHANGELOG.md#v184-2022-03-31)
- * **Documentation**: Fixes documentation typos in Number type's helper methods
-* `github.com/aws/aws-sdk-go-v2/feature/dynamodbstreams/attributevalue`: [v1.8.4](feature/dynamodbstreams/attributevalue/CHANGELOG.md#v184-2022-03-31)
- * **Documentation**: Fixes documentation typos in Number type's helper methods
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.18.3](service/auditmanager/CHANGELOG.md#v1183-2022-03-31)
- * **Documentation**: This release adds documentation updates for Audit Manager. The updates provide data deletion guidance when a customer deregisters Audit Manager or deregisters a delegated administrator.
-* `github.com/aws/aws-sdk-go-v2/service/cloudcontrol`: [v1.9.0](service/cloudcontrol/CHANGELOG.md#v190-2022-03-31)
- * **Feature**: SDK release for Cloud Control API in Amazon Web Services China (Beijing) Region, operated by Sinnet, and Amazon Web Services China (Ningxia) Region, operated by NWCD
-* `github.com/aws/aws-sdk-go-v2/service/databrew`: [v1.20.0](service/databrew/CHANGELOG.md#v1200-2022-03-31)
- * **Feature**: This AWS Glue Databrew release adds feature to support ORC as an input format.
-* `github.com/aws/aws-sdk-go-v2/service/grafana`: [v1.8.0](service/grafana/CHANGELOG.md#v180-2022-03-31)
- * **Feature**: This release adds tagging support to the Managed Grafana service. New APIs: TagResource, UntagResource and ListTagsForResource. Updates: add optional field tags to support tagging while calling CreateWorkspace.
-* `github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2`: [v1.0.0](service/pinpointsmsvoicev2/CHANGELOG.md#v100-2022-03-31)
- * **Release**: New AWS service client module
- * **Feature**: Amazon Pinpoint now offers a version 2.0 suite of SMS and voice APIs, providing increased control over sending and configuration. This release is a new SDK for sending SMS and voice messages called PinpointSMSVoiceV2.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycluster`: [v1.9.0](service/route53recoverycluster/CHANGELOG.md#v190-2022-03-31)
- * **Feature**: This release adds a new API "ListRoutingControls" to list routing control states using the highly reliable Route 53 ARC data plane endpoints.
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.17.0](service/workspaces/CHANGELOG.md#v1170-2022-03-31)
- * **Feature**: Added APIs that allow you to customize the logo, login message, and help links in the WorkSpaces client login page. To learn more, visit https://docs.aws.amazon.com/workspaces/latest/adminguide/customize-branding.html
-
-# Release (2022-03-30)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.34.0](service/ec2/CHANGELOG.md#v1340-2022-03-30)
- * **Feature**: This release simplifies the auto-recovery configuration process enabling customers to set the recovery behavior to disabled or default
-* `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.17.0](service/fms/CHANGELOG.md#v1170-2022-03-30)
- * **Feature**: AWS Firewall Manager now supports the configuration of third-party policies that can use either the centralized or distributed deployment models.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.21.0](service/fsx/CHANGELOG.md#v1210-2022-03-30)
- * **Feature**: This release adds support for modifying throughput capacity for FSx for ONTAP file systems.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.23.3](service/iot/CHANGELOG.md#v1233-2022-03-30)
- * **Documentation**: Doc only update for IoT that fixes customer-reported issues.
-* `github.com/aws/aws-sdk-go-v2/service/iotdataplane`: [v1.12.0](service/iotdataplane/CHANGELOG.md#v1120-2022-03-30)
- * **Feature**: Update the default AWS IoT Core Data Plane endpoint from VeriSign signed to ATS signed. If you have firewalls with strict egress rules, configure the rules to grant you access to data-ats.iot.[region].amazonaws.com or data-ats.iot.[region].amazonaws.com.cn.
-
-# Release (2022-03-29)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/organizations`: [v1.15.0](service/organizations/CHANGELOG.md#v1150-2022-03-29)
- * **Feature**: This release provides the new CloseAccount API that enables principals in the management account to close any member account within an organization.
-
-# Release (2022-03-28)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.17.3](service/acmpca/CHANGELOG.md#v1173-2022-03-28)
- * **Documentation**: Updating service name entities
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.20.0](service/medialive/CHANGELOG.md#v1200-2022-03-28)
- * **Feature**: This release adds support for selecting a maintenance window.
-
-# Release (2022-03-25)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.17.0](service/batch/CHANGELOG.md#v1170-2022-03-25)
- * **Feature**: Bug Fix: Fixed a bug where shapes were marked as unboxed and were not serialized and sent over the wire, causing an API error from the service.
- * This is a breaking change, and has been accepted due to the API operation not being usable due to the members modeled as unboxed (aka value) types. The update changes the members to boxed (aka pointer) types so that the zero value of the members can be handled correctly by the SDK and service. Your application will fail to compile with the updated module. To workaround this you'll need to update your application to use pointer types for the members impacted.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.33.0](service/ec2/CHANGELOG.md#v1330-2022-03-25)
- * **Feature**: This is release adds support for Amazon VPC Reachability Analyzer to analyze path through a Transit Gateway.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.24.0](service/ssm/CHANGELOG.md#v1240-2022-03-25)
- * **Feature**: This Patch Manager release supports creating, updating, and deleting Patch Baselines for Rocky Linux OS.
-
-# Release (2022-03-24)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.20.0](service/configservice/CHANGELOG.md#v1200-2022-03-24)
- * **Feature**: Added new APIs GetCustomRulePolicy and GetOrganizationCustomRulePolicy, and updated existing APIs PutConfigRule, DescribeConfigRule, DescribeConfigRuleEvaluationStatus, PutOrganizationConfigRule, DescribeConfigRule to support a new feature for building AWS Config rules with AWS CloudFormation Guard
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.21.0](service/lambda/CHANGELOG.md#v1210-2022-03-24)
- * **Feature**: Adds support for increased ephemeral storage (/tmp) up to 10GB for Lambda functions. Customers can now provision up to 10 GB of ephemeral storage per function instance, a 20x increase over the previous limit of 512 MB.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.19.0](service/transcribe/CHANGELOG.md#v1190-2022-03-24)
- * **Feature**: This release adds an additional parameter for subtitling with Amazon Transcribe batch jobs: outputStartIndex.
-
-# Release (2022-03-23)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.16.0
- * **Feature**: Update CredentialsCache to make use of two new optional CredentialsProvider interfaces to give the cache, per provider, behavior how the cache handles credentials that fail to refresh, and adjusting expires time. See [aws.CredentialsCache](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws#CredentialsCache) for more details.
- * **Feature**: Update `ec2rolecreds` package's `Provider` to implememnt support for CredentialsCache new optional caching strategy interfaces, HandleFailRefreshCredentialsCacheStrategy and AdjustExpiresByCredentialsCacheStrategy.
-* `github.com/aws/aws-sdk-go-v2/credentials`: [v1.11.0](credentials/CHANGELOG.md#v1110-2022-03-23)
- * **Feature**: Update `ec2rolecreds` package's `Provider` to implememnt support for CredentialsCache new optional caching strategy interfaces, HandleFailRefreshCredentialsCacheStrategy and AdjustExpiresByCredentialsCacheStrategy.
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.18.0](service/auditmanager/CHANGELOG.md#v1180-2022-03-23)
- * **Feature**: This release updates 1 API parameter, the SnsArn attribute. The character length and regex pattern for the SnsArn attribute have been updated, which enables you to deselect an SNS topic when using the UpdateSettings operation.
-* `github.com/aws/aws-sdk-go-v2/service/ebs`: [v1.15.0](service/ebs/CHANGELOG.md#v1150-2022-03-23)
- * **Feature**: Increased the maximum supported value for the Timeout parameter of the StartSnapshot API from 60 minutes to 4320 minutes. Changed the HTTP error code for ConflictException from 503 to 409.
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.20.2](service/elasticache/CHANGELOG.md#v1202-2022-03-23)
- * **Documentation**: Doc only update for ElastiCache
-* `github.com/aws/aws-sdk-go-v2/service/gamesparks`: [v1.0.0](service/gamesparks/CHANGELOG.md#v100-2022-03-23)
- * **Release**: New AWS service client module
- * **Feature**: Released the preview of Amazon GameSparks, a fully managed AWS service that provides a multi-service backend for game developers.
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.22.0](service/redshift/CHANGELOG.md#v1220-2022-03-23)
- * **Feature**: This release adds a new [--encrypted | --no-encrypted] field in restore-from-cluster-snapshot API. Customers can now restore an unencrypted snapshot to a cluster encrypted with AWS Managed Key or their own KMS key.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.23.0](service/ssm/CHANGELOG.md#v1230-2022-03-23)
- * **Feature**: Update AddTagsToResource, ListTagsForResource, and RemoveTagsFromResource APIs to reflect the support for tagging Automation resources. Includes other minor documentation updates.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.18.1](service/transfer/CHANGELOG.md#v1181-2022-03-23)
- * **Documentation**: Documentation updates for AWS Transfer Family to describe how to remove an associated workflow from a server.
-
-# Release (2022-03-22)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.18.0](service/costexplorer/CHANGELOG.md#v1180-2022-03-22)
- * **Feature**: Added three new APIs to support tagging and resource-level authorization on Cost Explorer resources: TagResource, UntagResource, ListTagsForResource. Added optional parameters to CreateCostCategoryDefinition, CreateAnomalySubscription and CreateAnomalyMonitor APIs to support Tag On Create.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.18.2](service/ecs/CHANGELOG.md#v1182-2022-03-22)
- * **Documentation**: Documentation only update to address tickets
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.16.0](service/lakeformation/CHANGELOG.md#v1160-2022-03-22)
- * **Feature**: The release fixes the incorrect permissions called out in the documentation - DESCRIBE_TAG, ASSOCIATE_TAG, DELETE_TAG, ALTER_TAG. This trebuchet release fixes the corresponding SDK and documentation.
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.16.0](service/location/CHANGELOG.md#v1160-2022-03-22)
- * **Feature**: Amazon Location Service now includes a MaxResults parameter for GetDevicePositionHistory requests.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.14.0](service/polly/CHANGELOG.md#v1140-2022-03-22)
- * **Feature**: Amazon Polly adds new Catalan voice - Arlet. Arlet is available as Neural voice only.
-
-# Release (2022-03-21)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.8.0](service/chimesdkmeetings/CHANGELOG.md#v180-2022-03-21)
- * **Feature**: Add support for media replication to link multiple WebRTC media sessions together to reach larger and global audiences. Participants connected to a replica session can be granted access to join the primary session and can switch sessions with their existing WebRTC connection
-* `github.com/aws/aws-sdk-go-v2/service/ecr`: [v1.17.0](service/ecr/CHANGELOG.md#v1170-2022-03-21)
- * **Feature**: This release includes a fix in the DescribeImageScanFindings paginated output.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconnect`: [v1.16.0](service/mediaconnect/CHANGELOG.md#v1160-2022-03-21)
- * **Feature**: This release adds support for selecting a maintenance window.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.21.0](service/quicksight/CHANGELOG.md#v1210-2022-03-21)
- * **Feature**: AWS QuickSight Service Features - Expand public API support for group management.
-* `github.com/aws/aws-sdk-go-v2/service/ram`: [v1.16.1](service/ram/CHANGELOG.md#v1161-2022-03-21)
- * **Documentation**: Document improvements to the RAM API operations and parameter descriptions.
-
-# Release (2022-03-18)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.22.0](service/glue/CHANGELOG.md#v1220-2022-03-18)
- * **Feature**: Added 9 new APIs for AWS Glue Interactive Sessions: ListSessions, StopSession, CreateSession, GetSession, DeleteSession, RunStatement, GetStatement, ListStatements, CancelStatement
-
-# Release (2022-03-16)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.17.0](service/acmpca/CHANGELOG.md#v1170-2022-03-16)
- * **Feature**: AWS Certificate Manager (ACM) Private Certificate Authority (CA) now supports customizable certificate subject names and extensions.
-* `github.com/aws/aws-sdk-go-v2/service/amplifybackend`: [v1.13.0](service/amplifybackend/CHANGELOG.md#v1130-2022-03-16)
- * **Feature**: Adding the ability to customize Cognito verification messages for email and SMS in CreateBackendAuth and UpdateBackendAuth. Adding deprecation documentation for ForgotPassword in CreateBackendAuth and UpdateBackendAuth
-* `github.com/aws/aws-sdk-go-v2/service/billingconductor`: [v1.0.0](service/billingconductor/CHANGELOG.md#v100-2022-03-16)
- * **Release**: New AWS service client module
- * **Feature**: This is the initial SDK release for AWS Billing Conductor. The AWS Billing Conductor is a customizable billing service, allowing you to customize your billing data to match your desired business structure.
-* `github.com/aws/aws-sdk-go-v2/service/s3outposts`: [v1.13.0](service/s3outposts/CHANGELOG.md#v1130-2022-03-16)
- * **Feature**: S3 on Outposts is releasing a new API, ListSharedEndpoints, that lists all endpoints associated with S3 on Outpost, that has been shared by Resource Access Manager (RAM).
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.13.0](service/ssmincidents/CHANGELOG.md#v1130-2022-03-16)
- * **Feature**: Removed incorrect validation pattern for IncidentRecordSource.invokedBy
-
-# Release (2022-03-15)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.15.0](service/cognitoidentityprovider/CHANGELOG.md#v1150-2022-03-15)
- * **Feature**: Updated EmailConfigurationType and SmsConfigurationType to reflect that you can now choose Amazon SES and Amazon SNS resources in the same Region.
-* `github.com/aws/aws-sdk-go-v2/service/dataexchange`: [v1.15.0](service/dataexchange/CHANGELOG.md#v1150-2022-03-15)
- * **Feature**: This feature enables data providers to use the RevokeRevision operation to revoke subscriber access to a given revision. Subscribers are unable to interact with assets within a revoked revision.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.32.0](service/ec2/CHANGELOG.md#v1320-2022-03-15)
- * **Feature**: Adds the Cascade parameter to the DeleteIpam API. Customers can use this parameter to automatically delete their IPAM, including non-default scopes, pools, cidrs, and allocations. There mustn't be any pools provisioned in the default public scope to use this parameter.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.18.1](service/ecs/CHANGELOG.md#v1181-2022-03-15)
- * **Documentation**: Documentation only update to address tickets
-* `github.com/aws/aws-sdk-go-v2/service/keyspaces`: [v1.0.2](service/keyspaces/CHANGELOG.md#v102-2022-03-15)
- * **Documentation**: Fixing formatting issues in CLI and SDK documentation
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.15.1](service/location/CHANGELOG.md#v1151-2022-03-15)
- * **Documentation**: New HERE style "VectorHereExplore" and "VectorHereExploreTruck".
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.18.1](service/rds/CHANGELOG.md#v1181-2022-03-15)
- * **Documentation**: Various documentation improvements
-* `github.com/aws/aws-sdk-go-v2/service/robomaker`: [v1.17.0](service/robomaker/CHANGELOG.md#v1170-2022-03-15)
- * **Feature**: This release deprecates ROS, Ubuntu and Gazbeo from RoboMaker Simulation Service Software Suites in favor of user-supplied containers and Relaxed Software Suites.
-
-# Release (2022-03-14)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.19.0](service/configservice/CHANGELOG.md#v1190-2022-03-14)
- * **Feature**: Add resourceType enums for AWS::ECR::PublicRepository and AWS::EC2::LaunchTemplate
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.20.1](service/elasticache/CHANGELOG.md#v1201-2022-03-14)
- * **Documentation**: Doc only update for ElastiCache
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.23.0](service/kendra/CHANGELOG.md#v1230-2022-03-14)
- * **Feature**: Amazon Kendra now provides a data source connector for Slack. For more information, see https://docs.aws.amazon.com/kendra/latest/dg/data-source-slack.html
-* `github.com/aws/aws-sdk-go-v2/service/timestreamquery`: [v1.14.0](service/timestreamquery/CHANGELOG.md#v1140-2022-03-14)
- * **Feature**: Amazon Timestream Scheduled Queries now support Timestamp datatype in a multi-measure record.
-
-# Release (2022-03-11)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.20.0](service/chime/CHANGELOG.md#v1200-2022-03-11)
- * **Feature**: Chime VoiceConnector Logging APIs will now support MediaMetricLogs. Also CreateMeetingDialOut now returns AccessDeniedException.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.20.0](service/connect/CHANGELOG.md#v1200-2022-03-11)
- * **Feature**: This release adds support for enabling Rich Messaging when starting a new chat session via the StartChatContact API. Rich Messaging enables the following formatting options: bold, italics, hyperlinks, bulleted lists, and numbered lists.
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.20.0](service/lambda/CHANGELOG.md#v1200-2022-03-11)
- * **Feature**: Adds PrincipalOrgID support to AddPermission API. Customers can use it to manage permissions to lambda functions at AWS Organizations level.
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.18.0](service/outposts/CHANGELOG.md#v1180-2022-03-11)
- * **Feature**: This release adds address filters for listSites
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.15.1](service/secretsmanager/CHANGELOG.md#v1151-2022-03-11)
- * **Documentation**: Documentation updates for Secrets Manager.
-* `github.com/aws/aws-sdk-go-v2/service/transcribestreaming`: [v1.6.0](service/transcribestreaming/CHANGELOG.md#v160-2022-03-11)
- * **Feature**: Amazon Transcribe StartTranscription API now supports additional parameters for Language Identification feature: customVocabularies and customFilterVocabularies
-
-# Release (2022-03-10)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.20.0](service/lexmodelsv2/CHANGELOG.md#v1200-2022-03-10)
- * **Feature**: This release makes slotTypeId an optional parameter in CreateSlot and UpdateSlot APIs in Amazon Lex V2 for model building. Customers can create and update slots without specifying a slot type id.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.18.0](service/transcribe/CHANGELOG.md#v1180-2022-03-10)
- * **Feature**: Documentation fix for API `StartMedicalTranscriptionJobRequest`, now showing min sample rate as 16khz
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.18.0](service/transfer/CHANGELOG.md#v1180-2022-03-10)
- * **Feature**: Adding more descriptive error types for managed workflows
-
-# Release (2022-03-09)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.17.0](service/comprehend/CHANGELOG.md#v1170-2022-03-09)
- * **Feature**: Amazon Comprehend now supports extracting the sentiment associated with entities such as brands, products and services from text documents.
-
-# Release (2022-03-08.3)
-
-* No change notes available for this release.
-
-# Release (2022-03-08.2)
-
-* No change notes available for this release.
-
-# Release (2022-03-08)
-
-## General Highlights
-* **Feature**: Updated `github.com/aws/smithy-go` to latest version
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/amplify`: [v1.11.0](service/amplify/CHANGELOG.md#v1110-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder`: [v1.5.0](service/amplifyuibuilder/CHANGELOG.md#v150-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.14.0](service/appflow/CHANGELOG.md#v1140-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.11.0](service/apprunner/CHANGELOG.md#v1110-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.14.0](service/athena/CHANGELOG.md#v1140-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.15.0](service/braket/CHANGELOG.md#v1150-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.7.0](service/chimesdkmeetings/CHANGELOG.md#v170-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.15.0](service/cloudtrail/CHANGELOG.md#v1150-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.19.0](service/connect/CHANGELOG.md#v1190-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.16.0](service/devopsguru/CHANGELOG.md#v1160-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.31.0](service/ec2/CHANGELOG.md#v1310-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/ecr`: [v1.16.0](service/ecr/CHANGELOG.md#v1160-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.18.0](service/ecs/CHANGELOG.md#v1180-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.20.0](service/elasticache/CHANGELOG.md#v1200-2022-03-08)
- * **Documentation**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.10.0](service/finspacedata/CHANGELOG.md#v1100-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/fis`: [v1.12.0](service/fis/CHANGELOG.md#v1120-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.20.0](service/fsx/CHANGELOG.md#v1200-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.14.0](service/gamelift/CHANGELOG.md#v1140-2022-03-08)
- * **Documentation**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.15.0](service/greengrassv2/CHANGELOG.md#v1150-2022-03-08)
- * **Documentation**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/internal/checksum`: [v1.1.0](service/internal/checksum/CHANGELOG.md#v110-2022-03-08)
- * **Feature**: Updates the SDK's checksum validation logic to require opt-in to output response payload validation. The SDK was always preforming output response payload checksum validation, not respecting the output validation model option. Fixes [#1606](https://github.com/aws/aws-sdk-go-v2/issues/1606)
-* `github.com/aws/aws-sdk-go-v2/service/kafkaconnect`: [v1.8.0](service/kafkaconnect/CHANGELOG.md#v180-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.22.0](service/kendra/CHANGELOG.md#v1220-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/keyspaces`: [v1.0.0](service/keyspaces/CHANGELOG.md#v100-2022-03-08)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/macie`: [v1.14.0](service/macie/CHANGELOG.md#v1140-2022-03-08)
- * **Documentation**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackage`: [v1.15.0](service/mediapackage/CHANGELOG.md#v1150-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.13.0](service/mgn/CHANGELOG.md#v1130-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubrefactorspaces`: [v1.5.0](service/migrationhubrefactorspaces/CHANGELOG.md#v150-2022-03-08)
- * **Documentation**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/mq`: [v1.12.0](service/mq/CHANGELOG.md#v1120-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/panorama`: [v1.6.0](service/panorama/CHANGELOG.md#v160-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.18.0](service/rds/CHANGELOG.md#v1180-2022-03-08)
- * **Documentation**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycluster`: [v1.8.0](service/route53recoverycluster/CHANGELOG.md#v180-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry`: [v1.12.0](service/servicecatalogappregistry/CHANGELOG.md#v1120-2022-03-08)
- * **Documentation**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.18.0](service/sqs/CHANGELOG.md#v1180-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.16.0](service/sts/CHANGELOG.md#v1160-2022-03-08)
- * **Documentation**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/synthetics`: [v1.14.0](service/synthetics/CHANGELOG.md#v1140-2022-03-08)
- * **Documentation**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/timestreamquery`: [v1.13.0](service/timestreamquery/CHANGELOG.md#v1130-2022-03-08)
- * **Documentation**: Updated service client model to latest release.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.17.0](service/transfer/CHANGELOG.md#v1170-2022-03-08)
- * **Feature**: Updated service client model to latest release.
-
-# Release (2022-02-24.2)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.21.0](service/autoscaling/CHANGELOG.md#v1210-2022-02-242)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/databrew`: [v1.18.0](service/databrew/CHANGELOG.md#v1180-2022-02-242)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.15.0](service/fms/CHANGELOG.md#v1150-2022-02-242)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.17.0](service/lightsail/CHANGELOG.md#v1170-2022-02-242)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.19.0](service/route53/CHANGELOG.md#v1190-2022-02-242)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.20.0](service/s3control/CHANGELOG.md#v1200-2022-02-242)
- * **Feature**: API client updated
-
-# Release (2022-02-24)
-
-## General Highlights
-* **Feature**: Adds RetryMaxAttempts and RetryMod to API client Options. This allows the API clients' default Retryer to be configured from the shared configuration files or environment variables. Adding a new Retry mode of `Adaptive`. `Adaptive` retry mode is an experimental mode, adding client rate limiting when throttles reponses are received from an API. See [retry.AdaptiveMode](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws/retry#AdaptiveMode) for more details, and configuration options.
-* **Feature**: Updated `github.com/aws/smithy-go` to latest version
-* **Bug Fix**: Fixes the AWS Sigv4 signer to trim header value's whitespace when computing the canonical headers block of the string to sign.
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.14.0
- * **Feature**: Add new AdaptiveMode retryer to aws/retry package. This new retryer uses dynamic token bucketing with client ratelimiting when throttle responses are received.
- * **Feature**: Adds new interface aws.RetryerV2, replacing aws.Retryer and deprecating the GetInitialToken method in favor of GetAttemptToken so Context can be provided. The SDK will use aws.RetryerV2 internally. Wrapping aws.Retryers as aws.RetryerV2 automatically.
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.14.0](config/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: Adds support for loading RetryMaxAttempts and RetryMod from the environment and shared configuration files. These parameters drive how the SDK's API client will initialize its default retryer, if custome retryer has not been specified. See [config](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/config) module and [aws.Config](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws#Config) for more information about and how to use these new options.
- * **Feature**: Adds support for the `ca_bundle` parameter in shared config and credentials files. The usage of the file is the same as environment variable, `AWS_CA_BUNDLE`, but sourced from shared config. Fixes [#1589](https://github.com/aws/aws-sdk-go-v2/issues/1589)
-* `github.com/aws/aws-sdk-go-v2/credentials`: [v1.9.0](credentials/CHANGELOG.md#v190-2022-02-24)
- * **Feature**: Adds support for `SourceIdentity` to `stscreds.AssumeRoleProvider` [#1588](https://github.com/aws/aws-sdk-go-v2/pull/1588). Fixes [#1575](https://github.com/aws/aws-sdk-go-v2/issues/1575)
-* `github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue`: [v1.7.0](feature/dynamodb/attributevalue/CHANGELOG.md#v170-2022-02-24)
- * **Feature**: Fixes [#645](https://github.com/aws/aws-sdk-go-v2/issues/645), [#411](https://github.com/aws/aws-sdk-go-v2/issues/411) by adding support for (un)marshaling AttributeValue maps to Go maps key types of string, number, bool, and types implementing encoding.Text(un)Marshaler interface
- * **Bug Fix**: Fixes [#1569](https://github.com/aws/aws-sdk-go-v2/issues/1569) inconsistent serialization of Go struct field names
-* `github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression`: [v1.4.0](feature/dynamodb/expression/CHANGELOG.md#v140-2022-02-24)
- * **Feature**: Add support for expression names with dots via new NameBuilder function NameNoDotSplit, related to [aws/aws-sdk-go#2570](https://github.com/aws/aws-sdk-go/issues/2570)
-* `github.com/aws/aws-sdk-go-v2/feature/dynamodbstreams/attributevalue`: [v1.7.0](feature/dynamodbstreams/attributevalue/CHANGELOG.md#v170-2022-02-24)
- * **Feature**: Fixes [#645](https://github.com/aws/aws-sdk-go-v2/issues/645), [#411](https://github.com/aws/aws-sdk-go-v2/issues/411) by adding support for (un)marshaling AttributeValue maps to Go maps key types of string, number, bool, and types implementing encoding.Text(un)Marshaler interface
- * **Bug Fix**: Fixes [#1569](https://github.com/aws/aws-sdk-go-v2/issues/1569) inconsistent serialization of Go struct field names
-* `github.com/aws/aws-sdk-go-v2/service/accessanalyzer`: [v1.14.0](service/accessanalyzer/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/account`: [v1.5.0](service/account/CHANGELOG.md#v150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/acm`: [v1.13.0](service/acm/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.15.0](service/acmpca/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/alexaforbusiness`: [v1.13.0](service/alexaforbusiness/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/amp`: [v1.13.0](service/amp/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/amplify`: [v1.10.0](service/amplify/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/amplifybackend`: [v1.11.0](service/amplifybackend/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder`: [v1.4.0](service/amplifyuibuilder/CHANGELOG.md#v140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/apigateway`: [v1.14.0](service/apigateway/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi`: [v1.9.0](service/apigatewaymanagementapi/CHANGELOG.md#v190-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/apigatewayv2`: [v1.11.0](service/apigatewayv2/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.11.0](service/appconfig/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/appconfigdata`: [v1.3.0](service/appconfigdata/CHANGELOG.md#v130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.13.0](service/appflow/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/appintegrations`: [v1.12.0](service/appintegrations/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/applicationautoscaling`: [v1.14.0](service/applicationautoscaling/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/applicationcostprofiler`: [v1.8.0](service/applicationcostprofiler/CHANGELOG.md#v180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/applicationdiscoveryservice`: [v1.11.0](service/applicationdiscoveryservice/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/applicationinsights`: [v1.14.0](service/applicationinsights/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/appmesh`: [v1.12.0](service/appmesh/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.10.0](service/apprunner/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.14.0](service/appstream/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.13.0](service/appsync/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.13.0](service/athena/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.16.0](service/auditmanager/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.20.0](service/autoscaling/CHANGELOG.md#v1200-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/autoscalingplans`: [v1.11.0](service/autoscalingplans/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.14.0](service/backup/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/backupgateway`: [v1.4.0](service/backupgateway/CHANGELOG.md#v140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.15.0](service/batch/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.14.0](service/braket/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/budgets`: [v1.11.0](service/budgets/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.18.0](service/chime/CHANGELOG.md#v1180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkidentity`: [v1.8.0](service/chimesdkidentity/CHANGELOG.md#v180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.6.0](service/chimesdkmeetings/CHANGELOG.md#v160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.8.0](service/chimesdkmessaging/CHANGELOG.md#v180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloud9`: [v1.15.0](service/cloud9/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudcontrol`: [v1.7.0](service/cloudcontrol/CHANGELOG.md#v170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/clouddirectory`: [v1.11.0](service/clouddirectory/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.19.0](service/cloudformation/CHANGELOG.md#v1190-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.15.0](service/cloudfront/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudhsm`: [v1.11.0](service/cloudhsm/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudhsmv2`: [v1.12.0](service/cloudhsmv2/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudsearch`: [v1.12.0](service/cloudsearch/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudsearchdomain`: [v1.10.0](service/cloudsearchdomain/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.14.0](service/cloudtrail/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.16.0](service/cloudwatch/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchevents`: [v1.13.0](service/cloudwatchevents/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.14.0](service/cloudwatchlogs/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.11.0](service/codeartifact/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codebuild`: [v1.18.0](service/codebuild/CHANGELOG.md#v1180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codecommit`: [v1.12.0](service/codecommit/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codedeploy`: [v1.13.0](service/codedeploy/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codeguruprofiler`: [v1.11.0](service/codeguruprofiler/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codegurureviewer`: [v1.14.0](service/codegurureviewer/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codepipeline`: [v1.12.0](service/codepipeline/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codestar`: [v1.10.0](service/codestar/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codestarconnections`: [v1.12.0](service/codestarconnections/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codestarnotifications`: [v1.10.0](service/codestarnotifications/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentity`: [v1.12.0](service/cognitoidentity/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.13.0](service/cognitoidentityprovider/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cognitosync`: [v1.10.0](service/cognitosync/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.15.0](service/comprehend/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/comprehendmedical`: [v1.12.0](service/comprehendmedical/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.16.0](service/computeoptimizer/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.17.0](service/configservice/CHANGELOG.md#v1170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.18.0](service/connect/CHANGELOG.md#v1180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/connectcontactlens`: [v1.11.0](service/connectcontactlens/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/connectparticipant`: [v1.10.0](service/connectparticipant/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/costandusagereportservice`: [v1.12.0](service/costandusagereportservice/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.16.0](service/costexplorer/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.16.0](service/customerprofiles/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.17.0](service/databasemigrationservice/CHANGELOG.md#v1170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/databrew`: [v1.17.0](service/databrew/CHANGELOG.md#v1170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/dataexchange`: [v1.13.0](service/dataexchange/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/datapipeline`: [v1.12.0](service/datapipeline/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.13.0](service/datasync/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/dax`: [v1.10.0](service/dax/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/detective`: [v1.14.0](service/detective/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/devicefarm`: [v1.12.0](service/devicefarm/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.15.0](service/devopsguru/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/directconnect`: [v1.16.0](service/directconnect/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/directoryservice`: [v1.12.0](service/directoryservice/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/dlm`: [v1.10.0](service/dlm/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.16.0](service/docdb/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.4.0](service/drs/CHANGELOG.md#v140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.14.0](service/dynamodb/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/dynamodbstreams`: [v1.12.0](service/dynamodbstreams/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ebs`: [v1.13.0](service/ebs/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.30.0](service/ec2/CHANGELOG.md#v1300-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect`: [v1.12.0](service/ec2instanceconnect/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ecr`: [v1.15.0](service/ecr/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ecrpublic`: [v1.12.0](service/ecrpublic/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.17.0](service/ecs/CHANGELOG.md#v1170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.15.0](service/efs/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.19.0](service/eks/CHANGELOG.md#v1190-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.19.0](service/elasticache/CHANGELOG.md#v1190-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk`: [v1.13.0](service/elasticbeanstalk/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticinference`: [v1.10.0](service/elasticinference/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing`: [v1.13.0](service/elasticloadbalancing/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.17.0](service/elasticloadbalancingv2/CHANGELOG.md#v1170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticsearchservice`: [v1.14.0](service/elasticsearchservice/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elastictranscoder`: [v1.12.0](service/elastictranscoder/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.16.0](service/emr/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.12.0](service/emrcontainers/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.14.0](service/eventbridge/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/evidently`: [v1.5.0](service/evidently/CHANGELOG.md#v150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/finspace`: [v1.7.0](service/finspace/CHANGELOG.md#v170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.9.0](service/finspacedata/CHANGELOG.md#v190-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/firehose`: [v1.13.0](service/firehose/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/fis`: [v1.11.0](service/fis/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.14.0](service/fms/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.18.0](service/forecast/CHANGELOG.md#v1180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/forecastquery`: [v1.10.0](service/forecastquery/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
- * **Bug Fix**: Fixed an issue that resulted in the wrong service endpoints being constructed.
-* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.18.0](service/frauddetector/CHANGELOG.md#v1180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.19.0](service/fsx/CHANGELOG.md#v1190-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.13.0](service/gamelift/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/glacier`: [v1.12.0](service/glacier/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/globalaccelerator`: [v1.12.0](service/globalaccelerator/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.20.0](service/glue/CHANGELOG.md#v1200-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/grafana`: [v1.6.0](service/grafana/CHANGELOG.md#v160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/greengrass`: [v1.12.0](service/greengrass/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.14.0](service/greengrassv2/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/groundstation`: [v1.12.0](service/groundstation/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.12.0](service/guardduty/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/health`: [v1.14.0](service/health/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/healthlake`: [v1.13.0](service/healthlake/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/honeycode`: [v1.11.0](service/honeycode/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.17.0](service/iam/CHANGELOG.md#v1170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.13.0](service/identitystore/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.18.0](service/imagebuilder/CHANGELOG.md#v1180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/inspector`: [v1.11.0](service/inspector/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.5.0](service/inspector2/CHANGELOG.md#v150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/internal/checksum`: [v1.0.0](service/internal/checksum/CHANGELOG.md#v100-2022-02-24)
- * **Release**: New module for computing checksums
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.22.0](service/iot/CHANGELOG.md#v1220-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iot1clickdevicesservice`: [v1.9.0](service/iot1clickdevicesservice/CHANGELOG.md#v190-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iot1clickprojects`: [v1.10.0](service/iot1clickprojects/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotanalytics`: [v1.11.0](service/iotanalytics/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotdataplane`: [v1.10.0](service/iotdataplane/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotdeviceadvisor`: [v1.13.0](service/iotdeviceadvisor/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotevents`: [v1.13.0](service/iotevents/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ioteventsdata`: [v1.10.0](service/ioteventsdata/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotfleethub`: [v1.11.0](service/iotfleethub/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotjobsdataplane`: [v1.10.0](service/iotjobsdataplane/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotsecuretunneling`: [v1.11.0](service/iotsecuretunneling/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.19.0](service/iotsitewise/CHANGELOG.md#v1190-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotthingsgraph`: [v1.11.0](service/iotthingsgraph/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iottwinmaker`: [v1.4.0](service/iottwinmaker/CHANGELOG.md#v140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.17.0](service/iotwireless/CHANGELOG.md#v1170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.15.0](service/ivs/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kafka`: [v1.16.0](service/kafka/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kafkaconnect`: [v1.7.0](service/kafkaconnect/CHANGELOG.md#v170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.21.0](service/kendra/CHANGELOG.md#v1210-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kinesis`: [v1.14.0](service/kinesis/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalytics`: [v1.12.0](service/kinesisanalytics/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2`: [v1.13.0](service/kinesisanalyticsv2/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideo`: [v1.10.0](service/kinesisvideo/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideoarchivedmedia`: [v1.11.0](service/kinesisvideoarchivedmedia/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideomedia`: [v1.9.0](service/kinesisvideomedia/CHANGELOG.md#v190-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kinesisvideosignaling`: [v1.9.0](service/kinesisvideosignaling/CHANGELOG.md#v190-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.15.0](service/kms/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.14.0](service/lakeformation/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.18.0](service/lambda/CHANGELOG.md#v1180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice`: [v1.15.0](service/lexmodelbuildingservice/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.18.0](service/lexmodelsv2/CHANGELOG.md#v1180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimeservice`: [v1.11.0](service/lexruntimeservice/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.13.0](service/lexruntimev2/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/licensemanager`: [v1.14.0](service/licensemanager/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.16.0](service/lightsail/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.14.0](service/location/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lookoutequipment`: [v1.11.0](service/lookoutequipment/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.10.0](service/lookoutmetrics/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lookoutvision`: [v1.11.0](service/lookoutvision/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/machinelearning`: [v1.13.0](service/machinelearning/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/macie`: [v1.13.0](service/macie/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.19.0](service/macie2/CHANGELOG.md#v1190-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/managedblockchain`: [v1.11.0](service/managedblockchain/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/marketplacecatalog`: [v1.11.0](service/marketplacecatalog/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/marketplacecommerceanalytics`: [v1.10.0](service/marketplacecommerceanalytics/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/marketplaceentitlementservice`: [v1.10.0](service/marketplaceentitlementservice/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/marketplacemetering`: [v1.12.0](service/marketplacemetering/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediaconnect`: [v1.14.0](service/mediaconnect/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.20.0](service/mediaconvert/CHANGELOG.md#v1200-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.18.0](service/medialive/CHANGELOG.md#v1180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediapackage`: [v1.14.0](service/mediapackage/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagevod`: [v1.15.0](service/mediapackagevod/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediastore`: [v1.11.0](service/mediastore/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediastoredata`: [v1.11.0](service/mediastoredata/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.15.0](service/mediatailor/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/memorydb`: [v1.8.0](service/memorydb/CHANGELOG.md#v180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.12.0](service/mgn/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/migrationhub`: [v1.11.0](service/migrationhub/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubconfig`: [v1.11.0](service/migrationhubconfig/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubrefactorspaces`: [v1.4.0](service/migrationhubrefactorspaces/CHANGELOG.md#v140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubstrategy`: [v1.4.0](service/migrationhubstrategy/CHANGELOG.md#v140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mobile`: [v1.10.0](service/mobile/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mq`: [v1.11.0](service/mq/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mturk`: [v1.12.0](service/mturk/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mwaa`: [v1.11.0](service/mwaa/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/neptune`: [v1.15.0](service/neptune/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.14.0](service/networkfirewall/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/networkmanager`: [v1.11.0](service/networkmanager/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/nimble`: [v1.11.0](service/nimble/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.8.0](service/opensearch/CHANGELOG.md#v180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/opsworks`: [v1.12.0](service/opsworks/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/opsworkscm`: [v1.13.0](service/opsworkscm/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/organizations`: [v1.13.0](service/organizations/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.16.0](service/outposts/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/panorama`: [v1.5.0](service/panorama/CHANGELOG.md#v150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/personalize`: [v1.16.0](service/personalize/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/personalizeevents`: [v1.10.0](service/personalizeevents/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/personalizeruntime`: [v1.10.0](service/personalizeruntime/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/pi`: [v1.13.0](service/pi/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/pinpoint`: [v1.15.0](service/pinpoint/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/pinpointemail`: [v1.10.0](service/pinpointemail/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoice`: [v1.9.0](service/pinpointsmsvoice/CHANGELOG.md#v190-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.12.0](service/polly/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/pricing`: [v1.13.0](service/pricing/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.11.0](service/proton/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/qldb`: [v1.13.0](service/qldb/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/qldbsession`: [v1.12.0](service/qldbsession/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.19.0](service/quicksight/CHANGELOG.md#v1190-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ram`: [v1.15.0](service/ram/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rbin`: [v1.5.0](service/rbin/CHANGELOG.md#v150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.17.0](service/rds/CHANGELOG.md#v1170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rdsdata`: [v1.10.0](service/rdsdata/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.20.0](service/redshift/CHANGELOG.md#v1200-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/redshiftdata`: [v1.14.0](service/redshiftdata/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.16.0](service/rekognition/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/resiliencehub`: [v1.4.0](service/resiliencehub/CHANGELOG.md#v140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/resourcegroups`: [v1.11.0](service/resourcegroups/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi`: [v1.12.0](service/resourcegroupstaggingapi/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/robomaker`: [v1.15.0](service/robomaker/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.18.0](service/route53/CHANGELOG.md#v1180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/route53domains`: [v1.11.0](service/route53domains/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycluster`: [v1.7.0](service/route53recoverycluster/CHANGELOG.md#v170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig`: [v1.8.0](service/route53recoverycontrolconfig/CHANGELOG.md#v180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness`: [v1.7.0](service/route53recoveryreadiness/CHANGELOG.md#v170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/route53resolver`: [v1.14.0](service/route53resolver/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rum`: [v1.5.0](service/rum/CHANGELOG.md#v150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.25.0](service/s3/CHANGELOG.md#v1250-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.19.0](service/s3control/CHANGELOG.md#v1190-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/s3outposts`: [v1.11.0](service/s3outposts/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.25.0](service/sagemaker/CHANGELOG.md#v1250-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemakera2iruntime`: [v1.11.0](service/sagemakera2iruntime/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemakeredge`: [v1.10.0](service/sagemakeredge/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerfeaturestoreruntime`: [v1.10.0](service/sagemakerfeaturestoreruntime/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerruntime`: [v1.14.0](service/sagemakerruntime/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/savingsplans`: [v1.10.0](service/savingsplans/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/schemas`: [v1.13.0](service/schemas/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.14.0](service/secretsmanager/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.18.0](service/securityhub/CHANGELOG.md#v1180-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository`: [v1.10.0](service/serverlessapplicationrepository/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.12.0](service/servicecatalog/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry`: [v1.11.0](service/servicecatalogappregistry/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/servicediscovery`: [v1.16.0](service/servicediscovery/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/servicequotas`: [v1.12.0](service/servicequotas/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ses`: [v1.13.0](service/ses/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sesv2`: [v1.12.0](service/sesv2/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sfn`: [v1.12.0](service/sfn/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/shield`: [v1.15.0](service/shield/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/signer`: [v1.12.0](service/signer/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sms`: [v1.11.0](service/sms/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/snowball`: [v1.14.0](service/snowball/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/snowdevicemanagement`: [v1.7.0](service/snowdevicemanagement/CHANGELOG.md#v170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.16.0](service/sns/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.17.0](service/sqs/CHANGELOG.md#v1170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.21.0](service/ssm/CHANGELOG.md#v1210-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssmcontacts`: [v1.12.0](service/ssmcontacts/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.11.0](service/ssmincidents/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sso`: [v1.10.0](service/sso/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssoadmin`: [v1.13.0](service/ssoadmin/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssooidc`: [v1.11.0](service/ssooidc/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/storagegateway`: [v1.15.0](service/storagegateway/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.15.0](service/sts/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/support`: [v1.12.0](service/support/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/swf`: [v1.12.0](service/swf/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/synthetics`: [v1.13.0](service/synthetics/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.13.0](service/textract/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/timestreamquery`: [v1.12.0](service/timestreamquery/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/timestreamwrite`: [v1.12.0](service/timestreamwrite/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.16.0](service/transcribe/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/transcribestreaming`: [v1.4.0](service/transcribestreaming/CHANGELOG.md#v140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.16.0](service/transfer/CHANGELOG.md#v1160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/translate`: [v1.12.0](service/translate/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/voiceid`: [v1.7.0](service/voiceid/CHANGELOG.md#v170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/waf`: [v1.10.0](service/waf/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/wafregional`: [v1.11.0](service/wafregional/CHANGELOG.md#v1110-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.17.0](service/wafv2/CHANGELOG.md#v1170-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/wellarchitected`: [v1.13.0](service/wellarchitected/CHANGELOG.md#v1130-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/wisdom`: [v1.6.0](service/wisdom/CHANGELOG.md#v160-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/workdocs`: [v1.10.0](service/workdocs/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/worklink`: [v1.10.0](service/worklink/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/workmail`: [v1.14.0](service/workmail/CHANGELOG.md#v1140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/workmailmessageflow`: [v1.10.0](service/workmailmessageflow/CHANGELOG.md#v1100-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.15.0](service/workspaces/CHANGELOG.md#v1150-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/workspacesweb`: [v1.4.0](service/workspacesweb/CHANGELOG.md#v140-2022-02-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/xray`: [v1.12.0](service/xray/CHANGELOG.md#v1120-2022-02-24)
- * **Feature**: API client updated
-
-# Release (2022-01-28)
-
-## General Highlights
-* **Bug Fix**: Fixes the SDK's handling of `duration_sections` in the shared credentials file or specified in multiple shared config and shared credentials files under the same profile. [#1568](https://github.com/aws/aws-sdk-go-v2/pull/1568). Thanks to [Amir Szekely](https://github.com/kichik) for help reproduce this bug.
-* **Bug Fix**: Updates SDK API client deserialization to pre-allocate byte slice and string response payloads, [#1565](https://github.com/aws/aws-sdk-go-v2/pull/1565). Thanks to [Tyson Mote](https://github.com/tysonmote) for submitting this PR.
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.13.1](config/CHANGELOG.md#v1131-2022-01-28)
- * **Bug Fix**: Fixes LoadDefaultConfig handling of errors returned by passed in functional options. Previously errors returned from the LoadOptions passed into LoadDefaultConfig were incorrectly ignored. [#1562](https://github.com/aws/aws-sdk-go-v2/pull/1562). Thanks to [Pinglei Guo](https://github.com/pingleig) for submitting this PR.
- * **Bug Fix**: Updates `config` module to use os.UserHomeDir instead of hard coded environment variable for OS. [#1563](https://github.com/aws/aws-sdk-go-v2/pull/1563)
-* `github.com/aws/aws-sdk-go-v2/service/applicationinsights`: [v1.13.0](service/applicationinsights/CHANGELOG.md#v1130-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.13.1](service/cloudtrail/CHANGELOG.md#v1131-2022-01-28)
- * **Documentation**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/codegurureviewer`: [v1.13.1](service/codegurureviewer/CHANGELOG.md#v1131-2022-01-28)
- * **Documentation**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.16.0](service/configservice/CHANGELOG.md#v1160-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.17.0](service/connect/CHANGELOG.md#v1170-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ebs`: [v1.12.1](service/ebs/CHANGELOG.md#v1121-2022-01-28)
- * **Documentation**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.29.0](service/ec2/CHANGELOG.md#v1290-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect`: [v1.11.0](service/ec2instanceconnect/CHANGELOG.md#v1110-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.14.0](service/efs/CHANGELOG.md#v1140-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/fis`: [v1.10.0](service/fis/CHANGELOG.md#v1100-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.17.0](service/frauddetector/CHANGELOG.md#v1170-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.18.0](service/fsx/CHANGELOG.md#v1180-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/greengrass`: [v1.11.0](service/greengrass/CHANGELOG.md#v1110-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.13.0](service/greengrassv2/CHANGELOG.md#v1130-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.11.0](service/guardduty/CHANGELOG.md#v1110-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/honeycode`: [v1.10.0](service/honeycode/CHANGELOG.md#v1100-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.14.0](service/ivs/CHANGELOG.md#v1140-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/kafka`: [v1.15.0](service/kafka/CHANGELOG.md#v1150-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.13.0](service/location/CHANGELOG.md#v1130-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.9.0](service/lookoutmetrics/CHANGELOG.md#v190-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.18.0](service/macie2/CHANGELOG.md#v1180-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.19.0](service/mediaconvert/CHANGELOG.md#v1190-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.14.0](service/mediatailor/CHANGELOG.md#v1140-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ram`: [v1.14.0](service/ram/CHANGELOG.md#v1140-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness`: [v1.6.1](service/route53recoveryreadiness/CHANGELOG.md#v161-2022-01-28)
- * **Documentation**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.24.0](service/sagemaker/CHANGELOG.md#v1240-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.17.0](service/securityhub/CHANGELOG.md#v1170-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/storagegateway`: [v1.14.0](service/storagegateway/CHANGELOG.md#v1140-2022-01-28)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.15.0](service/transcribe/CHANGELOG.md#v1150-2022-01-28)
- * **Feature**: Updated to latest API model.
-
-# Release (2022-01-14)
-
-## General Highlights
-* **Feature**: Updated `github.com/aws/smithy-go` to latest version
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.13.0
- * **Bug Fix**: Updates the Retry middleware to release the retry token, on subsequent attempts. This fixes #1413, and is based on PR #1424
-* `github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue`: [v1.6.0](feature/dynamodb/attributevalue/CHANGELOG.md#v160-2022-01-14)
- * **Feature**: Adds new MarshalWithOptions and UnmarshalWithOptions helpers allowing Encoding and Decoding options to be specified when serializing AttributeValues. Addresses issue: https://github.com/aws/aws-sdk-go-v2/issues/1494
-* `github.com/aws/aws-sdk-go-v2/feature/dynamodbstreams/attributevalue`: [v1.6.0](feature/dynamodbstreams/attributevalue/CHANGELOG.md#v160-2022-01-14)
- * **Feature**: Adds new MarshalWithOptions and UnmarshalWithOptions helpers allowing Encoding and Decoding options to be specified when serializing AttributeValues. Addresses issue: https://github.com/aws/aws-sdk-go-v2/issues/1494
-* `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.12.0](service/appsync/CHANGELOG.md#v1120-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/autoscalingplans`: [v1.10.0](service/autoscalingplans/CHANGELOG.md#v1100-2022-01-14)
- * **Documentation**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.15.0](service/computeoptimizer/CHANGELOG.md#v1150-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.15.0](service/costexplorer/CHANGELOG.md#v1150-2022-01-14)
- * **Documentation**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.16.0](service/databasemigrationservice/CHANGELOG.md#v1160-2022-01-14)
- * **Documentation**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/databrew`: [v1.16.0](service/databrew/CHANGELOG.md#v1160-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.28.0](service/ec2/CHANGELOG.md#v1280-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.18.0](service/elasticache/CHANGELOG.md#v1180-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/elasticsearchservice`: [v1.13.0](service/elasticsearchservice/CHANGELOG.md#v1130-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.8.0](service/finspacedata/CHANGELOG.md#v180-2022-01-14)
- * **Documentation**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.13.0](service/fms/CHANGELOG.md#v1130-2022-01-14)
- * **Documentation**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.19.0](service/glue/CHANGELOG.md#v1190-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/honeycode`: [v1.9.0](service/honeycode/CHANGELOG.md#v190-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.12.0](service/identitystore/CHANGELOG.md#v1120-2022-01-14)
- * **Documentation**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/ioteventsdata`: [v1.9.0](service/ioteventsdata/CHANGELOG.md#v190-2022-01-14)
- * **Documentation**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.16.0](service/iotwireless/CHANGELOG.md#v1160-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.20.0](service/kendra/CHANGELOG.md#v1200-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.17.0](service/lexmodelsv2/CHANGELOG.md#v1170-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.12.0](service/lexruntimev2/CHANGELOG.md#v1120-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.8.0](service/lookoutmetrics/CHANGELOG.md#v180-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.17.0](service/medialive/CHANGELOG.md#v1170-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.13.0](service/mediatailor/CHANGELOG.md#v1130-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/mwaa`: [v1.10.0](service/mwaa/CHANGELOG.md#v1100-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/nimble`: [v1.10.0](service/nimble/CHANGELOG.md#v1100-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.7.0](service/opensearch/CHANGELOG.md#v170-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/pi`: [v1.12.0](service/pi/CHANGELOG.md#v1120-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/pinpoint`: [v1.14.0](service/pinpoint/CHANGELOG.md#v1140-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.16.0](service/rds/CHANGELOG.md#v1160-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.20.0](service/ssm/CHANGELOG.md#v1200-2022-01-14)
- * **Feature**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/sso`: [v1.9.0](service/sso/CHANGELOG.md#v190-2022-01-14)
- * **Documentation**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.14.0](service/transcribe/CHANGELOG.md#v1140-2022-01-14)
- * **Documentation**: Updated API models
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.14.0](service/workspaces/CHANGELOG.md#v1140-2022-01-14)
- * **Feature**: Updated API models
-
-# Release (2022-01-07)
-
-## General Highlights
-* **Feature**: Updated `github.com/aws/smithy-go` to latest version
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.12.0](config/CHANGELOG.md#v1120-2022-01-07)
- * **Feature**: Add load option for CredentialCache. Adds a new member to the LoadOptions struct, CredentialsCacheOptions. This member allows specifying a function that will be used to configure the CredentialsCache. The CredentialsCacheOptions will only be used if the configuration loader will wrap the underlying credential provider in the CredentialsCache.
-* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.12.0](service/appstream/CHANGELOG.md#v1120-2022-01-07)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.12.0](service/cloudtrail/CHANGELOG.md#v1120-2022-01-07)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/detective`: [v1.12.0](service/detective/CHANGELOG.md#v1120-2022-01-07)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.27.0](service/ec2/CHANGELOG.md#v1270-2022-01-07)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.15.0](service/ecs/CHANGELOG.md#v1150-2022-01-07)
- * **Documentation**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.17.0](service/eks/CHANGELOG.md#v1170-2022-01-07)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.18.0](service/glue/CHANGELOG.md#v1180-2022-01-07)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.11.0](service/greengrassv2/CHANGELOG.md#v1110-2022-01-07)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.20.0](service/iot/CHANGELOG.md#v1200-2022-01-07)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.12.0](service/lakeformation/CHANGELOG.md#v1120-2022-01-07)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.16.0](service/lambda/CHANGELOG.md#v1160-2022-01-07)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.17.0](service/mediaconvert/CHANGELOG.md#v1170-2022-01-07)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.17.0](service/quicksight/CHANGELOG.md#v1170-2022-01-07)
- * **Documentation**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.15.0](service/rds/CHANGELOG.md#v1150-2022-01-07)
- * **Documentation**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.14.0](service/rekognition/CHANGELOG.md#v1140-2022-01-07)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.23.0](service/s3/CHANGELOG.md#v1230-2022-01-07)
- * **Documentation**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.17.0](service/s3control/CHANGELOG.md#v1170-2022-01-07)
- * **Documentation**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/s3outposts`: [v1.9.0](service/s3outposts/CHANGELOG.md#v190-2022-01-07)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.22.0](service/sagemaker/CHANGELOG.md#v1220-2022-01-07)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.12.0](service/secretsmanager/CHANGELOG.md#v1120-2022-01-07)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssooidc`: [v1.9.0](service/ssooidc/CHANGELOG.md#v190-2022-01-07)
- * **Feature**: API client updated
-
-# Release (2021-12-21)
-
-## General Highlights
-* **Feature**: API Paginators now support specifying the initial starting token, and support stopping on empty string tokens.
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/accessanalyzer`: [v1.11.0](service/accessanalyzer/CHANGELOG.md#v1110-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/acm`: [v1.10.0](service/acm/CHANGELOG.md#v1100-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/apigateway`: [v1.11.0](service/apigateway/CHANGELOG.md#v1110-2021-12-21)
- * **Documentation**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/applicationautoscaling`: [v1.11.0](service/applicationautoscaling/CHANGELOG.md#v1110-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.10.0](service/appsync/CHANGELOG.md#v1100-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.17.0](service/autoscaling/CHANGELOG.md#v1170-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.3.0](service/chimesdkmeetings/CHANGELOG.md#v130-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.5.0](service/chimesdkmessaging/CHANGELOG.md#v150-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudcontrol`: [v1.4.0](service/cloudcontrol/CHANGELOG.md#v140-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.16.0](service/cloudformation/CHANGELOG.md#v1160-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.13.0](service/cloudwatch/CHANGELOG.md#v1130-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchevents`: [v1.10.0](service/cloudwatchevents/CHANGELOG.md#v1100-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.11.0](service/cloudwatchlogs/CHANGELOG.md#v1110-2021-12-21)
- * **Feature**: API client updated
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/codedeploy`: [v1.10.0](service/codedeploy/CHANGELOG.md#v1100-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/comprehendmedical`: [v1.9.0](service/comprehendmedical/CHANGELOG.md#v190-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.13.0](service/configservice/CHANGELOG.md#v1130-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.13.0](service/customerprofiles/CHANGELOG.md#v1130-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.14.0](service/databasemigrationservice/CHANGELOG.md#v1140-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.10.0](service/datasync/CHANGELOG.md#v1100-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.12.0](service/devopsguru/CHANGELOG.md#v1120-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/directconnect`: [v1.13.0](service/directconnect/CHANGELOG.md#v1130-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.13.0](service/docdb/CHANGELOG.md#v1130-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.11.0](service/dynamodb/CHANGELOG.md#v1110-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/dynamodbstreams`: [v1.9.0](service/dynamodbstreams/CHANGELOG.md#v190-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.26.0](service/ec2/CHANGELOG.md#v1260-2021-12-21)
- * **Feature**: API client updated
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/ecr`: [v1.12.0](service/ecr/CHANGELOG.md#v1120-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.14.0](service/ecs/CHANGELOG.md#v1140-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.16.0](service/elasticache/CHANGELOG.md#v1160-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing`: [v1.10.0](service/elasticloadbalancing/CHANGELOG.md#v1100-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.14.0](service/elasticloadbalancingv2/CHANGELOG.md#v1140-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/elasticsearchservice`: [v1.11.0](service/elasticsearchservice/CHANGELOG.md#v1110-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.13.0](service/emr/CHANGELOG.md#v1130-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.11.0](service/eventbridge/CHANGELOG.md#v1110-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.6.0](service/finspacedata/CHANGELOG.md#v160-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.15.0](service/forecast/CHANGELOG.md#v1150-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/glacier`: [v1.9.0](service/glacier/CHANGELOG.md#v190-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/groundstation`: [v1.9.0](service/groundstation/CHANGELOG.md#v190-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/health`: [v1.11.0](service/health/CHANGELOG.md#v1110-2021-12-21)
- * **Documentation**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.15.0](service/imagebuilder/CHANGELOG.md#v1150-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.19.0](service/iot/CHANGELOG.md#v1190-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kinesis`: [v1.11.0](service/kinesis/CHANGELOG.md#v1110-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalytics`: [v1.9.0](service/kinesisanalytics/CHANGELOG.md#v190-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2`: [v1.10.0](service/kinesisanalyticsv2/CHANGELOG.md#v1100-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.12.0](service/kms/CHANGELOG.md#v1120-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.15.0](service/lambda/CHANGELOG.md#v1150-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.15.0](service/lexmodelsv2/CHANGELOG.md#v1150-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.10.0](service/location/CHANGELOG.md#v1100-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.6.0](service/lookoutmetrics/CHANGELOG.md#v160-2021-12-21)
- * **Feature**: API client updated
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/lookoutvision`: [v1.8.0](service/lookoutvision/CHANGELOG.md#v180-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/marketplacemetering`: [v1.9.0](service/marketplacemetering/CHANGELOG.md#v190-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/mediaconnect`: [v1.11.0](service/mediaconnect/CHANGELOG.md#v1110-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/neptune`: [v1.12.0](service/neptune/CHANGELOG.md#v1120-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.11.0](service/networkfirewall/CHANGELOG.md#v1110-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/nimble`: [v1.8.0](service/nimble/CHANGELOG.md#v180-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.5.0](service/opensearch/CHANGELOG.md#v150-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.13.0](service/outposts/CHANGELOG.md#v1130-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/pi`: [v1.10.0](service/pi/CHANGELOG.md#v1100-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/qldb`: [v1.10.0](service/qldb/CHANGELOG.md#v1100-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.14.0](service/rds/CHANGELOG.md#v1140-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.17.0](service/redshift/CHANGELOG.md#v1170-2021-12-21)
- * **Feature**: API client updated
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/resourcegroups`: [v1.8.0](service/resourcegroups/CHANGELOG.md#v180-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi`: [v1.9.0](service/resourcegroupstaggingapi/CHANGELOG.md#v190-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.15.0](service/route53/CHANGELOG.md#v1150-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/route53domains`: [v1.8.0](service/route53domains/CHANGELOG.md#v180-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig`: [v1.5.0](service/route53recoverycontrolconfig/CHANGELOG.md#v150-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.22.0](service/s3/CHANGELOG.md#v1220-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.16.0](service/s3control/CHANGELOG.md#v1160-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.21.0](service/sagemaker/CHANGELOG.md#v1210-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/savingsplans`: [v1.7.3](service/savingsplans/CHANGELOG.md#v173-2021-12-21)
- * **Documentation**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.11.0](service/secretsmanager/CHANGELOG.md#v1110-2021-12-21)
- * **Documentation**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.14.0](service/securityhub/CHANGELOG.md#v1140-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sfn`: [v1.9.0](service/sfn/CHANGELOG.md#v190-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/sms`: [v1.8.0](service/sms/CHANGELOG.md#v180-2021-12-21)
- * **Documentation**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.13.0](service/sns/CHANGELOG.md#v1130-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.14.0](service/sqs/CHANGELOG.md#v1140-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.18.0](service/ssm/CHANGELOG.md#v1180-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.12.0](service/sts/CHANGELOG.md#v1120-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/support`: [v1.9.0](service/support/CHANGELOG.md#v190-2021-12-21)
- * **Documentation**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/swf`: [v1.9.0](service/swf/CHANGELOG.md#v190-2021-12-21)
- * **Feature**: Updated to latest service endpoints
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.13.0](service/transfer/CHANGELOG.md#v1130-2021-12-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/workmail`: [v1.11.0](service/workmail/CHANGELOG.md#v1110-2021-12-21)
- * **Feature**: API client updated
-
-# Release (2021-12-03)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/accessanalyzer`: [v1.10.1](service/accessanalyzer/CHANGELOG.md#v1101-2021-12-03)
- * **Bug Fix**: Fixed an issue that prevent auto-filling of an API's idempotency parameters when not explictly provided by the caller.
-* `github.com/aws/aws-sdk-go-v2/service/amp`: [v1.9.3](service/amp/CHANGELOG.md#v193-2021-12-03)
- * **Bug Fix**: Fixed an issue that prevent auto-filling of an API's idempotency parameters when not explictly provided by the caller.
-* `github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder`: [v1.0.0](service/amplifyuibuilder/CHANGELOG.md#v100-2021-12-03)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/appmesh`: [v1.8.3](service/appmesh/CHANGELOG.md#v183-2021-12-03)
- * **Bug Fix**: Fixed an issue that prevent auto-filling of an API's idempotency parameters when not explictly provided by the caller.
-* `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.10.2](service/braket/CHANGELOG.md#v1102-2021-12-03)
- * **Bug Fix**: Fixed an issue that prevent auto-filling of an API's idempotency parameters when not explictly provided by the caller.
-* `github.com/aws/aws-sdk-go-v2/service/codeguruprofiler`: [v1.7.3](service/codeguruprofiler/CHANGELOG.md#v173-2021-12-03)
- * **Bug Fix**: Fixed an issue that prevent auto-filling of an API's idempotency parameters when not explictly provided by the caller.
-* `github.com/aws/aws-sdk-go-v2/service/evidently`: [v1.1.1](service/evidently/CHANGELOG.md#v111-2021-12-03)
- * **Bug Fix**: Fixed a bug that prevented the resolution of the correct endpoint for some API operations.
-* `github.com/aws/aws-sdk-go-v2/service/grafana`: [v1.2.3](service/grafana/CHANGELOG.md#v123-2021-12-03)
- * **Bug Fix**: Fixed an issue that prevent auto-filling of an API's idempotency parameters when not explictly provided by the caller.
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.9.2](service/location/CHANGELOG.md#v192-2021-12-03)
- * **Bug Fix**: Fixed a bug that prevented the resolution of the correct endpoint for some API operations.
- * **Bug Fix**: Fixed an issue that caused some operations to not be signed using sigv4, resulting in authentication failures.
-* `github.com/aws/aws-sdk-go-v2/service/networkmanager`: [v1.7.0](service/networkmanager/CHANGELOG.md#v170-2021-12-03)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/nimble`: [v1.7.3](service/nimble/CHANGELOG.md#v173-2021-12-03)
- * **Bug Fix**: Fixed an issue that prevent auto-filling of an API's idempotency parameters when not explictly provided by the caller.
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.7.2](service/proton/CHANGELOG.md#v172-2021-12-03)
- * **Bug Fix**: Fixed an issue that prevent auto-filling of an API's idempotency parameters when not explictly provided by the caller.
-* `github.com/aws/aws-sdk-go-v2/service/ram`: [v1.10.0](service/ram/CHANGELOG.md#v1100-2021-12-03)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.12.0](service/rekognition/CHANGELOG.md#v1120-2021-12-03)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/snowdevicemanagement`: [v1.3.3](service/snowdevicemanagement/CHANGELOG.md#v133-2021-12-03)
- * **Bug Fix**: Fixed an issue that prevent auto-filling of an API's idempotency parameters when not explictly provided by the caller.
-* `github.com/aws/aws-sdk-go-v2/service/wisdom`: [v1.2.3](service/wisdom/CHANGELOG.md#v123-2021-12-03)
- * **Bug Fix**: Fixed an issue that prevent auto-filling of an API's idempotency parameters when not explictly provided by the caller.
-
-# Release (2021-12-02)
-
-## General Highlights
-* **Bug Fix**: Fixes a bug that prevented aws.EndpointResolverWithOptions from being used by the service client. ([#1514](https://github.com/aws/aws-sdk-go-v2/pull/1514))
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.11.0](config/CHANGELOG.md#v1110-2021-12-02)
- * **Feature**: Add support for specifying `EndpointResolverWithOptions` on `LoadOptions`, and associated `WithEndpointResolverWithOptions`.
-* `github.com/aws/aws-sdk-go-v2/service/accessanalyzer`: [v1.10.0](service/accessanalyzer/CHANGELOG.md#v1100-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/applicationinsights`: [v1.9.0](service/applicationinsights/CHANGELOG.md#v190-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/backupgateway`: [v1.0.0](service/backupgateway/CHANGELOG.md#v100-2021-12-02)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/cloudhsm`: [v1.8.0](service/cloudhsm/CHANGELOG.md#v180-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.11.0](service/devopsguru/CHANGELOG.md#v1110-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/directconnect`: [v1.12.0](service/directconnect/CHANGELOG.md#v1120-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.10.0](service/dynamodb/CHANGELOG.md#v1100-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.25.0](service/ec2/CHANGELOG.md#v1250-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/evidently`: [v1.1.0](service/evidently/CHANGELOG.md#v110-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.14.0](service/fsx/CHANGELOG.md#v1140-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.16.0](service/glue/CHANGELOG.md#v1160-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.1.0](service/inspector2/CHANGELOG.md#v110-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.18.0](service/iot/CHANGELOG.md#v1180-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iottwinmaker`: [v1.0.0](service/iottwinmaker/CHANGELOG.md#v100-2021-12-02)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/kafka`: [v1.11.0](service/kafka/CHANGELOG.md#v1110-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.17.0](service/kendra/CHANGELOG.md#v1170-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kinesis`: [v1.10.0](service/kinesis/CHANGELOG.md#v1100-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.10.0](service/lakeformation/CHANGELOG.md#v1100-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.14.0](service/lexmodelsv2/CHANGELOG.md#v1140-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.10.0](service/lexruntimev2/CHANGELOG.md#v1100-2021-12-02)
- * **Feature**: Support has been added for the `StartConversation` API.
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.12.0](service/outposts/CHANGELOG.md#v1120-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rbin`: [v1.1.0](service/rbin/CHANGELOG.md#v110-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/redshiftdata`: [v1.10.0](service/redshiftdata/CHANGELOG.md#v1100-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rum`: [v1.1.0](service/rum/CHANGELOG.md#v110-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.21.0](service/s3/CHANGELOG.md#v1210-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.20.0](service/sagemaker/CHANGELOG.md#v1200-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerruntime`: [v1.11.0](service/sagemakerruntime/CHANGELOG.md#v1110-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/shield`: [v1.11.0](service/shield/CHANGELOG.md#v1110-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/snowball`: [v1.10.0](service/snowball/CHANGELOG.md#v1100-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/storagegateway`: [v1.10.0](service/storagegateway/CHANGELOG.md#v1100-2021-12-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/workspacesweb`: [v1.0.0](service/workspacesweb/CHANGELOG.md#v100-2021-12-02)
- * **Release**: New AWS service client module
-
-# Release (2021-11-30)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.16.0](service/autoscaling/CHANGELOG.md#v1160-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.10.0](service/backup/CHANGELOG.md#v1100-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.10.0](service/braket/CHANGELOG.md#v1100-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.2.0](service/chimesdkmeetings/CHANGELOG.md#v120-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.15.0](service/cloudformation/CHANGELOG.md#v1150-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.13.0](service/computeoptimizer/CHANGELOG.md#v1130-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.13.0](service/connect/CHANGELOG.md#v1130-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.12.0](service/customerprofiles/CHANGELOG.md#v1120-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.13.0](service/databasemigrationservice/CHANGELOG.md#v1130-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/dataexchange`: [v1.9.0](service/dataexchange/CHANGELOG.md#v190-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.9.0](service/dynamodb/CHANGELOG.md#v190-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.24.0](service/ec2/CHANGELOG.md#v1240-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ecr`: [v1.11.0](service/ecr/CHANGELOG.md#v1110-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.13.0](service/ecs/CHANGELOG.md#v1130-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.15.0](service/eks/CHANGELOG.md#v1150-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.15.0](service/elasticache/CHANGELOG.md#v1150-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.13.0](service/elasticloadbalancingv2/CHANGELOG.md#v1130-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticsearchservice`: [v1.10.0](service/elasticsearchservice/CHANGELOG.md#v1100-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/evidently`: [v1.0.0](service/evidently/CHANGELOG.md#v100-2021-11-30)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.5.0](service/finspacedata/CHANGELOG.md#v150-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.14.0](service/imagebuilder/CHANGELOG.md#v1140-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.0.0](service/inspector2/CHANGELOG.md#v100-2021-11-30)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery`: [v1.3.2](service/internal/endpoint-discovery/CHANGELOG.md#v132-2021-11-30)
- * **Bug Fix**: Fixed a race condition that caused concurrent calls relying on endpoint discovery to share the same `url.URL` reference in their operation's http.Request.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.17.0](service/iot/CHANGELOG.md#v1170-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotdeviceadvisor`: [v1.9.0](service/iotdeviceadvisor/CHANGELOG.md#v190-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.15.0](service/iotsitewise/CHANGELOG.md#v1150-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.13.0](service/iotwireless/CHANGELOG.md#v1130-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.14.0](service/lambda/CHANGELOG.md#v1140-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.14.0](service/macie2/CHANGELOG.md#v1140-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.8.0](service/mgn/CHANGELOG.md#v180-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubrefactorspaces`: [v1.0.0](service/migrationhubrefactorspaces/CHANGELOG.md#v100-2021-11-30)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.4.0](service/opensearch/CHANGELOG.md#v140-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.11.0](service/outposts/CHANGELOG.md#v1110-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/personalize`: [v1.12.0](service/personalize/CHANGELOG.md#v1120-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/personalizeruntime`: [v1.7.0](service/personalizeruntime/CHANGELOG.md#v170-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/pinpoint`: [v1.12.0](service/pinpoint/CHANGELOG.md#v1120-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.7.0](service/proton/CHANGELOG.md#v170-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.15.0](service/quicksight/CHANGELOG.md#v1150-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rbin`: [v1.0.0](service/rbin/CHANGELOG.md#v100-2021-11-30)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.13.0](service/rds/CHANGELOG.md#v1130-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.16.0](service/redshift/CHANGELOG.md#v1160-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rum`: [v1.0.0](service/rum/CHANGELOG.md#v100-2021-11-30)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.20.0](service/s3/CHANGELOG.md#v1200-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.15.0](service/s3control/CHANGELOG.md#v1150-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.13.0](service/sqs/CHANGELOG.md#v1130-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.17.0](service/ssm/CHANGELOG.md#v1170-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.11.0](service/sts/CHANGELOG.md#v1110-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.10.0](service/textract/CHANGELOG.md#v1100-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/timestreamquery`: [v1.8.0](service/timestreamquery/CHANGELOG.md#v180-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/timestreamwrite`: [v1.8.0](service/timestreamwrite/CHANGELOG.md#v180-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/transcribestreaming`: [v1.1.0](service/transcribestreaming/CHANGELOG.md#v110-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/translate`: [v1.8.0](service/translate/CHANGELOG.md#v180-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/wellarchitected`: [v1.9.0](service/wellarchitected/CHANGELOG.md#v190-2021-11-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.11.0](service/workspaces/CHANGELOG.md#v1110-2021-11-30)
- * **Feature**: API client updated
-
-# Release (2021-11-19)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.11.1
- * **Bug Fix**: Fixed a bug that prevented aws.EndpointResolverWithOptionsFunc from satisfying the aws.EndpointResolverWithOptions interface.
-* `github.com/aws/aws-sdk-go-v2/service/amplifybackend`: [v1.8.0](service/amplifybackend/CHANGELOG.md#v180-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/apigateway`: [v1.10.0](service/apigateway/CHANGELOG.md#v1100-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.7.0](service/appconfig/CHANGELOG.md#v170-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/appconfigdata`: [v1.0.0](service/appconfigdata/CHANGELOG.md#v100-2021-11-19)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/applicationinsights`: [v1.8.0](service/applicationinsights/CHANGELOG.md#v180-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.10.0](service/appstream/CHANGELOG.md#v1100-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.12.0](service/auditmanager/CHANGELOG.md#v1120-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.11.0](service/batch/CHANGELOG.md#v1110-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.14.0](service/chime/CHANGELOG.md#v1140-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.1.0](service/chimesdkmeetings/CHANGELOG.md#v110-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.14.0](service/cloudformation/CHANGELOG.md#v1140-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.10.0](service/cloudtrail/CHANGELOG.md#v1100-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.12.0](service/cloudwatch/CHANGELOG.md#v1120-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.12.0](service/connect/CHANGELOG.md#v1120-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.12.0](service/databasemigrationservice/CHANGELOG.md#v1120-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/databrew`: [v1.13.0](service/databrew/CHANGELOG.md#v1130-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.10.0](service/devopsguru/CHANGELOG.md#v1100-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.0.0](service/drs/CHANGELOG.md#v100-2021-11-19)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/dynamodbstreams`: [v1.8.0](service/dynamodbstreams/CHANGELOG.md#v180-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.23.0](service/ec2/CHANGELOG.md#v1230-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.14.0](service/eks/CHANGELOG.md#v1140-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.14.0](service/forecast/CHANGELOG.md#v1140-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.10.0](service/ivs/CHANGELOG.md#v1100-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kafka`: [v1.10.0](service/kafka/CHANGELOG.md#v1100-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.16.0](service/kendra/CHANGELOG.md#v1160-2021-11-19)
- * **Announcement**: Fix API modeling bug incorrectly generating `DocumentAttributeValue` type as a union instead of a structure. This update corrects this bug by correcting the `DocumentAttributeValue` type to be a `struct` instead of an `interface`. This change also removes the `DocumentAttributeValueMember` types. To migrate to this change your application using service/kendra will need to be updated to use struct members in `DocumentAttributeValue` instead of `DocumentAttributeValueMember` types.
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.11.0](service/kms/CHANGELOG.md#v1110-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.13.0](service/lambda/CHANGELOG.md#v1130-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.13.0](service/lexmodelsv2/CHANGELOG.md#v1130-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.9.0](service/lexruntimev2/CHANGELOG.md#v190-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.9.0](service/location/CHANGELOG.md#v190-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.15.0](service/mediaconvert/CHANGELOG.md#v1150-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.14.0](service/medialive/CHANGELOG.md#v1140-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.7.0](service/mgn/CHANGELOG.md#v170-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/migrationhubstrategy`: [v1.0.0](service/migrationhubstrategy/CHANGELOG.md#v100-2021-11-19)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/qldb`: [v1.9.0](service/qldb/CHANGELOG.md#v190-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/qldbsession`: [v1.9.0](service/qldbsession/CHANGELOG.md#v190-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.15.0](service/redshift/CHANGELOG.md#v1150-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.12.0](service/sns/CHANGELOG.md#v1120-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.16.0](service/ssm/CHANGELOG.md#v1160-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.12.0](service/transfer/CHANGELOG.md#v1120-2021-11-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.14.0](service/wafv2/CHANGELOG.md#v1140-2021-11-19)
- * **Feature**: API client updated
-
-# Release (2021-11-12)
-
-## General Highlights
-* **Feature**: Service clients now support custom endpoints that have an initial URI path defined.
-* **Feature**: Waiters now have a `WaitForOutput` method, which can be used to retrieve the output of the successful wait operation. Thank you to [Andrew Haines](https://github.com/haines) for contributing this feature.
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.9.0](service/backup/CHANGELOG.md#v190-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.10.0](service/batch/CHANGELOG.md#v1100-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.0.0](service/chimesdkmeetings/CHANGELOG.md#v100-2021-11-12)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.12.0](service/computeoptimizer/CHANGELOG.md#v1120-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.11.0](service/connect/CHANGELOG.md#v1110-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.12.0](service/docdb/CHANGELOG.md#v1120-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.8.0](service/dynamodb/CHANGELOG.md#v180-2021-11-12)
- * **Documentation**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.22.0](service/ec2/CHANGELOG.md#v1220-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.12.0](service/ecs/CHANGELOG.md#v1120-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.9.0](service/gamelift/CHANGELOG.md#v190-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.9.0](service/greengrassv2/CHANGELOG.md#v190-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/health`: [v1.10.0](service/health/CHANGELOG.md#v1100-2021-11-12)
- * **Documentation**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.9.0](service/identitystore/CHANGELOG.md#v190-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.12.0](service/iotwireless/CHANGELOG.md#v1120-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/neptune`: [v1.11.0](service/neptune/CHANGELOG.md#v1110-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.12.0](service/rds/CHANGELOG.md#v1120-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/resiliencehub`: [v1.0.0](service/resiliencehub/CHANGELOG.md#v100-2021-11-12)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi`: [v1.8.0](service/resourcegroupstaggingapi/CHANGELOG.md#v180-2021-11-12)
- * **Documentation**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.14.0](service/s3control/CHANGELOG.md#v1140-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.19.0](service/sagemaker/CHANGELOG.md#v1190-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerruntime`: [v1.10.0](service/sagemakerruntime/CHANGELOG.md#v1100-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.7.0](service/ssmincidents/CHANGELOG.md#v170-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.11.0](service/transcribe/CHANGELOG.md#v1110-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/translate`: [v1.7.0](service/translate/CHANGELOG.md#v170-2021-11-12)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.13.0](service/wafv2/CHANGELOG.md#v1130-2021-11-12)
- * **Feature**: Updated service to latest API model.
-
-# Release (2021-11-06)
-
-## General Highlights
-* **Feature**: The SDK now supports configuration of FIPS and DualStack endpoints using environment variables, shared configuration, or programmatically.
-* **Feature**: Updated `github.com/aws/smithy-go` to latest version
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream`: [v1.0.0](aws/protocol/eventstream/CHANGELOG.md#v100-2021-11-06)
- * **Announcement**: Support has been added for AWS EventStream APIs for Kinesis, S3, and Transcribe Streaming. Support for the Lex Runtime V2 EventStream API will be added in a future release.
- * **Release**: Protocol support has been added for AWS event stream.
-* `github.com/aws/aws-sdk-go-v2/internal/endpoints/v2`: [v2.0.0](internal/endpoints/v2/CHANGELOG.md#v200-2021-11-06)
- * **Release**: Endpoint Variant Model Support
-* `github.com/aws/aws-sdk-go-v2/service/applicationinsights`: [v1.6.0](service/applicationinsights/CHANGELOG.md#v160-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.8.0](service/appstream/CHANGELOG.md#v180-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.11.0](service/auditmanager/CHANGELOG.md#v1110-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.14.0](service/autoscaling/CHANGELOG.md#v1140-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.13.0](service/chime/CHANGELOG.md#v1130-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkidentity`: [v1.4.0](service/chimesdkidentity/CHANGELOG.md#v140-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.4.0](service/chimesdkmessaging/CHANGELOG.md#v140-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.10.0](service/cloudfront/CHANGELOG.md#v1100-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/codecommit`: [v1.7.0](service/codecommit/CHANGELOG.md#v170-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.10.0](service/connect/CHANGELOG.md#v1100-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/connectcontactlens`: [v1.7.0](service/connectcontactlens/CHANGELOG.md#v170-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/connectparticipant`: [v1.6.0](service/connectparticipant/CHANGELOG.md#v160-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.10.0](service/databasemigrationservice/CHANGELOG.md#v1100-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.8.0](service/datasync/CHANGELOG.md#v180-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.11.0](service/docdb/CHANGELOG.md#v1110-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ebs`: [v1.9.0](service/ebs/CHANGELOG.md#v190-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.21.0](service/ec2/CHANGELOG.md#v1210-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ecr`: [v1.9.0](service/ecr/CHANGELOG.md#v190-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.11.0](service/ecs/CHANGELOG.md#v1110-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.12.0](service/eks/CHANGELOG.md#v1120-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.13.0](service/elasticache/CHANGELOG.md#v1130-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/elasticsearchservice`: [v1.9.0](service/elasticsearchservice/CHANGELOG.md#v190-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.8.0](service/emrcontainers/CHANGELOG.md#v180-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/finspace`: [v1.4.0](service/finspace/CHANGELOG.md#v140-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.12.0](service/fsx/CHANGELOG.md#v1120-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.8.0](service/gamelift/CHANGELOG.md#v180-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/health`: [v1.9.0](service/health/CHANGELOG.md#v190-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.12.0](service/iam/CHANGELOG.md#v1120-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/internal/eventstreamtesting`: [v1.0.0](service/internal/eventstreamtesting/CHANGELOG.md#v100-2021-11-06)
- * **Release**: Protocol support has been added for AWS event stream.
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.13.0](service/iotsitewise/CHANGELOG.md#v1130-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.14.0](service/kendra/CHANGELOG.md#v1140-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/kinesis`: [v1.8.0](service/kinesis/CHANGELOG.md#v180-2021-11-06)
- * **Feature**: Support has been added for the SubscribeToShard API.
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.9.0](service/kms/CHANGELOG.md#v190-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.12.0](service/lightsail/CHANGELOG.md#v1120-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.13.0](service/macie2/CHANGELOG.md#v1130-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.6.0](service/mgn/CHANGELOG.md#v160-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/neptune`: [v1.10.0](service/neptune/CHANGELOG.md#v1100-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/networkmanager`: [v1.6.0](service/networkmanager/CHANGELOG.md#v160-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/nimble`: [v1.6.0](service/nimble/CHANGELOG.md#v160-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.3.0](service/opensearch/CHANGELOG.md#v130-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.14.0](service/quicksight/CHANGELOG.md#v1140-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.11.0](service/rds/CHANGELOG.md#v1110-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.10.0](service/rekognition/CHANGELOG.md#v1100-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/route53resolver`: [v1.9.0](service/route53resolver/CHANGELOG.md#v190-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.18.0](service/s3/CHANGELOG.md#v1180-2021-11-06)
- * **Feature**: Support has been added for the SelectObjectContent API.
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.13.0](service/s3control/CHANGELOG.md#v1130-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.18.0](service/sagemaker/CHANGELOG.md#v1180-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/servicediscovery`: [v1.11.0](service/servicediscovery/CHANGELOG.md#v1110-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.6.0](service/ssmincidents/CHANGELOG.md#v160-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/sso`: [v1.6.0](service/sso/CHANGELOG.md#v160-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/storagegateway`: [v1.8.0](service/storagegateway/CHANGELOG.md#v180-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/support`: [v1.7.0](service/support/CHANGELOG.md#v170-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.8.0](service/textract/CHANGELOG.md#v180-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.10.0](service/transcribe/CHANGELOG.md#v1100-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/transcribestreaming`: [v1.0.0](service/transcribestreaming/CHANGELOG.md#v100-2021-11-06)
- * **Release**: New AWS service client module
- * **Feature**: Support has been added for the StartStreamTranscription and StartMedicalStreamTranscription APIs.
-* `github.com/aws/aws-sdk-go-v2/service/waf`: [v1.6.0](service/waf/CHANGELOG.md#v160-2021-11-06)
- * **Feature**: Updated service to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/wisdom`: [v1.2.0](service/wisdom/CHANGELOG.md#v120-2021-11-06)
- * **Feature**: Updated service to latest API model.
-
-# Release (2021-10-21)
-
-## General Highlights
-* **Feature**: Updated to latest version
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.10.0
- * **Feature**: Adds dynamic signing middleware that switches to unsigned payload when TLS is enabled.
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.8.0](service/appflow/CHANGELOG.md#v180-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/applicationautoscaling`: [v1.8.0](service/applicationautoscaling/CHANGELOG.md#v180-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.13.0](service/autoscaling/CHANGELOG.md#v1130-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.3.0](service/chimesdkmessaging/CHANGELOG.md#v130-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.11.0](service/cloudformation/CHANGELOG.md#v1110-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudsearch`: [v1.7.0](service/cloudsearch/CHANGELOG.md#v170-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.7.0](service/cloudtrail/CHANGELOG.md#v170-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.9.0](service/cloudwatch/CHANGELOG.md#v190-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchevents`: [v1.7.0](service/cloudwatchevents/CHANGELOG.md#v170-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.8.0](service/cloudwatchlogs/CHANGELOG.md#v180-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codedeploy`: [v1.7.0](service/codedeploy/CHANGELOG.md#v170-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.10.0](service/configservice/CHANGELOG.md#v1100-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/dataexchange`: [v1.7.0](service/dataexchange/CHANGELOG.md#v170-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/directconnect`: [v1.9.0](service/directconnect/CHANGELOG.md#v190-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.10.0](service/docdb/CHANGELOG.md#v1100-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.6.0](service/dynamodb/CHANGELOG.md#v160-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.20.0](service/ec2/CHANGELOG.md#v1200-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ecr`: [v1.8.0](service/ecr/CHANGELOG.md#v180-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.10.0](service/ecs/CHANGELOG.md#v1100-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.9.0](service/efs/CHANGELOG.md#v190-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.12.0](service/elasticache/CHANGELOG.md#v1120-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing`: [v1.7.0](service/elasticloadbalancing/CHANGELOG.md#v170-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.10.0](service/elasticloadbalancingv2/CHANGELOG.md#v1100-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.10.0](service/emr/CHANGELOG.md#v1100-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.8.0](service/eventbridge/CHANGELOG.md#v180-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/glacier`: [v1.6.0](service/glacier/CHANGELOG.md#v160-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.13.0](service/glue/CHANGELOG.md#v1130-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.8.0](service/ivs/CHANGELOG.md#v180-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.13.0](service/kendra/CHANGELOG.md#v1130-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kinesis`: [v1.7.0](service/kinesis/CHANGELOG.md#v170-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2`: [v1.7.0](service/kinesisanalyticsv2/CHANGELOG.md#v170-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.8.0](service/kms/CHANGELOG.md#v180-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.10.0](service/lambda/CHANGELOG.md#v1100-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.13.0](service/mediaconvert/CHANGELOG.md#v1130-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediapackage`: [v1.9.0](service/mediapackage/CHANGELOG.md#v190-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagevod`: [v1.10.0](service/mediapackagevod/CHANGELOG.md#v1100-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.9.0](service/mediatailor/CHANGELOG.md#v190-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/neptune`: [v1.9.0](service/neptune/CHANGELOG.md#v190-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/panorama`: [v1.0.0](service/panorama/CHANGELOG.md#v100-2021-10-21)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.13.0](service/quicksight/CHANGELOG.md#v1130-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.10.0](service/rds/CHANGELOG.md#v1100-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.12.0](service/redshift/CHANGELOG.md#v1120-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/robomaker`: [v1.10.0](service/robomaker/CHANGELOG.md#v1100-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.17.0](service/s3/CHANGELOG.md#v1170-2021-10-21)
- * **Feature**: Updates S3 streaming operations - PutObject, UploadPart, WriteGetObjectResponse to use unsigned payload signing auth when TLS is enabled.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.17.0](service/sagemaker/CHANGELOG.md#v1170-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.12.0](service/securityhub/CHANGELOG.md#v1120-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sfn`: [v1.6.0](service/sfn/CHANGELOG.md#v160-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.9.0](service/sns/CHANGELOG.md#v190-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.10.0](service/sqs/CHANGELOG.md#v1100-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/storagegateway`: [v1.7.0](service/storagegateway/CHANGELOG.md#v170-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.8.0](service/sts/CHANGELOG.md#v180-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/swf`: [v1.6.0](service/swf/CHANGELOG.md#v160-2021-10-21)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/workmail`: [v1.8.0](service/workmail/CHANGELOG.md#v180-2021-10-21)
- * **Feature**: API client updated
-
-# Release (2021-10-11)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/feature/ec2/imds`: [v1.6.0](feature/ec2/imds/CHANGELOG.md#v160-2021-10-11)
- * **Feature**: Respect passed in Context Deadline/Timeout. Updates the IMDS Client operations to not override the passed in Context's Deadline or Timeout options. If an Client operation is called with a Context with a Deadline or Timeout, the client will no longer override it with the client's default timeout.
- * **Bug Fix**: Fix IMDS client's response handling and operation timeout race. Fixes #1253
-* `github.com/aws/aws-sdk-go-v2/service/amplifybackend`: [v1.5.0](service/amplifybackend/CHANGELOG.md#v150-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/applicationautoscaling`: [v1.7.0](service/applicationautoscaling/CHANGELOG.md#v170-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.3.0](service/apprunner/CHANGELOG.md#v130-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.6.0](service/backup/CHANGELOG.md#v160-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.11.0](service/chime/CHANGELOG.md#v1110-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codebuild`: [v1.11.0](service/codebuild/CHANGELOG.md#v1110-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/databrew`: [v1.10.0](service/databrew/CHANGELOG.md#v1100-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.19.0](service/ec2/CHANGELOG.md#v1190-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.8.0](service/efs/CHANGELOG.md#v180-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.9.0](service/elasticloadbalancingv2/CHANGELOG.md#v190-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/firehose`: [v1.7.0](service/firehose/CHANGELOG.md#v170-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.10.0](service/frauddetector/CHANGELOG.md#v1100-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.10.0](service/fsx/CHANGELOG.md#v1100-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.12.0](service/glue/CHANGELOG.md#v1120-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/grafana`: [v1.0.0](service/grafana/CHANGELOG.md#v100-2021-10-11)
- * **Release**: New AWS service client module
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotevents`: [v1.8.0](service/iotevents/CHANGELOG.md#v180-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.12.0](service/kendra/CHANGELOG.md#v1120-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.7.0](service/kms/CHANGELOG.md#v170-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.9.0](service/lexmodelsv2/CHANGELOG.md#v190-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.6.0](service/lexruntimev2/CHANGELOG.md#v160-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.6.0](service/location/CHANGELOG.md#v160-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.12.0](service/mediaconvert/CHANGELOG.md#v1120-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.10.0](service/medialive/CHANGELOG.md#v1100-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.16.0](service/sagemaker/CHANGELOG.md#v1160-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.7.0](service/secretsmanager/CHANGELOG.md#v170-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.11.0](service/securityhub/CHANGELOG.md#v1110-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.12.0](service/ssm/CHANGELOG.md#v1120-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssooidc`: [v1.6.0](service/ssooidc/CHANGELOG.md#v160-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/synthetics`: [v1.7.0](service/synthetics/CHANGELOG.md#v170-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.6.0](service/textract/CHANGELOG.md#v160-2021-10-11)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/workmail`: [v1.7.0](service/workmail/CHANGELOG.md#v170-2021-10-11)
- * **Feature**: API client updated
-
-# Release (2021-09-30)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/account`: [v1.0.0](service/account/CHANGELOG.md#v100-2021-09-30)
- * **Release**: New AWS service client module
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/amp`: [v1.6.0](service/amp/CHANGELOG.md#v160-2021-09-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/appintegrations`: [v1.7.0](service/appintegrations/CHANGELOG.md#v170-2021-09-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudcontrol`: [v1.0.0](service/cloudcontrol/CHANGELOG.md#v100-2021-09-30)
- * **Release**: New AWS service client module
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudhsmv2`: [v1.5.0](service/cloudhsmv2/CHANGELOG.md#v150-2021-09-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.8.0](service/connect/CHANGELOG.md#v180-2021-09-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/dataexchange`: [v1.6.0](service/dataexchange/CHANGELOG.md#v160-2021-09-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.8.0](service/elasticloadbalancingv2/CHANGELOG.md#v180-2021-09-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.11.0](service/imagebuilder/CHANGELOG.md#v1110-2021-09-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.9.0](service/lambda/CHANGELOG.md#v190-2021-09-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.11.0](service/macie2/CHANGELOG.md#v1110-2021-09-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.7.0](service/networkfirewall/CHANGELOG.md#v170-2021-09-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/pinpoint`: [v1.8.0](service/pinpoint/CHANGELOG.md#v180-2021-09-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sesv2`: [v1.6.0](service/sesv2/CHANGELOG.md#v160-2021-09-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.8.0](service/transfer/CHANGELOG.md#v180-2021-09-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/voiceid`: [v1.0.0](service/voiceid/CHANGELOG.md#v100-2021-09-30)
- * **Release**: New AWS service client module
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/wisdom`: [v1.0.0](service/wisdom/CHANGELOG.md#v100-2021-09-30)
- * **Release**: New AWS service client module
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/workmail`: [v1.6.0](service/workmail/CHANGELOG.md#v160-2021-09-30)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.7.0](service/workspaces/CHANGELOG.md#v170-2021-09-30)
- * **Feature**: API client updated
-
-# Release (2021-09-24)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression`: [v1.2.4](feature/dynamodb/expression/CHANGELOG.md#v124-2021-09-24)
- * **Documentation**: Fixes typo in NameBuilder.NamesList example documentation to use the correct variable name.
-* `github.com/aws/aws-sdk-go-v2/service/appmesh`: [v1.6.0](service/appmesh/CHANGELOG.md#v160-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.7.0](service/appsync/CHANGELOG.md#v170-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.9.0](service/auditmanager/CHANGELOG.md#v190-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codecommit`: [v1.5.0](service/codecommit/CHANGELOG.md#v150-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.8.0](service/comprehend/CHANGELOG.md#v180-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.8.0](service/databasemigrationservice/CHANGELOG.md#v180-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.18.0](service/ec2/CHANGELOG.md#v1180-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ecr`: [v1.7.0](service/ecr/CHANGELOG.md#v170-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticsearchservice`: [v1.7.0](service/elasticsearchservice/CHANGELOG.md#v170-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.10.0](service/iam/CHANGELOG.md#v1100-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.6.0](service/identitystore/CHANGELOG.md#v160-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.10.0](service/imagebuilder/CHANGELOG.md#v1100-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.13.0](service/iot/CHANGELOG.md#v1130-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotevents`: [v1.7.0](service/iotevents/CHANGELOG.md#v170-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kafkaconnect`: [v1.1.0](service/kafkaconnect/CHANGELOG.md#v110-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.6.0](service/lakeformation/CHANGELOG.md#v160-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.8.0](service/lexmodelsv2/CHANGELOG.md#v180-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.5.0](service/lexruntimev2/CHANGELOG.md#v150-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/licensemanager`: [v1.8.0](service/licensemanager/CHANGELOG.md#v180-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.11.0](service/mediaconvert/CHANGELOG.md#v1110-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagevod`: [v1.9.0](service/mediapackagevod/CHANGELOG.md#v190-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.8.0](service/mediatailor/CHANGELOG.md#v180-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.1.0](service/opensearch/CHANGELOG.md#v110-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.12.0](service/quicksight/CHANGELOG.md#v1120-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.11.0](service/ssm/CHANGELOG.md#v1110-2021-09-24)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.10.0](service/wafv2/CHANGELOG.md#v1100-2021-09-24)
- * **Feature**: API client updated
-
-# Release (2021-09-17)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.10.0](service/chime/CHANGELOG.md#v1100-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.10.1](service/cloudformation/CHANGELOG.md#v1101-2021-09-17)
- * **Documentation**: Updated API client documentation.
-* `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.7.0](service/comprehend/CHANGELOG.md#v170-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.17.0](service/ec2/CHANGELOG.md#v1170-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/ecr`: [v1.6.0](service/ecr/CHANGELOG.md#v160-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.12.0](service/iot/CHANGELOG.md#v1120-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/kafkaconnect`: [v1.0.0](service/kafkaconnect/CHANGELOG.md#v100-2021-09-17)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.7.0](service/lexmodelsv2/CHANGELOG.md#v170-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.4.0](service/lexruntimev2/CHANGELOG.md#v140-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.10.0](service/macie2/CHANGELOG.md#v1100-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagevod`: [v1.8.0](service/mediapackagevod/CHANGELOG.md#v180-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.6.0](service/networkfirewall/CHANGELOG.md#v160-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/pinpoint`: [v1.7.0](service/pinpoint/CHANGELOG.md#v170-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.11.0](service/quicksight/CHANGELOG.md#v1110-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.9.0](service/rds/CHANGELOG.md#v190-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/robomaker`: [v1.9.0](service/robomaker/CHANGELOG.md#v190-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.16.0](service/s3/CHANGELOG.md#v1160-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.15.0](service/sagemaker/CHANGELOG.md#v1150-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/ssooidc`: [v1.5.0](service/ssooidc/CHANGELOG.md#v150-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.8.0](service/transcribe/CHANGELOG.md#v180-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.9.0](service/wafv2/CHANGELOG.md#v190-2021-09-17)
- * **Feature**: Updated API client and endpoints to latest revision.
-
-# Release (2021-09-10)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/credentials`: [v1.4.1](credentials/CHANGELOG.md#v141-2021-09-10)
- * **Documentation**: Fixes the AssumeRoleProvider's documentation for using custom TokenProviders.
-* `github.com/aws/aws-sdk-go-v2/service/amp`: [v1.5.0](service/amp/CHANGELOG.md#v150-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.7.0](service/braket/CHANGELOG.md#v170-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkidentity`: [v1.2.0](service/chimesdkidentity/CHANGELOG.md#v120-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.2.0](service/chimesdkmessaging/CHANGELOG.md#v120-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codegurureviewer`: [v1.7.0](service/codegurureviewer/CHANGELOG.md#v170-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.10.0](service/eks/CHANGELOG.md#v1100-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.11.0](service/elasticache/CHANGELOG.md#v1110-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.9.0](service/emr/CHANGELOG.md#v190-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.10.0](service/forecast/CHANGELOG.md#v1100-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.9.0](service/frauddetector/CHANGELOG.md#v190-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kafka`: [v1.7.0](service/kafka/CHANGELOG.md#v170-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lookoutequipment`: [v1.4.0](service/lookoutequipment/CHANGELOG.md#v140-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediapackage`: [v1.8.0](service/mediapackage/CHANGELOG.md#v180-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.0.0](service/opensearch/CHANGELOG.md#v100-2021-09-10)
- * **Release**: New AWS service client module
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.8.0](service/outposts/CHANGELOG.md#v180-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ram`: [v1.7.0](service/ram/CHANGELOG.md#v170-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.14.0](service/sagemaker/CHANGELOG.md#v1140-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/servicediscovery`: [v1.9.0](service/servicediscovery/CHANGELOG.md#v190-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssmcontacts`: [v1.5.0](service/ssmcontacts/CHANGELOG.md#v150-2021-09-10)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/xray`: [v1.6.0](service/xray/CHANGELOG.md#v160-2021-09-10)
- * **Feature**: API client updated
-
-# Release (2021-09-02)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.8.0](config/CHANGELOG.md#v180-2021-09-02)
- * **Feature**: Add support for S3 Multi-Region Access Point ARNs.
-* `github.com/aws/aws-sdk-go-v2/service/accessanalyzer`: [v1.7.0](service/accessanalyzer/CHANGELOG.md#v170-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.8.0](service/acmpca/CHANGELOG.md#v180-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloud9`: [v1.8.0](service/cloud9/CHANGELOG.md#v180-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.10.0](service/cloudformation/CHANGELOG.md#v1100-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.6.0](service/cloudtrail/CHANGELOG.md#v160-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codebuild`: [v1.10.0](service/codebuild/CHANGELOG.md#v1100-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.9.0](service/computeoptimizer/CHANGELOG.md#v190-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.9.0](service/configservice/CHANGELOG.md#v190-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ebs`: [v1.7.0](service/ebs/CHANGELOG.md#v170-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.16.0](service/ec2/CHANGELOG.md#v1160-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.7.0](service/efs/CHANGELOG.md#v170-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.8.0](service/emr/CHANGELOG.md#v180-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/firehose`: [v1.6.0](service/firehose/CHANGELOG.md#v160-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.8.0](service/frauddetector/CHANGELOG.md#v180-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.9.0](service/fsx/CHANGELOG.md#v190-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/internal/s3shared`: [v1.7.0](service/internal/s3shared/CHANGELOG.md#v170-2021-09-02)
- * **Feature**: Add support for S3 Multi-Region Access Point ARNs.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.11.0](service/iot/CHANGELOG.md#v1110-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotjobsdataplane`: [v1.5.0](service/iotjobsdataplane/CHANGELOG.md#v150-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.7.0](service/ivs/CHANGELOG.md#v170-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.6.0](service/kms/CHANGELOG.md#v160-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice`: [v1.9.0](service/lexmodelbuildingservice/CHANGELOG.md#v190-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.7.0](service/mediatailor/CHANGELOG.md#v170-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/memorydb`: [v1.2.0](service/memorydb/CHANGELOG.md#v120-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mwaa`: [v1.5.0](service/mwaa/CHANGELOG.md#v150-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.6.0](service/polly/CHANGELOG.md#v160-2021-09-02)
- * **Feature**: API client updated
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.10.0](service/quicksight/CHANGELOG.md#v1100-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.15.0](service/s3/CHANGELOG.md#v1150-2021-09-02)
- * **Feature**: API client updated
- * **Feature**: Add support for S3 Multi-Region Access Point ARNs.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.11.0](service/s3control/CHANGELOG.md#v1110-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerruntime`: [v1.7.0](service/sagemakerruntime/CHANGELOG.md#v170-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/schemas`: [v1.6.0](service/schemas/CHANGELOG.md#v160-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.10.0](service/securityhub/CHANGELOG.md#v1100-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry`: [v1.5.0](service/servicecatalogappregistry/CHANGELOG.md#v150-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.9.0](service/sqs/CHANGELOG.md#v190-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.4.0](service/ssmincidents/CHANGELOG.md#v140-2021-09-02)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.7.0](service/transfer/CHANGELOG.md#v170-2021-09-02)
- * **Feature**: API client updated
-
-# Release (2021-08-27)
-
-## General Highlights
-* **Feature**: Updated `github.com/aws/smithy-go` to latest version
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/credentials`: [v1.4.0](credentials/CHANGELOG.md#v140-2021-08-27)
- * **Feature**: Adds support for Tags and TransitiveTagKeys to stscreds.AssumeRoleProvider. Closes https://github.com/aws/aws-sdk-go-v2/issues/723
-* `github.com/aws/aws-sdk-go-v2/feature/dynamodb/attributevalue`: [v1.2.0](feature/dynamodb/attributevalue/CHANGELOG.md#v120-2021-08-27)
- * **Bug Fix**: Fix unmarshaler's decoding of AttributeValueMemberN into a type that is a string alias.
-* `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.7.0](service/acmpca/CHANGELOG.md#v170-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/amplify`: [v1.5.0](service/amplify/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/amplifybackend`: [v1.4.0](service/amplifybackend/CHANGELOG.md#v140-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/apigateway`: [v1.7.0](service/apigateway/CHANGELOG.md#v170-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi`: [v1.4.0](service/apigatewaymanagementapi/CHANGELOG.md#v140-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.7.0](service/appflow/CHANGELOG.md#v170-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/applicationinsights`: [v1.4.0](service/applicationinsights/CHANGELOG.md#v140-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.2.0](service/apprunner/CHANGELOG.md#v120-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.6.0](service/appstream/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.6.0](service/appsync/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.6.0](service/athena/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.8.0](service/auditmanager/CHANGELOG.md#v180-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/autoscalingplans`: [v1.5.0](service/autoscalingplans/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.5.0](service/backup/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.7.0](service/batch/CHANGELOG.md#v170-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.6.0](service/braket/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkidentity`: [v1.1.0](service/chimesdkidentity/CHANGELOG.md#v110-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.1.0](service/chimesdkmessaging/CHANGELOG.md#v110-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.5.0](service/cloudtrail/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchevents`: [v1.6.0](service/cloudwatchevents/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.5.0](service/codeartifact/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/codebuild`: [v1.9.0](service/codebuild/CHANGELOG.md#v190-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/codecommit`: [v1.4.0](service/codecommit/CHANGELOG.md#v140-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/codeguruprofiler`: [v1.5.0](service/codeguruprofiler/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/codestarnotifications`: [v1.4.0](service/codestarnotifications/CHANGELOG.md#v140-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentity`: [v1.5.0](service/cognitoidentity/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.6.0](service/cognitoidentityprovider/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.6.0](service/comprehend/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.8.0](service/computeoptimizer/CHANGELOG.md#v180-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/connectcontactlens`: [v1.5.0](service/connectcontactlens/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.9.0](service/customerprofiles/CHANGELOG.md#v190-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.7.0](service/databasemigrationservice/CHANGELOG.md#v170-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.6.0](service/datasync/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/dax`: [v1.4.0](service/dax/CHANGELOG.md#v140-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/directoryservice`: [v1.5.0](service/directoryservice/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/dlm`: [v1.5.0](service/dlm/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/dynamodbstreams`: [v1.4.0](service/dynamodbstreams/CHANGELOG.md#v140-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.15.0](service/ec2/CHANGELOG.md#v1150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/ecrpublic`: [v1.5.0](service/ecrpublic/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.6.0](service/efs/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.9.0](service/eks/CHANGELOG.md#v190-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.6.0](service/emrcontainers/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.7.0](service/eventbridge/CHANGELOG.md#v170-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/finspace`: [v1.2.0](service/finspace/CHANGELOG.md#v120-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.2.0](service/finspacedata/CHANGELOG.md#v120-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/firehose`: [v1.5.0](service/firehose/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.7.0](service/fms/CHANGELOG.md#v170-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.9.0](service/forecast/CHANGELOG.md#v190-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/forecastquery`: [v1.4.0](service/forecastquery/CHANGELOG.md#v140-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.7.0](service/frauddetector/CHANGELOG.md#v170-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.8.0](service/fsx/CHANGELOG.md#v180-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.6.0](service/gamelift/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.11.0](service/glue/CHANGELOG.md#v1110-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/groundstation`: [v1.6.0](service/groundstation/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.5.0](service/guardduty/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/health`: [v1.7.0](service/health/CHANGELOG.md#v170-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/healthlake`: [v1.6.0](service/healthlake/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.10.0](service/iot/CHANGELOG.md#v1100-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/iot1clickdevicesservice`: [v1.4.0](service/iot1clickdevicesservice/CHANGELOG.md#v140-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/iotanalytics`: [v1.5.0](service/iotanalytics/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/iotdataplane`: [v1.4.0](service/iotdataplane/CHANGELOG.md#v140-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/iotfleethub`: [v1.5.0](service/iotfleethub/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.11.0](service/iotsitewise/CHANGELOG.md#v1110-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.6.0](service/ivs/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.5.0](service/lakeformation/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.6.0](service/lexmodelsv2/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.3.0](service/lexruntimev2/CHANGELOG.md#v130-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/licensemanager`: [v1.7.0](service/licensemanager/CHANGELOG.md#v170-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.10.0](service/lightsail/CHANGELOG.md#v1100-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutequipment`: [v1.3.0](service/lookoutequipment/CHANGELOG.md#v130-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.3.0](service/lookoutmetrics/CHANGELOG.md#v130-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.9.0](service/macie2/CHANGELOG.md#v190-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.10.0](service/mediaconvert/CHANGELOG.md#v1100-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackage`: [v1.7.0](service/mediapackage/CHANGELOG.md#v170-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagevod`: [v1.7.0](service/mediapackagevod/CHANGELOG.md#v170-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/mq`: [v1.5.0](service/mq/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.5.0](service/networkfirewall/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.7.0](service/outposts/CHANGELOG.md#v170-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/pi`: [v1.6.0](service/pi/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoice`: [v1.4.0](service/pinpointsmsvoice/CHANGELOG.md#v140-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.5.0](service/polly/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/qldb`: [v1.6.0](service/qldb/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/qldbsession`: [v1.5.0](service/qldbsession/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/ram`: [v1.6.0](service/ram/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.8.0](service/rekognition/CHANGELOG.md#v180-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi`: [v1.5.0](service/resourcegroupstaggingapi/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/robomaker`: [v1.8.0](service/robomaker/CHANGELOG.md#v180-2021-08-27)
- * **Bug Fix**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig`: [v1.1.0](service/route53recoverycontrolconfig/CHANGELOG.md#v110-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/route53resolver`: [v1.7.0](service/route53resolver/CHANGELOG.md#v170-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.14.0](service/s3/CHANGELOG.md#v1140-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.10.0](service/s3control/CHANGELOG.md#v1100-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/s3outposts`: [v1.5.0](service/s3outposts/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.5.0](service/servicecatalog/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry`: [v1.4.0](service/servicecatalogappregistry/CHANGELOG.md#v140-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/signer`: [v1.5.0](service/signer/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/ssooidc`: [v1.4.0](service/ssooidc/CHANGELOG.md#v140-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/storagegateway`: [v1.6.0](service/storagegateway/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/synthetics`: [v1.6.0](service/synthetics/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.5.0](service/textract/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.7.0](service/transcribe/CHANGELOG.md#v170-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.6.0](service/transfer/CHANGELOG.md#v160-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/wafregional`: [v1.5.0](service/wafregional/CHANGELOG.md#v150-2021-08-27)
- * **Feature**: Updated API model to latest revision.
-
-# Release (2021-08-19)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/apigateway`: [v1.6.0](service/apigateway/CHANGELOG.md#v160-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/apigatewayv2`: [v1.5.0](service/apigatewayv2/CHANGELOG.md#v150-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.6.0](service/appflow/CHANGELOG.md#v160-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/applicationautoscaling`: [v1.5.0](service/applicationautoscaling/CHANGELOG.md#v150-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloud9`: [v1.6.0](service/cloud9/CHANGELOG.md#v160-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/clouddirectory`: [v1.4.0](service/clouddirectory/CHANGELOG.md#v140-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.6.0](service/cloudwatchlogs/CHANGELOG.md#v160-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codebuild`: [v1.8.0](service/codebuild/CHANGELOG.md#v180-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.7.0](service/configservice/CHANGELOG.md#v170-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.8.0](service/costexplorer/CHANGELOG.md#v180-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.8.0](service/customerprofiles/CHANGELOG.md#v180-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/databrew`: [v1.8.0](service/databrew/CHANGELOG.md#v180-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/directoryservice`: [v1.4.0](service/directoryservice/CHANGELOG.md#v140-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.14.0](service/ec2/CHANGELOG.md#v1140-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.9.0](service/elasticache/CHANGELOG.md#v190-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.6.0](service/emr/CHANGELOG.md#v160-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.10.0](service/iotsitewise/CHANGELOG.md#v1100-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.7.0](service/lambda/CHANGELOG.md#v170-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/licensemanager`: [v1.6.0](service/licensemanager/CHANGELOG.md#v160-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/memorydb`: [v1.0.0](service/memorydb/CHANGELOG.md#v100-2021-08-19)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.8.0](service/quicksight/CHANGELOG.md#v180-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.10.0](service/route53/CHANGELOG.md#v1100-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/route53resolver`: [v1.6.0](service/route53resolver/CHANGELOG.md#v160-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.13.0](service/s3/CHANGELOG.md#v1130-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.12.0](service/sagemaker/CHANGELOG.md#v1120-2021-08-19)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerruntime`: [v1.5.0](service/sagemakerruntime/CHANGELOG.md#v150-2021-08-19)
- * **Feature**: API client updated
-
-# Release (2021-08-12)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/feature/cloudfront/sign`: [v1.3.1](feature/cloudfront/sign/CHANGELOG.md#v131-2021-08-12)
- * **Bug Fix**: Update to not escape HTML when encoding the policy.
-* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.5.0](service/athena/CHANGELOG.md#v150-2021-08-12)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.11.0](service/autoscaling/CHANGELOG.md#v1110-2021-08-12)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.8.0](service/chime/CHANGELOG.md#v180-2021-08-12)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkidentity`: [v1.0.0](service/chimesdkidentity/CHANGELOG.md#v100-2021-08-12)
- * **Release**: New AWS service client module
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.0.0](service/chimesdkmessaging/CHANGELOG.md#v100-2021-08-12)
- * **Release**: New AWS service client module
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codebuild`: [v1.7.0](service/codebuild/CHANGELOG.md#v170-2021-08-12)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.6.0](service/connect/CHANGELOG.md#v160-2021-08-12)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ebs`: [v1.5.0](service/ebs/CHANGELOG.md#v150-2021-08-12)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.8.0](service/ecs/CHANGELOG.md#v180-2021-08-12)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.5.0](service/lexmodelsv2/CHANGELOG.md#v150-2021-08-12)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.9.0](service/lightsail/CHANGELOG.md#v190-2021-08-12)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/nimble`: [v1.3.0](service/nimble/CHANGELOG.md#v130-2021-08-12)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.7.0](service/rekognition/CHANGELOG.md#v170-2021-08-12)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.9.0](service/route53/CHANGELOG.md#v190-2021-08-12)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/snowdevicemanagement`: [v1.0.0](service/snowdevicemanagement/CHANGELOG.md#v100-2021-08-12)
- * **Release**: New AWS service client module
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.9.0](service/ssm/CHANGELOG.md#v190-2021-08-12)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/synthetics`: [v1.5.0](service/synthetics/CHANGELOG.md#v150-2021-08-12)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.7.0](service/wafv2/CHANGELOG.md#v170-2021-08-12)
- * **Feature**: API client updated
-
-# Release (2021-08-04)
-
-## General Highlights
-* **Feature**: adds error handling for defered close calls
-* **Dependency Update**: Updated `github.com/aws/smithy-go` to latest version.
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.8.0
- * **Bug Fix**: Corrected an issue where the retryer was not using the last attempt's ResultMetadata as the bases for the return result from the stack. ([#1345](https://github.com/aws/aws-sdk-go-v2/pull/1345))
-* `github.com/aws/aws-sdk-go-v2/feature/dynamodb/expression`: [v1.2.0](feature/dynamodb/expression/CHANGELOG.md#v120-2021-08-04)
- * **Feature**: Add IsSet helper for ConditionBuilder and KeyConditionBuilder ([#1329](https://github.com/aws/aws-sdk-go-v2/pull/1329))
-* `github.com/aws/aws-sdk-go-v2/service/accessanalyzer`: [v1.5.2](service/accessanalyzer/CHANGELOG.md#v152-2021-08-04)
- * **Bug Fix**: Fixed an issue that caused one or more API operations to fail when attempting to resolve the service endpoint. ([#1349](https://github.com/aws/aws-sdk-go-v2/pull/1349))
-* `github.com/aws/aws-sdk-go-v2/service/amp`: [v1.3.1](service/amp/CHANGELOG.md#v131-2021-08-04)
- * **Bug Fix**: Fixed an issue that caused one or more API operations to fail when attempting to resolve the service endpoint. ([#1349](https://github.com/aws/aws-sdk-go-v2/pull/1349))
-* `github.com/aws/aws-sdk-go-v2/service/appintegrations`: [v1.5.0](service/appintegrations/CHANGELOG.md#v150-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/appmesh`: [v1.4.2](service/appmesh/CHANGELOG.md#v142-2021-08-04)
- * **Bug Fix**: Fixed an issue that caused one or more API operations to fail when attempting to resolve the service endpoint. ([#1349](https://github.com/aws/aws-sdk-go-v2/pull/1349))
-* `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.5.0](service/appsync/CHANGELOG.md#v150-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.7.0](service/auditmanager/CHANGELOG.md#v170-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.6.0](service/batch/CHANGELOG.md#v160-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.5.2](service/braket/CHANGELOG.md#v152-2021-08-04)
- * **Bug Fix**: Fixed an issue that caused one or more API operations to fail when attempting to resolve the service endpoint. ([#1349](https://github.com/aws/aws-sdk-go-v2/pull/1349))
-* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.7.0](service/chime/CHANGELOG.md#v170-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.8.0](service/cloudformation/CHANGELOG.md#v180-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.7.0](service/cloudwatch/CHANGELOG.md#v170-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/codebuild`: [v1.6.0](service/codebuild/CHANGELOG.md#v160-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/codeguruprofiler`: [v1.4.2](service/codeguruprofiler/CHANGELOG.md#v142-2021-08-04)
- * **Bug Fix**: Fixed an issue that caused one or more API operations to fail when attempting to resolve the service endpoint. ([#1349](https://github.com/aws/aws-sdk-go-v2/pull/1349))
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.5.0](service/cognitoidentityprovider/CHANGELOG.md#v150-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.7.0](service/computeoptimizer/CHANGELOG.md#v170-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/databrew`: [v1.7.0](service/databrew/CHANGELOG.md#v170-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/directconnect`: [v1.7.0](service/directconnect/CHANGELOG.md#v170-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.13.0](service/ec2/CHANGELOG.md#v1130-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.7.0](service/ecs/CHANGELOG.md#v170-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.6.0](service/elasticloadbalancingv2/CHANGELOG.md#v160-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.5.0](service/emr/CHANGELOG.md#v150-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.5.0](service/emrcontainers/CHANGELOG.md#v150-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.6.0](service/eventbridge/CHANGELOG.md#v160-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.10.0](service/glue/CHANGELOG.md#v1100-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.5.0](service/greengrassv2/CHANGELOG.md#v150-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/groundstation`: [v1.5.2](service/groundstation/CHANGELOG.md#v152-2021-08-04)
- * **Bug Fix**: Fixed an issue that caused one or more API operations to fail when attempting to resolve the service endpoint. ([#1349](https://github.com/aws/aws-sdk-go-v2/pull/1349))
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.8.0](service/iam/CHANGELOG.md#v180-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.4.0](service/identitystore/CHANGELOG.md#v140-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.8.0](service/imagebuilder/CHANGELOG.md#v180-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.9.0](service/iot/CHANGELOG.md#v190-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/iotanalytics`: [v1.4.0](service/iotanalytics/CHANGELOG.md#v140-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.9.0](service/iotsitewise/CHANGELOG.md#v190-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.8.0](service/iotwireless/CHANGELOG.md#v180-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.10.0](service/kendra/CHANGELOG.md#v1100-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.6.0](service/lambda/CHANGELOG.md#v160-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice`: [v1.7.0](service/lexmodelbuildingservice/CHANGELOG.md#v170-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.4.0](service/lexmodelsv2/CHANGELOG.md#v140-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.4.0](service/location/CHANGELOG.md#v140-2021-08-04)
- * **Feature**: Updated to latest API model.
- * **Bug Fix**: Fixed an issue that caused one or more API operations to fail when attempting to resolve the service endpoint. ([#1349](https://github.com/aws/aws-sdk-go-v2/pull/1349))
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.9.0](service/mediaconvert/CHANGELOG.md#v190-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.8.0](service/medialive/CHANGELOG.md#v180-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.3.1](service/mgn/CHANGELOG.md#v131-2021-08-04)
- * **Bug Fix**: Fixed an issue that caused one or more API operations to fail when attempting to resolve the service endpoint. ([#1349](https://github.com/aws/aws-sdk-go-v2/pull/1349))
-* `github.com/aws/aws-sdk-go-v2/service/personalize`: [v1.7.0](service/personalize/CHANGELOG.md#v170-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.2.0](service/proton/CHANGELOG.md#v120-2021-08-04)
- * **Feature**: Updated to latest API model.
- * **Bug Fix**: Fixed an issue that caused one or more API operations to fail when attempting to resolve the service endpoint. ([#1349](https://github.com/aws/aws-sdk-go-v2/pull/1349))
-* `github.com/aws/aws-sdk-go-v2/service/qldb`: [v1.5.0](service/qldb/CHANGELOG.md#v150-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.7.0](service/quicksight/CHANGELOG.md#v170-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.7.0](service/rds/CHANGELOG.md#v170-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.10.0](service/redshift/CHANGELOG.md#v1100-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/redshiftdata`: [v1.5.0](service/redshiftdata/CHANGELOG.md#v150-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/robomaker`: [v1.7.0](service/robomaker/CHANGELOG.md#v170-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.8.0](service/route53/CHANGELOG.md#v180-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycluster`: [v1.0.0](service/route53recoverycluster/CHANGELOG.md#v100-2021-08-04)
- * **Release**: New AWS service client module
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig`: [v1.0.0](service/route53recoverycontrolconfig/CHANGELOG.md#v100-2021-08-04)
- * **Release**: New AWS service client module
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness`: [v1.0.0](service/route53recoveryreadiness/CHANGELOG.md#v100-2021-08-04)
- * **Release**: New AWS service client module
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.12.0](service/s3/CHANGELOG.md#v1120-2021-08-04)
- * **Feature**: Add `HeadObject` presign support. ([#1346](https://github.com/aws/aws-sdk-go-v2/pull/1346))
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.9.0](service/s3control/CHANGELOG.md#v190-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/s3outposts`: [v1.4.0](service/s3outposts/CHANGELOG.md#v140-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.11.0](service/sagemaker/CHANGELOG.md#v1110-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.5.0](service/secretsmanager/CHANGELOG.md#v150-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.8.0](service/securityhub/CHANGELOG.md#v180-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/shield`: [v1.6.0](service/shield/CHANGELOG.md#v160-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ssmcontacts`: [v1.3.0](service/ssmcontacts/CHANGELOG.md#v130-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.2.0](service/ssmincidents/CHANGELOG.md#v120-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ssoadmin`: [v1.5.0](service/ssoadmin/CHANGELOG.md#v150-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/synthetics`: [v1.4.0](service/synthetics/CHANGELOG.md#v140-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.4.0](service/textract/CHANGELOG.md#v140-2021-08-04)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.6.0](service/transcribe/CHANGELOG.md#v160-2021-08-04)
- * **Feature**: Updated to latest API model.
-
-# Release (2021-07-15)
-
-## General Highlights
-* **Dependency Update**: Updated `github.com/aws/smithy-go` to latest version
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.5.0](config/CHANGELOG.md#v150-2021-07-15)
- * **Feature**: Support has been added for EC2 IPv6-enabled Instance Metadata Service Endpoints.
-* `github.com/aws/aws-sdk-go-v2/feature/ec2/imds`: [v1.3.0](feature/ec2/imds/CHANGELOG.md#v130-2021-07-15)
- * **Feature**: Support has been added for EC2 IPv6-enabled Instance Metadata Service Endpoints.
-* `github.com/aws/aws-sdk-go-v2/service/acm`: [v1.5.0](service/acm/CHANGELOG.md#v150-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/amp`: [v1.3.0](service/amp/CHANGELOG.md#v130-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/amplify`: [v1.4.0](service/amplify/CHANGELOG.md#v140-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/amplifybackend`: [v1.3.0](service/amplifybackend/CHANGELOG.md#v130-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.10.0](service/autoscaling/CHANGELOG.md#v1100-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
-* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.6.0](service/chime/CHANGELOG.md#v160-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.7.0](service/cloudformation/CHANGELOG.md#v170-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.7.0](service/cloudfront/CHANGELOG.md#v170-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/cloudsearch`: [v1.5.0](service/cloudsearch/CHANGELOG.md#v150-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.6.0](service/cloudwatch/CHANGELOG.md#v160-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
-* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.6.0](service/databasemigrationservice/CHANGELOG.md#v160-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.6.0](service/devopsguru/CHANGELOG.md#v160-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/directconnect`: [v1.6.0](service/directconnect/CHANGELOG.md#v160-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.8.0](service/docdb/CHANGELOG.md#v180-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.12.0](service/ec2/CHANGELOG.md#v1120-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.8.0](service/eks/CHANGELOG.md#v180-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.8.0](service/elasticache/CHANGELOG.md#v180-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
-* `github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk`: [v1.5.0](service/elasticbeanstalk/CHANGELOG.md#v150-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing`: [v1.5.0](service/elasticloadbalancing/CHANGELOG.md#v150-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
- * **Documentation**: Updated service model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.5.0](service/elasticloadbalancingv2/CHANGELOG.md#v150-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
- * **Documentation**: Updated service model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.6.0](service/fms/CHANGELOG.md#v160-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.6.0](service/frauddetector/CHANGELOG.md#v160-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.9.0](service/glue/CHANGELOG.md#v190-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/health`: [v1.6.0](service/health/CHANGELOG.md#v160-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/healthlake`: [v1.5.0](service/healthlake/CHANGELOG.md#v150-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.7.0](service/iam/CHANGELOG.md#v170-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
- * **Documentation**: Updated service model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.7.0](service/imagebuilder/CHANGELOG.md#v170-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.8.0](service/iot/CHANGELOG.md#v180-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.8.0](service/iotsitewise/CHANGELOG.md#v180-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.9.0](service/kendra/CHANGELOG.md#v190-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.5.0](service/lambda/CHANGELOG.md#v150-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice`: [v1.6.0](service/lexmodelbuildingservice/CHANGELOG.md#v160-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.8.0](service/lightsail/CHANGELOG.md#v180-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/macie`: [v1.5.1](service/macie/CHANGELOG.md#v151-2021-07-15)
- * **Documentation**: Updated service model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.8.1](service/macie2/CHANGELOG.md#v181-2021-07-15)
- * **Documentation**: Updated service model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.8.0](service/mediaconvert/CHANGELOG.md#v180-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.5.0](service/mediatailor/CHANGELOG.md#v150-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.3.0](service/mgn/CHANGELOG.md#v130-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/mq`: [v1.4.0](service/mq/CHANGELOG.md#v140-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/neptune`: [v1.7.0](service/neptune/CHANGELOG.md#v170-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.6.0](service/outposts/CHANGELOG.md#v160-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/pricing`: [v1.5.1](service/pricing/CHANGELOG.md#v151-2021-07-15)
- * **Documentation**: Updated service model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.6.0](service/rds/CHANGELOG.md#v160-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.9.0](service/redshift/CHANGELOG.md#v190-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.10.0](service/sagemaker/CHANGELOG.md#v1100-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/ses`: [v1.5.0](service/ses/CHANGELOG.md#v150-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
-* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.7.0](service/sns/CHANGELOG.md#v170-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
- * **Documentation**: Updated service model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.7.0](service/sqs/CHANGELOG.md#v170-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.8.0](service/ssm/CHANGELOG.md#v180-2021-07-15)
- * **Feature**: Updated service model to latest version.
- * **Documentation**: Updated service model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/storagegateway`: [v1.5.0](service/storagegateway/CHANGELOG.md#v150-2021-07-15)
- * **Feature**: Updated service model to latest version.
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.6.0](service/sts/CHANGELOG.md#v160-2021-07-15)
- * **Feature**: The ErrorCode method on generated service error types has been corrected to match the API model.
- * **Documentation**: Updated service model to latest revision.
-* `github.com/aws/aws-sdk-go-v2/service/wellarchitected`: [v1.5.0](service/wellarchitected/CHANGELOG.md#v150-2021-07-15)
- * **Feature**: Updated service model to latest version.
-
-# Release (2021-07-01)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/internal/ini`: [v1.1.0](internal/ini/CHANGELOG.md#v110-2021-07-01)
- * **Feature**: Support for `:`, `=`, `[`, `]` being present in expression values.
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.9.0](service/autoscaling/CHANGELOG.md#v190-2021-07-01)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/databrew`: [v1.6.0](service/databrew/CHANGELOG.md#v160-2021-07-01)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.11.0](service/ec2/CHANGELOG.md#v1110-2021-07-01)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.8.0](service/glue/CHANGELOG.md#v180-2021-07-01)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.8.0](service/kendra/CHANGELOG.md#v180-2021-07-01)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.7.0](service/mediaconvert/CHANGELOG.md#v170-2021-07-01)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediapackagevod`: [v1.6.0](service/mediapackagevod/CHANGELOG.md#v160-2021-07-01)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.8.0](service/redshift/CHANGELOG.md#v180-2021-07-01)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.9.0](service/sagemaker/CHANGELOG.md#v190-2021-07-01)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/servicediscovery`: [v1.7.0](service/servicediscovery/CHANGELOG.md#v170-2021-07-01)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.6.0](service/sqs/CHANGELOG.md#v160-2021-07-01)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssmcontacts`: [v1.2.0](service/ssmcontacts/CHANGELOG.md#v120-2021-07-01)
- * **Feature**: API client updated
-
-# Release (2021-06-25)
-
-## General Highlights
-* **Feature**: Updated `github.com/aws/smithy-go` to latest version
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.7.0
- * **Feature**: Adds configuration values for enabling endpoint discovery.
- * **Bug Fix**: Keep Object-Lock headers a header when presigning Sigv4 signing requests
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.4.0](config/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: Adds configuration setting for enabling endpoint discovery.
-* `github.com/aws/aws-sdk-go-v2/credentials`: [v1.3.0](credentials/CHANGELOG.md#v130-2021-06-25)
- * **Bug Fix**: Fixed example usages of aws.CredentialsCache ([#1275](https://github.com/aws/aws-sdk-go-v2/pull/1275))
-* `github.com/aws/aws-sdk-go-v2/feature/cloudfront/sign`: [v1.2.0](feature/cloudfront/sign/CHANGELOG.md#v120-2021-06-25)
- * **Feature**: Add UnmarshalJSON for AWSEpochTime to correctly unmarshal AWSEpochTime, ([#1298](https://github.com/aws/aws-sdk-go-v2/pull/1298))
-* `github.com/aws/aws-sdk-go-v2/internal/configsources`: [v1.0.0](internal/configsources/CHANGELOG.md#v100-2021-06-25)
- * **Release**: Release new modules
-* `github.com/aws/aws-sdk-go-v2/service/amp`: [v1.2.0](service/amp/CHANGELOG.md#v120-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/amplify`: [v1.3.0](service/amplify/CHANGELOG.md#v130-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/amplifybackend`: [v1.2.0](service/amplifybackend/CHANGELOG.md#v120-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.5.0](service/appflow/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/appmesh`: [v1.4.0](service/appmesh/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.5.0](service/chime/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloud9`: [v1.5.0](service/cloud9/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudformation`: [v1.6.0](service/cloudformation/CHANGELOG.md#v160-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.6.0](service/cloudfront/CHANGELOG.md#v160-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudsearch`: [v1.4.0](service/cloudsearch/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatch`: [v1.5.0](service/cloudwatch/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchevents`: [v1.5.0](service/cloudwatchevents/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codebuild`: [v1.5.0](service/codebuild/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/codegurureviewer`: [v1.5.0](service/codegurureviewer/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentity`: [v1.4.0](service/cognitoidentity/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.4.0](service/cognitoidentityprovider/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.5.0](service/connect/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/dax`: [v1.3.0](service/dax/CHANGELOG.md#v130-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.7.0](service/docdb/CHANGELOG.md#v170-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.4.0](service/dynamodb/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: Adds support for endpoint discovery.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.10.0](service/ec2/CHANGELOG.md#v1100-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.7.0](service/elasticache/CHANGELOG.md#v170-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticbeanstalk`: [v1.4.0](service/elasticbeanstalk/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancing`: [v1.4.0](service/elasticloadbalancing/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticloadbalancingv2`: [v1.4.0](service/elasticloadbalancingv2/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.5.0](service/eventbridge/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/greengrass`: [v1.5.0](service/greengrass/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.4.0](service/greengrassv2/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.6.0](service/iam/CHANGELOG.md#v160-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/internal/endpoint-discovery`: [v1.0.0](service/internal/endpoint-discovery/CHANGELOG.md#v100-2021-06-25)
- * **Release**: Release new modules
- * **Feature**: Module supporting endpoint-discovery across all service clients.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.7.0](service/iot/CHANGELOG.md#v170-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotanalytics`: [v1.3.0](service/iotanalytics/CHANGELOG.md#v130-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.7.0](service/kendra/CHANGELOG.md#v170-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.4.0](service/kms/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.3.0](service/lexmodelsv2/CHANGELOG.md#v130-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.2.0](service/lexruntimev2/CHANGELOG.md#v120-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/licensemanager`: [v1.5.0](service/licensemanager/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.2.0](service/lookoutmetrics/CHANGELOG.md#v120-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/managedblockchain`: [v1.4.0](service/managedblockchain/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediaconnect`: [v1.6.0](service/mediaconnect/CHANGELOG.md#v160-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.7.0](service/medialive/CHANGELOG.md#v170-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.4.0](service/mediatailor/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/neptune`: [v1.6.0](service/neptune/CHANGELOG.md#v160-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.1.0](service/proton/CHANGELOG.md#v110-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.6.0](service/quicksight/CHANGELOG.md#v160-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ram`: [v1.5.0](service/ram/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.5.0](service/rds/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/redshift`: [v1.7.0](service/redshift/CHANGELOG.md#v170-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/redshiftdata`: [v1.4.0](service/redshiftdata/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.7.0](service/route53/CHANGELOG.md#v170-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.8.0](service/sagemaker/CHANGELOG.md#v180-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemakerfeaturestoreruntime`: [v1.4.0](service/sagemakerfeaturestoreruntime/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.7.0](service/securityhub/CHANGELOG.md#v170-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ses`: [v1.4.0](service/ses/CHANGELOG.md#v140-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/snowball`: [v1.5.0](service/snowball/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.6.0](service/sns/CHANGELOG.md#v160-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.5.0](service/sqs/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sts`: [v1.5.0](service/sts/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/timestreamquery`: [v1.3.0](service/timestreamquery/CHANGELOG.md#v130-2021-06-25)
- * **Feature**: Adds support for endpoint discovery.
-* `github.com/aws/aws-sdk-go-v2/service/timestreamwrite`: [v1.3.0](service/timestreamwrite/CHANGELOG.md#v130-2021-06-25)
- * **Feature**: Adds support for endpoint discovery.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.5.0](service/transfer/CHANGELOG.md#v150-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/waf`: [v1.3.0](service/waf/CHANGELOG.md#v130-2021-06-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.6.0](service/wafv2/CHANGELOG.md#v160-2021-06-25)
- * **Feature**: API client updated
-
-# Release (2021-06-11)
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.7.0](service/autoscaling/CHANGELOG.md#v170-2021-06-11)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.3.2](service/cloudtrail/CHANGELOG.md#v132-2021-06-11)
- * **Documentation**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.3.3](service/cognitoidentityprovider/CHANGELOG.md#v133-2021-06-11)
- * **Documentation**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.6.0](service/eks/CHANGELOG.md#v160-2021-06-11)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.6.0](service/fsx/CHANGELOG.md#v160-2021-06-11)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.6.0](service/glue/CHANGELOG.md#v160-2021-06-11)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.6.0](service/kendra/CHANGELOG.md#v160-2021-06-11)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.7.0](service/macie2/CHANGELOG.md#v170-2021-06-11)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.6.0](service/medialive/CHANGELOG.md#v160-2021-06-11)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/pi`: [v1.4.0](service/pi/CHANGELOG.md#v140-2021-06-11)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.0.0](service/proton/CHANGELOG.md#v100-2021-06-11)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/qldb`: [v1.3.1](service/qldb/CHANGELOG.md#v131-2021-06-11)
- * **Documentation**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.4.2](service/rds/CHANGELOG.md#v142-2021-06-11)
- * **Documentation**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.7.0](service/sagemaker/CHANGELOG.md#v170-2021-06-11)
- * **Feature**: Updated to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.4.1](service/transfer/CHANGELOG.md#v141-2021-06-11)
- * **Documentation**: Updated to latest API model.
-
-# Release (2021-06-04)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.5.0](service/acmpca/CHANGELOG.md#v150-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.6.0](service/autoscaling/CHANGELOG.md#v160-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.4.0](service/braket/CHANGELOG.md#v140-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.5.2](service/cloudfront/CHANGELOG.md#v152-2021-06-04)
- * **Documentation**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.4.0](service/datasync/CHANGELOG.md#v140-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/devicefarm`: [v1.3.0](service/devicefarm/CHANGELOG.md#v130-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/docdb`: [v1.6.0](service/docdb/CHANGELOG.md#v160-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.9.0](service/ec2/CHANGELOG.md#v190-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.5.0](service/ecs/CHANGELOG.md#v150-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.7.0](service/forecast/CHANGELOG.md#v170-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.5.0](service/fsx/CHANGELOG.md#v150-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.5.1](service/iam/CHANGELOG.md#v151-2021-06-04)
- * **Documentation**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/internal/s3shared`: [v1.4.0](service/internal/s3shared/CHANGELOG.md#v140-2021-06-04)
- * **Feature**: The handling of AccessPoint and Outpost ARNs have been updated.
-* `github.com/aws/aws-sdk-go-v2/service/iotevents`: [v1.4.0](service/iotevents/CHANGELOG.md#v140-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ioteventsdata`: [v1.3.0](service/ioteventsdata/CHANGELOG.md#v130-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.6.0](service/iotsitewise/CHANGELOG.md#v160-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.6.0](service/iotwireless/CHANGELOG.md#v160-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.5.0](service/kendra/CHANGELOG.md#v150-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.6.1](service/lightsail/CHANGELOG.md#v161-2021-06-04)
- * **Documentation**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.2.0](service/location/CHANGELOG.md#v120-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/mwaa`: [v1.2.0](service/mwaa/CHANGELOG.md#v120-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.4.0](service/outposts/CHANGELOG.md#v140-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.3.0](service/polly/CHANGELOG.md#v130-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/qldb`: [v1.3.0](service/qldb/CHANGELOG.md#v130-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/resourcegroups`: [v1.3.2](service/resourcegroups/CHANGELOG.md#v132-2021-06-04)
- * **Documentation**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.6.2](service/route53/CHANGELOG.md#v162-2021-06-04)
- * **Documentation**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/route53resolver`: [v1.4.2](service/route53resolver/CHANGELOG.md#v142-2021-06-04)
- * **Documentation**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.10.0](service/s3/CHANGELOG.md#v1100-2021-06-04)
- * **Feature**: The handling of AccessPoint and Outpost ARNs have been updated.
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.7.0](service/s3control/CHANGELOG.md#v170-2021-06-04)
- * **Feature**: The handling of AccessPoint and Outpost ARNs have been updated.
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/servicediscovery`: [v1.5.0](service/servicediscovery/CHANGELOG.md#v150-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.5.0](service/sns/CHANGELOG.md#v150-2021-06-04)
- * **Feature**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/sqs`: [v1.4.2](service/sqs/CHANGELOG.md#v142-2021-06-04)
- * **Documentation**: Updated service client to latest API model.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.6.2](service/ssm/CHANGELOG.md#v162-2021-06-04)
- * **Documentation**: Updated service client to latest API model.
-
-# Release (2021-05-25)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.4.0](service/cloudwatchlogs/CHANGELOG.md#v140-2021-05-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/commander`: [v1.1.0](service/commander/CHANGELOG.md#v110-2021-05-25)
- * **Feature**: Deprecated module. The API client was incorrectly named. Use AWS Systems Manager Incident Manager (ssmincidents) instead.
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.5.0](service/computeoptimizer/CHANGELOG.md#v150-2021-05-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.6.0](service/costexplorer/CHANGELOG.md#v160-2021-05-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.8.0](service/ec2/CHANGELOG.md#v180-2021-05-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.4.0](service/efs/CHANGELOG.md#v140-2021-05-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.6.0](service/forecast/CHANGELOG.md#v160-2021-05-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.6.0](service/iot/CHANGELOG.md#v160-2021-05-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/opsworkscm`: [v1.4.0](service/opsworkscm/CHANGELOG.md#v140-2021-05-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.5.0](service/quicksight/CHANGELOG.md#v150-2021-05-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.9.0](service/s3/CHANGELOG.md#v190-2021-05-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.0.0](service/ssmincidents/CHANGELOG.md#v100-2021-05-25)
- * **Release**: New AWS service client module
-* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.4.0](service/transfer/CHANGELOG.md#v140-2021-05-25)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.4.0](service/workspaces/CHANGELOG.md#v140-2021-05-25)
- * **Feature**: API client updated
-
-# Release (2021-05-20)
-
-## General Highlights
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.6.0
- * **Feature**: `internal/ini`: This package has been migrated to a separate module at `github.com/aws/aws-sdk-go-v2/internal/ini`.
-* `github.com/aws/aws-sdk-go-v2/config`: [v1.3.0](config/CHANGELOG.md#v130-2021-05-20)
- * **Feature**: SSO credentials can now be defined alongside other credential providers within the same configuration profile.
- * **Bug Fix**: Profile names were incorrectly normalized to lower-case, which could result in unexpected profile configurations.
-* `github.com/aws/aws-sdk-go-v2/internal/ini`: [v1.0.0](internal/ini/CHANGELOG.md#v100-2021-05-20)
- * **Release**: The `github.com/aws/aws-sdk-go-v2/internal/ini` package is now a Go Module.
-* `github.com/aws/aws-sdk-go-v2/service/applicationcostprofiler`: [v1.0.0](service/applicationcostprofiler/CHANGELOG.md#v100-2021-05-20)
- * **Release**: New AWS service client module
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.0.0](service/apprunner/CHANGELOG.md#v100-2021-05-20)
- * **Release**: New AWS service client module
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.5.0](service/autoscaling/CHANGELOG.md#v150-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.4.0](service/computeoptimizer/CHANGELOG.md#v140-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/detective`: [v1.6.0](service/detective/CHANGELOG.md#v160-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.5.0](service/eks/CHANGELOG.md#v150-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticache`: [v1.6.0](service/elasticache/CHANGELOG.md#v160-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/elasticsearchservice`: [v1.4.0](service/elasticsearchservice/CHANGELOG.md#v140-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iam`: [v1.5.0](service/iam/CHANGELOG.md#v150-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.5.0](service/imagebuilder/CHANGELOG.md#v150-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.5.0](service/iot/CHANGELOG.md#v150-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotdeviceadvisor`: [v1.4.0](service/iotdeviceadvisor/CHANGELOG.md#v140-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.5.0](service/iotsitewise/CHANGELOG.md#v150-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kinesis`: [v1.4.0](service/kinesis/CHANGELOG.md#v140-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalytics`: [v1.3.0](service/kinesisanalytics/CHANGELOG.md#v130-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2`: [v1.4.0](service/kinesisanalyticsv2/CHANGELOG.md#v140-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.2.0](service/lexmodelsv2/CHANGELOG.md#v120-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/licensemanager`: [v1.4.0](service/licensemanager/CHANGELOG.md#v140-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.6.0](service/lightsail/CHANGELOG.md#v160-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/macie`: [v1.4.0](service/macie/CHANGELOG.md#v140-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.6.0](service/macie2/CHANGELOG.md#v160-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/mediaconnect`: [v1.5.0](service/mediaconnect/CHANGELOG.md#v150-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/neptune`: [v1.5.0](service/neptune/CHANGELOG.md#v150-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/personalize`: [v1.5.0](service/personalize/CHANGELOG.md#v150-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.4.0](service/quicksight/CHANGELOG.md#v140-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.5.0](service/rekognition/CHANGELOG.md#v150-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.8.0](service/s3/CHANGELOG.md#v180-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.6.0](service/sagemaker/CHANGELOG.md#v160-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/sagemakera2iruntime`: [v1.3.0](service/sagemakera2iruntime/CHANGELOG.md#v130-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.6.0](service/securityhub/CHANGELOG.md#v160-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/support`: [v1.3.0](service/support/CHANGELOG.md#v130-2021-05-20)
- * **Feature**: API client updated
-* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.4.0](service/transcribe/CHANGELOG.md#v140-2021-05-20)
- * **Feature**: API client updated
-
-# Release (2021-05-14)
-
-## General Highlights
-* **Feature**: Constant has been added to modules to enable runtime version inspection for reporting.
-* **Dependency Update**: Updated to the latest SDK module versions
-
-## Module Highlights
-* `github.com/aws/aws-sdk-go-v2`: v1.5.0
- * **Feature**: `AddSDKAgentKey` and `AddSDKAgentKeyValue` in `aws/middleware` package have been updated to direct metadata to `User-Agent` HTTP header.
-* `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.3.0](service/codeartifact/CHANGELOG.md#v130-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/commander`: [v1.0.0](service/commander/CHANGELOG.md#v100-2021-05-14)
- * **Release**: New AWS service client module
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.5.0](service/configservice/CHANGELOG.md#v150-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.4.0](service/connect/CHANGELOG.md#v140-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.7.0](service/ec2/CHANGELOG.md#v170-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.4.0](service/ecs/CHANGELOG.md#v140-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.4.0](service/eks/CHANGELOG.md#v140-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/finspace`: [v1.0.0](service/finspace/CHANGELOG.md#v100-2021-05-14)
- * **Release**: New AWS service client module
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.0.0](service/finspacedata/CHANGELOG.md#v100-2021-05-14)
- * **Release**: New AWS service client module
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.4.0](service/iot/CHANGELOG.md#v140-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.5.0](service/iotwireless/CHANGELOG.md#v150-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/kinesis`: [v1.3.0](service/kinesis/CHANGELOG.md#v130-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalytics`: [v1.2.0](service/kinesisanalytics/CHANGELOG.md#v120-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2`: [v1.3.0](service/kinesisanalyticsv2/CHANGELOG.md#v130-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.3.0](service/lakeformation/CHANGELOG.md#v130-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.1.0](service/lookoutmetrics/CHANGELOG.md#v110-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.5.0](service/mediaconvert/CHANGELOG.md#v150-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/route53`: [v1.6.0](service/route53/CHANGELOG.md#v160-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/s3`: [v1.7.0](service/s3/CHANGELOG.md#v170-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/s3control`: [v1.6.0](service/s3control/CHANGELOG.md#v160-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.6.0](service/ssm/CHANGELOG.md#v160-2021-05-14)
- * **Feature**: Updated to latest service API model.
-* `github.com/aws/aws-sdk-go-v2/service/ssmcontacts`: [v1.0.0](service/ssmcontacts/CHANGELOG.md#v100-2021-05-14)
- * **Release**: New AWS service client module
- * **Feature**: Updated to latest service API model.
-
-# Release 2021-05-06
-
-## Breaking change
-* `service/ec2` - v1.6.0
- * This release contains a breaking change to the Amazon EC2 API client. API number(int/int64/etc) and boolean members were changed from value, to pointer type. Your applications using the EC2 API client will fail to compile after upgrading for all members that were updated. To migrate to this module you'll need to update your application to use pointers for all number and boolean members in the API client module. The SDK provides helper utilities to convert between value and pointer types. For example the [aws.Bool](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws#Bool) function to get the address from a bool literal. Similar utilities are available for all other primitive types in the [aws](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws) package.
-
-## Service Client Highlights
-* `service/acmpca` - v1.3.0
- * Feature: API client updated
-* `service/apigateway` - v1.3.0
- * Feature: API client updated
-* `service/auditmanager` - v1.4.0
- * Feature: API client updated
-* `service/chime` - v1.3.0
- * Feature: API client updated
-* `service/cloudformation` - v1.4.0
- * Feature: API client updated
-* `service/cloudfront` - v1.4.0
- * Feature: API client updated
-* `service/codegurureviewer` - v1.3.0
- * Feature: API client updated
-* `service/connect` - v1.3.0
- * Feature: API client updated
-* `service/customerprofiles` - v1.5.0
- * Feature: API client updated
-* `service/devopsguru` - v1.3.0
- * Feature: API client updated
-* `service/docdb` - v1.4.0
- * Feature: API client updated
-* `service/ec2` - v1.6.0
- * Bug Fix: Fix incorrectly modeled Amazon EC2 number and boolean members in structures. The Amazon EC2 API client has been updated with a breaking change to fix all structure number and boolean members to be pointer types instead of value types. Fixes [#1107](https://github.com/aws/aws-sdk-go-v2/issues/1107), [#1178](https://github.com/aws/aws-sdk-go-v2/issues/1178), and [#1190](https://github.com/aws/aws-sdk-go-v2/issues/1190). This breaking change is made within the major version of the client' module, because the client operations failed and were unusable with value type number and boolean members with the EC2 API.
- * Feature: API client updated
-* `service/ecs` - v1.3.0
- * Feature: API client updated
-* `service/eks` - v1.3.0
- * Feature: API client updated
-* `service/forecast` - v1.4.0
- * Feature: API client updated
-* `service/glue` - v1.4.0
- * Feature: API client updated
-* `service/health` - v1.3.0
- * Feature: API client updated
-* `service/iotsitewise` - v1.3.0
- * Feature: API client updated
-* `service/iotwireless` - v1.4.0
- * Feature: API client updated
-* `service/kafka` - v1.3.0
- * Feature: API client updated
-* `service/kinesisanalyticsv2` - v1.2.0
- * Feature: API client updated
-* `service/macie2` - v1.4.0
- * Feature: API client updated
-* `service/marketplacecatalog` - v1.2.0
- * Feature: API client updated
-* `service/mediaconvert` - v1.4.0
- * Feature: API client updated
-* `service/mediapackage` - v1.4.0
- * Feature: API client updated
-* `service/mediapackagevod` - v1.3.0
- * Feature: API client updated
-* `service/mturk` - v1.2.0
- * Feature: API client updated
-* `service/nimble` - v1.0.0
- * Feature: API client updated
-* `service/organizations` - v1.3.0
- * Feature: API client updated
-* `service/personalize` - v1.3.0
- * Feature: API client updated
-* `service/robomaker` - v1.4.0
- * Feature: API client updated
-* `service/route53` - v1.5.0
- * Feature: API client updated
-* `service/s3` - v1.6.0
- * Bug Fix: Fix PutObject and UploadPart unseekable stream documentation link to point to the correct location.
- * Feature: API client updated
-* `service/sagemaker` - v1.4.0
- * Feature: API client updated
-* `service/securityhub` - v1.4.0
- * Feature: API client updated
-* `service/servicediscovery` - v1.3.0
- * Feature: API client updated
-* `service/snowball` - v1.3.0
- * Feature: API client updated
-* `service/sns` - v1.3.0
- * Feature: API client updated
-* `service/ssm` - v1.5.0
- * Feature: API client updated
-## Core SDK Highlights
-* Dependency Update: Update smithy-go dependency to v1.4.0
-* Dependency Update: Updated SDK dependencies to their latest versions.
-* `aws` - v1.4.0
- * Feature: Add support for FIPS global partition endpoints ([#1242](https://github.com/aws/aws-sdk-go-v2/pull/1242))
-
-# Release 2021-04-23
-## Service Client Highlights
-* `service/cloudformation` - v1.3.2
- * Documentation: Service Documentation Updates
-* `service/cognitoidentityprovider` - v1.2.3
- * Documentation: Service Documentation Updates
-* `service/costexplorer` - v1.4.0
- * Feature: Service API Updates
-* `service/databasemigrationservice` - v1.3.0
- * Feature: Service API Updates
-* `service/detective` - v1.4.0
- * Feature: Service API Updates
-* `service/elasticache` - v1.4.0
- * Feature: Service API Updates
-* `service/forecast` - v1.3.0
- * Feature: Service API Updates
-* `service/groundstation` - v1.3.0
- * Feature: Service API Updates
-* `service/kendra` - v1.3.0
- * Feature: Service API Updates
-* `service/redshift` - v1.5.0
- * Feature: Service API Updates
-* `service/savingsplans` - v1.2.0
- * Feature: Service API Updates
-* `service/securityhub` - v1.3.0
- * Feature: Service API Updates
-## Core SDK Highlights
-* Dependency Update: Updated SDK dependencies to their latest versions.
-* `feature/rds/auth` - v1.0.0
- * Feature: Add Support for Amazon RDS IAM Authentication
-
-# Release 2021-04-14
-## Service Client Highlights
-* `service/codebuild` - v1.3.0
- * Feature: API client updated
-* `service/codestarconnections` - v1.2.0
- * Feature: API client updated
-* `service/comprehendmedical` - v1.2.0
- * Feature: API client updated
-* `service/configservice` - v1.4.0
- * Feature: API client updated
-* `service/ec2` - v1.5.0
- * Feature: API client updated
-* `service/fsx` - v1.3.0
- * Feature: API client updated
-* `service/lightsail` - v1.4.0
- * Feature: API client updated
-* `service/mediaconnect` - v1.3.0
- * Feature: API client updated
-* `service/rds` - v1.3.0
- * Feature: API client updated
-* `service/redshift` - v1.4.0
- * Feature: API client updated
-* `service/shield` - v1.3.0
- * Feature: API client updated
-* `service/sts` - v1.3.0
- * Feature: API client updated
-## Core SDK Highlights
-* Dependency Update: Updated SDK dependencies to their latest versions.
-
-# Release 2021-04-08
-## Service Client Highlights
-* Feature: API model sync
-* `service/lookoutequipment` - v1.0.0
- * v1 Release: new service client
-* `service/mgn` - v1.0.0
- * v1 Release: new service client
-## Core SDK Highlights
-* Dependency Update: smithy-go version bump
-* Dependency Update: Updated SDK dependencies to their latest versions.
-
-# Release 2021-04-01
-## Service Client Highlights
-* Bug Fix: Fix URL Path and RawQuery of resolved endpoint being ignored by the API client's request serialization.
- * Fixes [issue#1191](https://github.com/aws/aws-sdk-go-v2/issues/1191)
-* Refactored internal endpoints model for accessors
-* Feature: updated to latest models
-* New services
- * `service/location` - v1.0.0
- * `service/lookoutmetrics` - v1.0.0
-## Core SDK Highlights
-* Dependency Update: update smithy-go module
-* Dependency Update: Updated SDK dependencies to their latest versions.
-
-# Release 2021-03-18
-## Service Client Highlights
-* Bug Fix: Updated presign URLs to no longer include the X-Amz-User-Agent header
-* Feature: Update API model
-* Add New supported API
-* `service/internal/s3shared` - v1.2.0
- * Feature: Support for S3 Object Lambda
-* `service/s3` - v1.3.0
- * Bug Fix: Adds documentation to the PutObject and UploadPart operations Body member how to upload unseekable objects to an Amazon S3 Bucket.
- * Feature: S3 Object Lambda is a new S3 feature that enables users to apply their own custom code to process the output of a standard S3 GET request by automatically invoking a Lambda function with a GET request
-* `service/s3control` - v1.3.0
- * Feature: S3 Object Lambda is a new S3 feature that enables users to apply their own custom code to process the output of a standard S3 GET request by automatically invoking a Lambda function with a GET request
-## Core SDK Highlights
-* Dependency Update: Updated SDK dependencies to their latest versions.
-* `aws` - v1.3.0
- * Feature: Add helper to V4 signer package to swap compute payload hash middleware with unsigned payload middleware
-* `feature/s3/manager` - v1.1.0
- * Bug Fix: Add support for Amazon S3 Object Lambda feature.
- * Feature: Updates for S3 Object Lambda feature
-
-# Release 2021-03-12
-## Service Client Highlights
-* Bug Fix: Fixed a bug that could union shape types to be deserialized incorrectly
-* Bug Fix: Fixed a bug where unboxed shapes that were marked as required were not serialized and sent over the wire, causing an API error from the service.
-* Bug Fix: Fixed a bug with generated API Paginators' handling of nil input parameters causing a panic.
-* Dependency Update: update smithy-go dependency
-* `service/detective` - v1.1.2
- * Bug Fix: Fix deserialization of API response timestamp member.
-* `service/docdb` - v1.2.0
- * Feature: Client now support presigned URL generation for CopyDBClusterSnapshot and CreateDBCluster operations by specifying the target SourceRegion
-* `service/neptune` - v1.2.0
- * Feature: Client now support presigned URL generation for CopyDBClusterSnapshot and CreateDBCluster operations by specifying the target SourceRegion
-* `service/s3` - v1.2.1
- * Bug Fix: Fixed an issue where ListObjectsV2 and ListParts paginators could loop infinitely
- * Bug Fix: Fixed key encoding when addressing S3 Access Points
-## Core SDK Highlights
-* Dependency Update: Updated SDK dependencies to their latest versions.
-* `config` - v1.1.2
- * Bug Fix: Fixed a panic when using WithEC2IMDSRegion without a specified IMDS client
-
-# Release 2021-02-09
-## Service Client Highlights
-* `service/s3` - v1.2.0
- * Feature: adds support for s3 vpc endpoint interface [#1113](https://github.com/aws/aws-sdk-go-v2/pull/1113)
-* `service/s3control` - v1.2.0
- * Feature: adds support for s3 vpc endpoint interface [#1113](https://github.com/aws/aws-sdk-go-v2/pull/1113)
-## Core SDK Highlights
-* Dependency Update: Updated SDK dependencies to their latest versions.
-* `aws` - v1.2.0
- * Feature: support to add endpoint source on context. Adds getter/setter for the endpoint source [#1113](https://github.com/aws/aws-sdk-go-v2/pull/1113)
-* `config` - v1.1.1
- * Bug Fix: Only Validate SSO profile configuration when attempting to use SSO credentials [#1103](https://github.com/aws/aws-sdk-go-v2/pull/1103)
- * Bug Fix: Environment credentials were not taking precedence over AWS_PROFILE [#1103](https://github.com/aws/aws-sdk-go-v2/pull/1103)
-
-# Release 2021-01-29
-## Service Client Highlights
-* Bug Fix: A serialization bug has been fixed that caused some service operations with empty inputs to not be serialized correctly ([#1071](https://github.com/aws/aws-sdk-go-v2/pull/1071))
-* Bug Fix: Fixes a bug that could cause a waiter to fail when comparing types ([#1083](https://github.com/aws/aws-sdk-go-v2/pull/1083))
-## Core SDK Highlights
-* Feature: EndpointResolverFromURL helpers have been added for constructing a service EndpointResolver type ([#1066](https://github.com/aws/aws-sdk-go-v2/pull/1066))
-* Dependency Update: Updated SDK dependencies to their latest versions.
-* `aws` - v1.1.0
- * Feature: Add support for specifying the EndpointSource on aws.Endpoint types ([#1070](https://github.com/aws/aws-sdk-go-v2/pull/1070/))
-* `config` - v1.1.0
- * Feature: Add Support for AWS Single Sign-On (SSO) credential provider ([#1072](https://github.com/aws/aws-sdk-go-v2/pull/1072))
-* `credentials` - v1.1.0
- * Feature: Add AWS Single Sign-On (SSO) credential provider ([#1072](https://github.com/aws/aws-sdk-go-v2/pull/1072))
-
-# Release 2021-01-19
-
-We are excited to announce the [General Availability](https://aws.amazon.com/blogs/developer/aws-sdk-for-go-version-2-general-availability/)
-(GA) release of the [AWS SDK for Go version 2 (v2)](https://github.com/aws/aws-sdk-go-v2).
-This release follows the [Release candidate](https://aws.amazon.com/blogs/developer/aws-sdk-for-go-version-2-v2-release-candidate)
-of the AWS SDK for Go v2. Version 2 incorporates customer feedback from version 1 and takes advantage of modern Go language features.
-
-## Breaking Changes
-* `aws`: Updated Config.Retryer member to be a func that returns aws.Retryer ([#1033](https://github.com/aws/aws-sdk-go-v2/pull/1033))
- * Updates the SDK's references to Config.Retryer to be a function that returns aws.Retryer value. This ensures that custom retry options specified in the `aws.Config` are scoped to individual client instances.
- * All API clients created with the config will call the `Config.Retryer` function to get an aws.Retryer.
- * Removes duplicate `Retryer` interface from `retry` package. Single definition is `aws.Retryer` now.
-* `aws/middleware`: Updates `AddAttemptClockSkewMiddleware` to use appropriate `AddRecordResponseTiming` naming ([#1031](https://github.com/aws/aws-sdk-go-v2/pull/1031))
- * Removes `ResponseMetadata` struct type, and adds its members to middleware metadata directly, to improve discoverability.
-* `config`: Updated the `WithRetryer` helper to take a function that returns an aws.Retryer ([#1033](https://github.com/aws/aws-sdk-go-v2/pull/1033))
- * All API clients created with the config will call the `Config.Retryer` function to get an aws.Retryer.
-* `API Clients`: Fix SDK's API client enum constant name generation to have expected casing ([#1020](https://github.com/aws/aws-sdk-go-v2/pull/1020))
- * This updates of the generated enum const value names in API client's `types` package to have the expected casing. Prior to this, enum names were being generated with lowercase names instead of camel case.
-* `API Clients`: Updates SDK's API client request middleware stack values to be scoped to individual operation call ([#1019](https://github.com/aws/aws-sdk-go-v2/pull/1019))
- * The API client request middleware stack values were mistakenly allowed to escape to nested API operation calls. This broke the SDK's presigners.
- * Stack values that should not escape are not scoped to the individual operation call.
-* `Multiple API Clients`: Unexported the API client's `WithEndpointResolver` this type wasn't intended to be exported ([#1051](https://github.com/aws/aws-sdk-go-v2/pull/1051))
- * Using the `aws.Config.EndpointResolver` member for setting custom endpoint resolver instead.
-
-## New Features
-* `service/sts`: Add support for presigning GetCallerIdentity operation ([#1030](https://github.com/aws/aws-sdk-go-v2/pull/1030))
- * Adds a PresignClient to the `sts` API client module. Use PresignGetCallerIdentity to obtain presigned URLs for the create presigned URLs for the GetCallerIdentity operation.
- * Fixes [#1021](https://github.com/aws/aws-sdk-go-v2/issues/1021)
-* `aws/retry`: Add package documentation for retry package ([#1033](https://github.com/aws/aws-sdk-go-v2/pull/1033))
- * Adds documentation for the retry package
-
-## Bug Fixes
-* `Multiple API Clients`: Fix SDK's generated serde for unmodeled operation input/output ([#1050](https://github.com/aws/aws-sdk-go-v2/pull/1050))
- * Fixes [#1047](https://github.com/aws/aws-sdk-go-v2/issues/1047) by fixing the how the SDKs generated serialization and deserialization of API operations that did not have modeled input or output types. This caused the SDK to incorrectly attempt to deserialize response documents that were either empty, or contained unexpected data.
-* `service/s3`: Fix Tagging parameter not serialized correctly for presigned PutObject requests ([#1017](https://github.com/aws/aws-sdk-go-v2/pull/1017))
- * Fixes the Tagging parameter incorrectly being serialized to the URL's query string instead of being signed as a HTTP request header.
- * When using PresignPutObject make sure to add all signed headers returned by the method to your down stream's HTTP client's request. These headers must be included in the request, or the request will fail with signature errors.
- * Fixes [#1016](https://github.com/aws/aws-sdk-go-v2/issues/1016)
-* `service/s3`: Fix Unmarshaling `GetObjectAcl` operation's Grantee type response ([#1034](https://github.com/aws/aws-sdk-go-v2/pull/1034))
- * Updates the SDK's codegen for correctly deserializing XML attributes in tags with XML namespaces.
- * Fixes [#1013](https://github.com/aws/aws-sdk-go-v2/issues/1013)
-* `service/s3`: Fix Unmarshaling `GetBucketLocation` operation's response ([#1027](https://github.com/aws/aws-sdk-go-v2/pull/1027))
- * Fixes [#908](https://github.com/aws/aws-sdk-go-v2/issues/908)
-
-## Migrating from v2 preview SDK's v0.31.0 to v1.0.0
-
-### aws.Config Retryer member
-
-If your application sets the `Config.Retryer` member the application will need
-to be updated to set a function that returns an `aws.Retryer`. In addition, if
-your application used the `config.WithRetryer` helper a function that returns
-an `aws.Retryer` needs to be used.
-
-If your application used the `retry.Retryer` type, update to using the
-`aws.Retryer` type instead.
-
-### API Client enum value names
-
-If your application used the enum values in the API Client's `types` package between v0.31.0 and the latest version of the client module you may need to update the naming of the enum value. The enum value name casing were updated to camel case instead lowercased.
-
-# Release 2020-12-23
-
-We’re happy to announce the Release Candidate (RC) of the AWS SDK for Go v2.
-This RC follows the developer preview release of the AWS SDK for Go v2. The SDK
-has undergone a major rewrite from the v1 code base to incorporate your
-feedback and to take advantage of modern Go language features.
-
-## Documentation
-* Developer Guide: https://aws.github.io/aws-sdk-go-v2/docs/
-* API Reference docs: https://pkg.go.dev/github.com/aws/aws-sdk-go-v2
-* Migration Guide: https://aws.github.io/aws-sdk-go-v2/docs/migrating/
-
-## Breaking Changes
-* Dependency `github.com/awslabs/smithy-go` has been relocated to `github.com/aws/smithy-go`
- * The `smithy-go` repository was moved from the `awslabs` GitHub organization to `aws`.
- * `xml`, `httpbinding`, and `json` package relocated under `encoding` package.
-* The module `ec2imds` moved to `feature/ec2/imds` path ([#984](https://github.com/aws/aws-sdk-go-v2/pull/984))
- * Moves the `ec2imds` feature module to be in common location as other SDK features.
-* `aws/signer/v4`: Refactor AWS Sigv4 Signer and options types to allow function options ([#955](https://github.com/aws/aws-sdk-go-v2/pull/955))
- * Fixes [#917](https://github.com/aws/aws-sdk-go-v2/issues/917), [#960](https://github.com/aws/aws-sdk-go-v2/issues/960), [#958](https://github.com/aws/aws-sdk-go-v2/issues/958)
-* `aws`: CredentialCache type updated to require constructor function ([#946](https://github.com/aws/aws-sdk-go-v2/pull/946))
- * Fixes [#940](https://github.com/aws/aws-sdk-go-v2/issues/940)
-* `credentials`: ExpiryWindow and Jitter moved from credential provider to `CredentialCache` ([#946](https://github.com/aws/aws-sdk-go-v2/pull/946))
- * Moves ExpiryWindow and Jitter options to common option of the `CredentialCache` instead of duplicated across providers.
- * Fixes [#940](https://github.com/aws/aws-sdk-go-v2/issues/940)
-* `config`: Ensure shared credentials file has precedence over shared config file ([#990](https://github.com/aws/aws-sdk-go-v2/pull/990))
- * The shared config file was incorrectly overriding the shared credentials file when merging values.
-* `config`: Add `context.Context` to `LoadDefaultConfig` ([#951](https://github.com/aws/aws-sdk-go-v2/pull/951))
- * Updates `config#LoadDefaultConfig` function to take `context.Context` as well as functional options for the `config#LoadOptions` type.
- * Fixes [#926](https://github.com/aws/aws-sdk-go-v2/issues/926), [#819](https://github.com/aws/aws-sdk-go-v2/issues/819)
-* `aws`: Rename `NoOpRetryer` to `NopRetryer` to have consistent naming with rest of SDK ([#987](https://github.com/aws/aws-sdk-go-v2/pull/987))
- * Fixes [#878](https://github.com/aws/aws-sdk-go-v2/issues/878)
-* `service/s3control`: Change `S3InitiateRestoreObjectOperation.ExpirationInDays` from value to pointer type ([#988](https://github.com/aws/aws-sdk-go-v2/pull/988))
-* `aws`: `ReaderSeekerCloser` and `WriteAtBuffer` have been relocated to `feature/s3/manager`.
-
-## New Features
-* *Waiters*: Add Waiter utilities for API clients ([aws/smithy-go#237](https://github.com/aws/smithy-go/pull/237))
- * Your application can now use Waiter utilities to wait for AWS resources.
-* `feature/dynamodb/attributevalue`: Add Amazon DynamoDB Attribute value marshaler utility ([#948](https://github.com/aws/aws-sdk-go-v2/pull/948))
- * Adds a utility for marshaling Go types too and from Amazon DynamoDB AttributeValues.
- * Also includes utility for converting from Amazon DynamoDB Streams AttributeValues to Amazon DynamoDB AttributeValues.
-* `feature/dynamodbstreams/attributevalue`: Add Amazon DynamoDB Streams Attribute value marshaler utility ([#948](https://github.com/aws/aws-sdk-go-v2/pull/948))
- * Adds a utility for marshaling Go types too and from Amazon DynamoDB Streams AttributeValues.
- * Also includes utility for converting from Amazon DynamoDB AttributeValues to Amazon DynamoDB Streams AttributeValues.
-* `feature/dynamodb/expression`: Add Amazon DynamoDB expression utility ([#981](https://github.com/aws/aws-sdk-go-v2/pull/981))
- * Adds the expression utility to the SDK for easily building Amazon DynamoDB operation expressions in code.
-
-## Bug Fixes
-* `service/s3`: Fix Presigner to configure client correctly for Amazon S3 ([#969](https://github.com/aws/aws-sdk-go-v2/pull/969))
-* service/s3: Fix deserialization of CompleteMultipartUpload ([#965](https://github.com/aws/aws-sdk-go-v2/pull/965)
- * Fixes [#927](https://github.com/aws/aws-sdk-go-v2/issues/927)
-* `codegen`: Fix API client union serialization ([#979](https://github.com/aws/aws-sdk-go-v2/pull/979))
- * Fixes [#978](https://github.com/aws/aws-sdk-go-v2/issues/978)
-
-## Service Client Highlights
-* API Clients have been bumped to version `v0.31.0`
-* Regenerate API Clients from updated API models adding waiter utilities, and union parameters.
-* `codegen`:
- * Add documentation to union API parameters describing valid member types, and usage example ([aws/smithy-go#239](https://github.com/aws/smithy-go/pull/239))
- * Normalize Metadata header map keys to be lower case ([aws/smithy-go#241](https://github.com/aws/smithy-go/pull/241)), ([#982](https://github.com/aws/aws-sdk-go-v2/pull/982))
- * Fixes [#376](https://github.com/aws/aws-sdk-go-v2/issues/376) Amazon S3 Metadata parameters keys are always returned as lower case.
- * Fix API client deserialization of XML based responses ([aws/smithy-go#245](https://github.com/aws/smithy-go/pull/245)), ([#992](https://github.com/aws/aws-sdk-go-v2/pull/992))
- * Fixes [#910](https://github.com/aws/aws-sdk-go-v2/issues/910)
-* `service/s3`, `service/s3control`:
- * Add support for reading `s3_use_arn_region` from shared config file ([#991](https://github.com/aws/aws-sdk-go-v2/pull/991))
- * Add Utility for getting RequestID and HostID of response ([#983](https://github.com/aws/aws-sdk-go-v2/pull/983))
-
-## Other changes
-* Updates branch `HEAD` points from `master` to `main`.
- * This should not impact your application, but if you have pull requests or forks of the SDK you may need to update the upstream branch your fork is based off of.
-
-## Migrating from v2 preview SDK's v0.30.0 to v0.31.0 release candidate
-
-### smithy-go module relocation
-
-If your application uses `smithy-go` utilities for request pipeline your application will need to be updated to refer to the new import path of `github.com/aws/smithy-go`. If you application did *not* use `smithy-go` utilities directly, your application will update automatically.
-
-### EC2 IMDS module relocation
-
-If your application used the `ec2imds` module, it has been relocated to `feature/ec2/imds`. Your application will need to update to the new import path, `github.com/aws/aws-sdk-go-v2/feature/ec2/imds`.
-
-### CredentialsCache Constructor and ExpiryWindow Options
-
-The `aws#CredentialsCache` type was updated, and a new constructor function, `NewCredentialsCache` was added. This function needs to be used to initialize the `CredentialCache`. The constructor also has function options to specify additional configuration, e.g. ExpiryWindow and Jitter.
-
-If your application was specifying the `ExpiryWindow` with the `credentials/stscreds#AssumeRoleOptions`, `credentials/stscreds#WebIdentityRoleOptions`, `credentials/processcreds#Options`, or `credentials/ec2rolecrds#Options` types the `ExpiryWindow` option will need to specified on the `CredentialsCache` constructor instead.
-
-### AWS Sigv4 Signer Refactor
-
-The `aws/signer/v4` package's `Signer.SignHTTP` and `Signer.PresignHTTP` methods were updated to take functional options. If your application provided a custom implementation for API client's `HTTPSignerV4` or `HTTPPresignerV4` interfaces, that implementation will need to be updated for the new function signature.
-
-### Configuration Loading
-
-The `config#LoadDefaultConfig` function has been updated to require a `context.Context` as the first parameter, with additional optional function options as variadic additional arguments. Your application will need to update its usage of `LoadDefaultConfig` to pass in `context.Context` as the first parameter. If your application used the `With...` helpers those should continue to work without issue.
-
-The v2 SDK corrects its behavior to be inline with the AWS CLI and other AWS SDKs. Refer to https://docs.aws.amazon.com/credref/latest/refdocs/overview.html for more information how to use the shared config and credentials files.
-
-# Release 2020-11-30
-
-## Breaking Change
-* `codegen`: Add support for slice and maps generated with value members instead of pointer ([#887](https://github.com/aws/aws-sdk-go-v2/pull/887))
- * This update allow the SDK's code generation to be aware of API shapes and members that are not nullable, and can be rendered as value types by the code generation instead of pointer types.
- * Several API client parameter types will change from pointer members to value members for slice, map, number and bool member types.
- * See Migration notes for migrating to v0.30.0 with this change.
-* `aws/transport/http`: Move aws.BuildableHTTPClient to HTTP transport package ([#898](https://github.com/aws/aws-sdk-go-v2/pull/898))
- * Moves the `BuildableHTTPClient` from the SDK's `aws` package to the `aws/transport/http` package as `BuildableClient` to with other HTTP specific utilities.
-* `feature/cloudfront/sign`: Add CloudFront sign feature as module ([#884](https://github.com/aws/aws-sdk-go-v2/pull/884))
- * Moves `service/cloudfront/sign` package out of the `cloudfront` module, and into its own module as `github.com/aws/aws-sdk-go-v2/feature/cloudfront/sign`.
-
-## New Features
-* `config`: Add a WithRetryer provider helper to the config loader ([#897](https://github.com/aws/aws-sdk-go-v2/pull/897))
- * Adds a `WithRetryer` configuration provider to the config loader as a convenience helper to set the `Retryer` on the `aws.Config` when its being loaded.
-* `config`: Default to TLS 1.2 for HTTPS requests ([#892](https://github.com/aws/aws-sdk-go-v2/pull/892))
- * Updates the SDK's default HTTP client to use TLS 1.2 as the minimum TLS version for all HTTPS requests by default.
-
-## Bug Fixes
-* `config`: Fix AWS_CA_BUNDLE usage while loading default config ([#912](https://github.com/aws/aws-sdk-go-v2/pull/))
- * Fixes the `LoadDefaultConfig`'s configuration provider order to correctly load a custom HTTP client prior to configuring the client for `AWS_CA_BUNDLE` environment variable.
-* `service/s3`: Fix signature mismatch error for s3 ([#913](https://github.com/aws/aws-sdk-go-v2/pull/913))
- * Fixes ([#883](https://github.com/aws/aws-sdk-go-v2/issues/883))
-* `service/s3control`:
- * Fix HostPrefix addition behavior for s3control ([#882](https://github.com/aws/aws-sdk-go-v2/pull/882))
- * Fixes ([#863](https://github.com/aws/aws-sdk-go-v2/issues/863))
- * Fix s3control error deserializer ([#875](https://github.com/aws/aws-sdk-go-v2/pull/875))
- * Fixes ([#864](https://github.com/aws/aws-sdk-go-v2/issues/864))
-
-## Service Client Highlights
-* Pagination support has been added to supported APIs. See [Using Operation Paginators](https://aws.github.io/aws-sdk-go-v2/docs/making-requests/#using-operation-paginators) in the Developer Guide. ([#885](https://github.com/aws/aws-sdk-go-v2/pull/885))
-* Logging support has been added to service clients. See [Logging](https://aws.github.io/aws-sdk-go-v2/docs/configuring-sdk/logging/) in the Developer Guide. ([#872](https://github.com/aws/aws-sdk-go-v2/pull/872))
-* `service`: Add support for pre-signed URL clients for S3, RDS, EC2 service ([#888](https://github.com/aws/aws-sdk-go-v2/pull/888))
- * `service/s3`: operations `PutObject` and `GetObject` are now supported with s3 pre-signed url client.
- * `service/ec2`: operation `CopySnapshot` is now supported with ec2 pre-signed url client.
- * `service/rds`: operations `CopyDBSnapshot`, `CreateDBInstanceReadReplica`, `CopyDBClusterSnapshot`, `CreateDBCluster` are now supported with rds pre-signed url client.
-* `service/s3`: Add support for S3 access point and S3 on outposts access point ARNs ([#870](https://github.com/aws/aws-sdk-go-v2/pull/870))
-* `service/s3control`: Adds support for S3 on outposts access point and S3 on outposts bucket ARNs ([#870](https://github.com/aws/aws-sdk-go-v2/pull/870))
-
-## Migrating from v2 preview SDK's v0.29.0 to v0.30.0
-
-### aws.BuildableHTTPClient move
-The `aws`'s `BuildableHTTPClient` HTTP client implementation was moved to `aws/transport/http` as `BuildableClient`. If your application used the `aws.BuildableHTTPClient` type, update it to use the `BuildableClient` in the `aws/transport/http` package.
-
-### Slice and Map API member types
-This release includes several code generation updates for API client's slice map members. Using API modeling metadata the Slice and map members are now generated as value types instead of pointer types. For your application this means that for these types, the SDK no longer will have pointer member types, and have value member types.
-
-To migrate to this change you'll need to remove the pointer handling for slice and map members, and instead use value type handling of the member values.
-
-### Boolean and Number API member types
-Similar to the slice and map API member types being generated as value, the SDK's code generation now has metadata where the SDK can generate boolean and number members as value type instead of pointer types.
-
-To migrate to this change you'll need to remove the pointer handling for numbers and boolean member types, and instead use value handling.
-
-# Release 2020-10-30
-
-## New Features
-* Adds HostnameImmutable flag on aws.Endpoint to direct SDK if the associated endpoint is modifiable.([#848](https://github.com/aws/aws-sdk-go-v2/pull/848))
-
-## Bug Fixes
-* Fix SDK handling of xml based services - xml namespaces ([#858](https://github.com/aws/aws-sdk-go-v2/pull/858))
- * Fixes ([#850](https://github.com/aws/aws-sdk-go-v2/issues/850))
-
-## Service Client Highlights
-* API Clients have been bumped to version `v0.29.0`
- * Regenerate API Clients from update API models.
-* Improve client doc generation.
-
-## Core SDK Highlights
-* Dependency Update: Updated SDK dependencies to their latest versions.
-
-## Migrating from v2 preview SDK's v0.28.0 to v0.29.0
-* API Clients ResolverOptions type renamed to EndpointResolverOptions
-
-# Release 2020-10-26
-
-## New Features
-* `service/s3`: Add support for Accelerate, and Dualstack ([#836](https://github.com/aws/aws-sdk-go-v2/pull/836))
-* `service/s3control`: Add support for Dualstack ([#836](https://github.com/aws/aws-sdk-go-v2/pull/836))
-
-## Service Client Highlights
-* API Clients have been bumped to version `v0.28.0`
- * Regenerate API Clients from update API models.
-* `service/s3`: Add support for Accelerate, and Dualstack ([#836](https://github.com/aws/aws-sdk-go-v2/pull/836))
-* `service/s3control`: Add support for Dualstack ([#836](https://github.com/aws/aws-sdk-go-v2/pull/836))
-* `service/route53`: Fix sanitizeURL customization to handle leading slash(`/`) [#846](https://github.com/aws/aws-sdk-go-v2/pull/846)
- * Fixes [#843](https://github.com/aws/aws-sdk-go-v2/issues/843)
-* `service/route53`: Fix codegen to correctly look for operations that need sanitize url ([#851](https://github.com/aws/aws-sdk-go-v2/pull/851))
-
-## Core SDK Highlights
-* `aws/protocol/restjson`: Fix unexpected JSON error response deserialization ([#837](https://github.com/aws/aws-sdk-go-v2/pull/837))
- * Fixes [#832](https://github.com/aws/aws-sdk-go-v2/issues/832)
-* `example/service/s3/listobjects`: Add example for Amazon S3 ListObjectsV2 ([#838](https://github.com/aws/aws-sdk-go-v2/pull/838))
-
-# Release 2020-10-16
-
-## New Features
-* `feature/s3/manager`:
- * Initial `v0.1.0` release
- * Add the Amazon S3 Upload and Download transfer manager ([#802](https://github.com/aws/aws-sdk-go-v2/pull/802))
-
-## Service Client Highlights
-* Clients have been bumped to version `v0.27.0`
-* `service/machinelearning`: Add customization for setting client endpoint with PredictEndpoint value if set ([#782](https://github.com/aws/aws-sdk-go-v2/pull/782))
-* `service/s3`: Fix empty response body deserialization in case of error response ([#801](https://github.com/aws/aws-sdk-go-v2/pull/801))
- * Fixes xml deserialization util to correctly handle empty response body in case of an error response.
-* `service/s3`: Add customization to auto fill Content-Md5 request header for Amazon S3 operations ([#812](https://github.com/aws/aws-sdk-go-v2/pull/812))
-* `service/s3`: Add fallback to using HTTP status code for error code ([#818](https://github.com/aws/aws-sdk-go-v2/pull/818))
- * Adds falling back to using the HTTP status code to create a API Error code when not error code is received from the service, such as HeadObject.
-* `service/route53`: Add support for deserialzing `InvalidChangeBatch` API error ([#792](https://github.com/aws/aws-sdk-go-v2/pull/792))
-* `codegen`: Remove API client `Options` getter methods ([#788](https://github.com/aws/aws-sdk-go-v2/pull/788))
-* `codegen`: Regenerate API Client modeled endpoints ([#791](https://github.com/aws/aws-sdk-go-v2/pull/791))
-* `codegen`: Sort API Client struct member paramaters by required and alphabetical ([#787](https://github.com/aws/aws-sdk-go-v2/pull/787))
-* `codegen`: Add package docs to API client modules ([#821](https://github.com/aws/aws-sdk-go-v2/pull/821))
-* `codegen`: Rename `smithy-go`'s `smithy.OperationError` to `smithy.OperationInvokeError`.
-
-## Core SDK Highlights
-* `config`:
- * Bumped to `v0.2.0`
- * Refactor Config Module, Add Config Package Documentation and Examples, Improve Overall SDK Readme ([#822](https://github.com/aws/aws-sdk-go-v2/pull/822))
-* `credentials`:
- * Bumped to `v0.1.2`
- * Strip Monotonic Clock Readings when Comparing Credential Expiry Time ([#789](https://github.com/aws/aws-sdk-go-v2/pull/789))
-* `ec2imds`:
- * Bumped to `v0.1.2`
- * Fix refreshing API token if expired ([#789](https://github.com/aws/aws-sdk-go-v2/pull/789))
-
-## Migrating from v0.26.0 to v0.27.0
-
-#### Configuration
-
-The `config` module's exported types were trimmed down to add clarity and reduce confusion. Additional changes to the `config` module' helpers.
-
-* Refactored `WithCredentialsProvider`, `WithHTTPClient`, and `WithEndpointResolver` to functions instead of structs.
-* Removed `MFATokenFuncProvider`, use `AssumeRoleCredentialOptionsProvider` for setting options for `stscreds.AssumeRoleOptions`.
-* Renamed `WithWebIdentityCredentialProviderOptions` to `WithWebIdentityRoleCredentialOptions`
-* Renamed `AssumeRoleCredentialProviderOptions` to `AssumeRoleCredentialOptionsProvider`
-* Renamed `EndpointResolverFuncProvider` to `EndpointResolverProvider`
-
-#### API Client
-* API Client `Options` type getter methods have been removed. Use the struct members instead.
-* The error returned by API Client operations was renamed from `smithy.OperationError` to `smithy.OperationInvokeError`.
-
-# Release 2020-09-30
-
-## Service Client Highlights
-* Service clients have been bumped to `v0.26.0` simplify the documentation experience when using [pkg.go.dev](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2).
-* `service/s3`: Disable automatic decompression of getting Amazon S3 objects with the `Content-Encoding: gzip` metadata header. ([#748](https://github.com/aws/aws-sdk-go-v2/pull/748))
- * This changes the SDK's default behavior with regard to making S3 API calls. The client will no longer automatically set the `Accept-Encoding` HTTP request header, nor will it automatically decompress the gzipped response when the `Content-Encoding: gzip` response header was received.
- * If you'd like the client to sent the `Accept-Encoding: gzip` request header, you can add this header to the API operation method call with the [SetHeaderValue](https://pkg.go.dev/github.com/awslabs/smithy-go/transport/http#SetHeaderValue). middleware helper.
-* `service/cloudfront/sign`: Fix cloudfront example usage of SignWithPolicy ([#673](https://github.com/aws/aws-sdk-go-v2/pull/673))
- * Fixes [#671](https://github.com/aws/aws-sdk-go-v2/issues/671) documentation typo by correcting the usage of `SignWithPolicy`.
-
-## Core SDK Highlights
-* SDK core module released at `v0.26.0`
-* `config` module released at `v0.1.1`
-* `credentials` module released at `v0.1.1`
-* `ec2imds` module released at `v0.1.1`
-
-# Release 2020-09-28
-## Announcements
-We’re happy to share the updated clients for the v0.25.0 preview version of the AWS SDK for Go V2.
-
-The updated clients leverage new developments and advancements within AWS and the Go software ecosystem at large since
-our original preview announcement. Using the new clients will be a bit different than before. The key differences are:
-simplified API operation invocation, performance improvements, support for error wrapping, and a new middleware architecture.
-So below we have a guided walkthrough to help try it out and share your feedback in order to better influence the features
-you’d like to see in the GA version.
-
-See [Announcement Blog Post](https://aws.amazon.com/blogs/developer/client-updates-in-the-preview-version-of-the-aws-sdk-for-go-v2/) for more details.
-
-## Service Client Highlights
-* Initial service clients released at version `v0.1.0`
-## Core SDK Highlights
-* SDK core module released at `v0.25.0`
-* `config` module released at `v0.1.0`
-* `credentials` module released at `v0.1.0`
-* `ec2imds` module released at `v0.1.0`
-
-## Migrating from v2 preview SDK's v0.24.0 to v0.25.0
-
-#### Design changes
-
-The v2 preview SDK `v0.25.0` release represents a significant stepping stone bringing the v2 SDK closer to its target design and usability. This release includes significant breaking changes to the v2 preview SDK. The updates in the `v0.25.0` release focus on refactoring and modularization of the SDK’s API clients to use the new [client design](https://github.com/aws/aws-sdk-go-v2/issues/438), updated request pipeline (aka [middleware](https://pkg.go.dev/github.com/awslabs/smithy-go/middleware)), refactored [credential providers](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/credentials), and [configuration loading](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/config) packages.
-
-We've also bumped the minimum supported Go version with this release. Starting with v0.25.0 the SDK requires a minimum version of Go `v1.15`.
-
-As a part of the refactoring done to v2 preview SDK some components have not been included in this update. The following is a non exhaustive list of features that are not available.
-
-* API Paginators - [#439](https://github.com/aws/aws-sdk-go-v2/issues/439)
-* API Waiters - [#442](https://github.com/aws/aws-sdk-go-v2/issues/442)
-* Presign URL - [#794](https://github.com/aws/aws-sdk-go-v2/issues/794)
-* Amazon S3 Upload and Download manager - [#802](https://github.com/aws/aws-sdk-go-v2/pull/802)
-* Amazon DynamoDB's AttributeValue marshaler, and Expression package - [#790](https://github.com/aws/aws-sdk-go-v2/issues/790)
-* Debug Logging - [#594](https://github.com/aws/aws-sdk-go-v2/issues/594)
-
-We expect additional breaking changes to the v2 preview SDK in the coming releases. We expect these changes to focus on organizational, naming, and hardening the SDK's design for future feature capabilities after it is released for general availability.
-
-#### Relocated Packages
-
-In this release packages within the SDK were relocated, and in some cases those packages were converted to Go modules. The following is a list of packages have were relocated.
-
-* `github.com/aws/aws-sdk-go-v2/aws/external` => `github.com/aws/aws-sdk-go-v2/config` module
-* `github.com/aws/aws-sdk-go-v2/aws/ec2metadata` => `github.com/aws/aws-sdk-go-v2/ec2imds` module
-
-The `github.com/aws/aws-sdk-go-v2/credentials` module contains refactored credentials providers.
-
-* `github.com/aws/aws-sdk-go-v2/ec2rolecreds` => `github.com/aws/aws-sdk-go-v2/credentials/ec2rolecreds`
-* `github.com/aws/aws-sdk-go-v2/endpointcreds` => `github.com/aws/aws-sdk-go-v2/credentials/endpointcreds`
-* `github.com/aws/aws-sdk-go-v2/processcreds` => `github.com/aws/aws-sdk-go-v2/credentials/processcreds`
-* `github.com/aws/aws-sdk-go-v2/stscreds` => `github.com/aws/aws-sdk-go-v2/credentials/stscreds`
-
-#### Modularization
-
-New modules were added to the v2 preview SDK to allow the components to be versioned independently from each other. This allows your application to depend on specific versions of an API client module, and take discrete updates from the SDK core and other API client modules as desired.
-
-* [github.com/aws/aws-sdk-go-v2/config](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/config)
-* [github.com/aws/aws-sdk-go-v2/credentials](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/credentials)
-* Module for each API client, e.g. [github.com/aws/aws-sdk-go-v2/service/s3](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/s3)
-
-#### API Clients
-
-The following is a list of the major changes to the API client modules
-
-* Removed paginators: we plan to add these back once they are implemented to integrate with the SDK's new API client design.
-* Removed waiters: we need to further investigate how the V2 SDK should expose waiters, and how their behavior should be modeled.
-* API Clients are now Go modules. When migrating to the v2 preview SDK `v0.25.0`, you'll need to add the API client's module to your application's go.mod file.
-* API parameter nested types have been moved to a `types` package within the API client's module, e.g. `github.com/aws/aws-sdk-go-v2/service/s3/types` These types were moved to improve documentation and discovery of the API client, operation, and input/output types. For example Amazon S3's ListObject's operation [ListObjectOutput.Contents](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/s3/#ListObjectsOutput) input parameter is a slice of [types.Object](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/s3/types#Object).
-* The client operation method has been renamed, removing the `Request` suffix. The method now invokes the operation instead of constructing a request, which needed to be invoked separately. The operation methods were also expanded to include functional options for providing operation specific configuration, such as modifying the request pipeline.
-
-```go
-result, err := client.Scan(context.TODO(), &dynamodb.ScanInput{
- TableName: aws.String("exampleTable"),
-}, func(o *Options) {
- // Limit operation calls to only 1 attempt.
- o.Retryer = retry.AddWithMaxAttempts(o.Retryer, 1)
-})
-```
-
-#### Configuration
-
-In addition to the `github.com/aws/aws-sdk-go-v2/aws/external` package being made a module at `github.com/aws/aws-sdk-go-v2/config`, the `LoadDefaultAWSConfig` function was renamed to `LoadDefaultConfig`.
-
-The `github.com/aws/aws-sdk-go-v2/aws/defaults` package has been removed. Its components have been migrated to the `github.com/aws/aws-sdk-go-v2/aws` package, and `github.com/aws/aws-sdk-go-v2/config` module.
-
-#### Error Handling
-
-The `github.com/aws/aws-sdk-go-v2/aws/awserr` package was removed as a part of the SDK error handling refactor. The SDK now uses typed errors built around [Go v1.13](https://golang.org/doc/go1.13#error_wrapping)'s [errors.As](https://pkg.go.dev/errors#As) and [errors.Unwrap](https://pkg.go.dev/errors#Unwrap) features. All SDK error types that wrap other errors implement the `Unwrap` method. Generic v2 preview SDK errors created with `fmt.Errorf` use `%w` to wrap the underlying error.
-
-The SDK API clients now include generated public error types for errors modeled for an API. The SDK will automatically deserialize the error response from the API into the appropriate error type. Your application should use `errors.As` to check if the returned error matches one it is interested in. Your application can also use the generic interface [smithy.APIError](https://pkg.go.dev/github.com/awslabs/smithy-go/#APIError) to test if the API client's operation method returned an API error, but not check against a specific error.
-
-API client errors returned to the caller will use error wrapping to layer the error values. This allows underlying error types to be specific to their use case, and the SDK's more generic error types to wrap the underlying error.
-
-For example, if an [Amazon DynamoDB](https://aws.amazon.com/dynamodb/) [Scan](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/dynamodb#Scan) operation call cannot find the `TableName` requested, the error returned will contain [dynamodb.ResourceNotFoundException](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/service/dynamodb/types#ResourceNotFoundException). The SDK will return this error value wrapped in a couple layers, with each layer adding additional contextual information such as [ResponseError](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws/transport/http#ResponseError) for AWS HTTP response error metadata , and [smithy.OperationError](https://pkg.go.dev/github.com/awslabs/smithy-go/#OperationError) for API operation call metadata.
-
-```go
-result, err := client.Scan(context.TODO(), params)
-if err != nil {
- // To get a specific API error
- var notFoundErr *types.ResourceNotFoundException
- if errors.As(err, ¬FoundErr) {
- log.Printf("scan failed because the table was not found, %v",
- notFoundErr.ErrorMessage())
- }
-
- // To get any API error
- var apiErr smithy.APIError
- if errors.As(err, &apiErr) {
- log.Printf("scan failed because of an API error, Code: %v, Message: %v",
- apiErr.ErrorCode(), apiErr.ErrorMessage())
- }
-
- // To get the AWS response metadata, such as RequestID
- var respErr *awshttp.ResponseError // Using import alias "awshttp" for package github.com/aws/aws-sdk-go-v2/aws/transport/http
- if errors.As(err, &respErr) {
- log.Printf("scan failed with HTTP status code %v, Request ID %v and error %v",
- respErr.HTTPStatusCode(), respErr.ServiceRequestID(), respErr)
- }
-
- return err
-}
-```
-
-Logging an error value will include information from each wrapped error. For example, the following is a mock error logged for a Scan operation call that failed because the table was not found.
-
-> 2020/10/15 16:03:37 operation error DynamoDB: Scan, https response error StatusCode: 400, RequestID: ABCREQUESTID123, ResourceNotFoundException: Requested resource not found
-
-#### Endpoints
-
-The `github.com/aws/aws-sdk-go-v2/aws/endpoints` has been removed from the SDK, along with all exported endpoint definitions and iteration behavior. Each generated API client now includes its own endpoint definition internally to the module.
-
-API clients can optionally be configured with a generic [aws.EndpointResolver](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws#EndpointResolver) via the [aws.Config.EndpointResolver](https://pkg.go.dev/github.com/aws/aws-sdk-go-v2/aws#Config.EndpointResolver). If the API client is not configured with a custom endpoint resolver it will defer to the endpoint resolver the client module was generated with.
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/CODE_OF_CONDUCT.md b/vendor/github.com/aws/aws-sdk-go-v2/CODE_OF_CONDUCT.md
deleted file mode 100644
index 5b627cfa..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/CODE_OF_CONDUCT.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Code of Conduct
-This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
-For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
-opensource-codeofconduct@amazon.com with any additional questions or comments.
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/CONTRIBUTING.md b/vendor/github.com/aws/aws-sdk-go-v2/CONTRIBUTING.md
deleted file mode 100644
index 5e59bba7..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/CONTRIBUTING.md
+++ /dev/null
@@ -1,177 +0,0 @@
-# Contributing to the AWS SDK for Go
-
-Thank you for your interest in contributing to the AWS SDK for Go!
-We work hard to provide a high-quality and useful SDK, and we greatly value
-feedback and contributions from our community. Whether it's a bug report,
-new feature, correction, or additional documentation, we welcome your issues
-and pull requests. Please read through this document before submitting any
-[issues] or [pull requests][pr] to ensure we have all the necessary information to
-effectively respond to your bug report or contribution.
-
-Jump To:
-
-* [Bug Reports](#bug-reports)
-* [Feature Requests](#feature-requests)
-* [Code Contributions](#code-contributions)
-
-## How to contribute
-
-*Before you send us a pull request, please be sure that:*
-
-1. You're working from the latest source on the `main` branch.
-2. You check existing open, and recently closed, pull requests to be sure
- that someone else hasn't already addressed the problem.
-3. You create an issue before working on a contribution that will take a
- significant amount of your time.
-
-*Creating a Pull Request*
-
-1. Fork the repository.
-2. In your fork, make your change in a branch that's based on this repo's `main` branch.
-3. Commit the change to your fork, using a clear and descriptive commit message.
-4. Create a pull request, answering any questions in the pull request form.
-
-For contributions that will take a significant amount of time, open a new
-issue to pitch your idea before you get started. Explain the problem and
-describe the content you want to see added to the documentation. Let us know
-if you'll write it yourself or if you'd like us to help. We'll discuss your
-proposal with you and let you know whether we're likely to accept it.
-
-## Bug Reports
-
-You can file bug reports against the SDK on the [GitHub issues][issues] page.
-
-If you are filing a report for a bug or regression in the SDK, it's extremely
-helpful to provide as much information as possible when opening the original
-issue. This helps us reproduce and investigate the possible bug without having
-to wait for this extra information to be provided. Please read the following
-guidelines prior to filing a bug report.
-
-1. Search through existing [issues][] to ensure that your specific issue has
- not yet been reported. If it is a common issue, it is likely there is
- already a bug report for your problem.
-
-2. Ensure that you have tested the latest version of the SDK. Although you
- may have an issue against an older version of the SDK, we cannot provide
- bug fixes for old versions. It's also possible that the bug may have been
- fixed in the latest release.
-
-3. Provide as much information about your environment, SDK version, and
- relevant dependencies as possible. For example, let us know what version
- of Go you are using, which and version of the operating system, and the
- the environment your code is running in. e.g Container.
-
-4. Provide a minimal test case that reproduces your issue or any error
- information you related to your problem. We can provide feedback much
- more quickly if we know what operations you are calling in the SDK. If
- you cannot provide a full test case, provide as much code as you can
- to help us diagnose the problem. Any relevant information should be provided
- as well, like whether this is a persistent issue, or if it only occurs
- some of the time.
-
-## Feature Requests
-
-Open an [issue][issues] with the following:
-
-* A short, descriptive title. Ideally, other community members should be able
- to get a good idea of the feature just from reading the title.
-* A detailed description of the the proposed feature.
- * Why it should be added to the SDK.
- * If possible, example code to illustrate how it should work.
-* Use Markdown to make the request easier to read;
-* If you intend to implement this feature, indicate that you'd like to the issue to be assigned to you.
-
-## Code Contributions
-
-We are always happy to receive code and documentation contributions to the SDK.
-Please be aware of the following notes prior to opening a pull request:
-
-1. The SDK is released under the [Apache license][license]. Any code you submit
- will be released under that license. For substantial contributions, we may
- ask you to sign a [Contributor License Agreement (CLA)][cla].
-
-2. If you would like to implement support for a significant feature that is not
- yet available in the SDK, please talk to us beforehand to avoid any
- duplication of effort.
-
-3. Wherever possible, pull requests should contain tests as appropriate.
- Bugfixes should contain tests that exercise the corrected behavior (i.e., the
- test should fail without the bugfix and pass with it), and new features
- should be accompanied by tests exercising the feature.
-
-4. Pull requests that contain failing tests will not be merged until the test
- failures are addressed. Pull requests that cause a significant drop in the
- SDK's test coverage percentage are unlikely to be merged until tests have
- been added.
-
-5. The JSON files under the SDK's `models` folder are sourced from outside the SDK.
- Such as `models/apis/ec2/2016-11-15/api.json`. We will not accept pull requests
- directly on these models. If you discover an issue with the models please
- create a [GitHub issue][issues] describing the issue.
-
-### Testing
-
-To run the tests locally, running the `make unit` command will `go get` the
-SDK's testing dependencies, and run vet, link and unit tests for the SDK.
-
-```
-make unit
-```
-
-Standard go testing functionality is supported as well. To test SDK code that
-is tagged with `codegen` you'll need to set the build tag in the go test
-command. The `make unit` command will do this automatically.
-
-```
-go test -tags codegen ./private/...
-```
-
-See the `Makefile` for additional testing tags that can be used in testing.
-
-To test on multiple platform the SDK includes several DockerFiles under the
-`awstesting/sandbox` folder, and associated make recipes to to execute
-unit testing within environments configured for specific Go versions.
-
-```
-make sandbox-test-go18
-```
-
-To run all sandbox environments use the following make recipe
-
-```
-# Optionally update the Go tip that will be used during the batch testing
-make update-aws-golang-tip
-
-# Run all SDK tests for supported Go versions in sandboxes
-make sandbox-test
-```
-
-In addition the sandbox environment include make recipes for interactive modes
-so you can run command within the Docker container and context of the SDK.
-
-```
-make sandbox-go18
-```
-
-### Changelog Documents
-
-You can see all release changes in the `CHANGELOG.md` file at the root of the
-repository. The release notes added to this file will contain service client
-updates, and major SDK changes. When submitting a pull request please include an entry in `CHANGELOG_PENDING.md` under the appropriate changelog type so your changelog entry is included on the following release.
-
-#### Changelog Types
-
-* `SDK Features` - For major additive features, internal changes that have
-outward impact, or updates to the SDK foundations. This will result in a minor
-version change.
-* `SDK Enhancements` - For minor additive features or incremental sized changes.
-This will result in a patch version change.
-* `SDK Bugs` - For minor changes that resolve an issue. This will result in a
-patch version change.
-
-[issues]: https://github.com/aws/aws-sdk-go-v2/issues
-[pr]: https://github.com/aws/aws-sdk-go-v2/pulls
-[license]: http://aws.amazon.com/apache2.0/
-[cla]: http://en.wikipedia.org/wiki/Contributor_License_Agreement
-[releasenotes]: https://github.com/aws/aws-sdk-go-v2/releases
-
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/DESIGN.md b/vendor/github.com/aws/aws-sdk-go-v2/DESIGN.md
deleted file mode 100644
index 4c9be94a..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/DESIGN.md
+++ /dev/null
@@ -1,15 +0,0 @@
-Open Discussions
----
-The following issues are currently open for community feedback.
-All discourse must adhere to the [Code of Conduct] policy.
-
-* [Refactoring API Client Paginators](https://github.com/aws/aws-sdk-go-v2/issues/439)
-* [Refactoring API Client Waiters](https://github.com/aws/aws-sdk-go-v2/issues/442)
-* [Refactoring API Client Enums and Types to Discrete Packages](https://github.com/aws/aws-sdk-go-v2/issues/445)
-* [SDK Modularization](https://github.com/aws/aws-sdk-go-v2/issues/444)
-
-Past Discussions
----
-The issues listed here are for documentation purposes, and is used to capture issues and their associated discussions.
-
-[Code of Conduct]: https://github.com/aws/aws-sdk-go-v2/blob/main/CODE_OF_CONDUCT.md
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/Makefile b/vendor/github.com/aws/aws-sdk-go-v2/Makefile
deleted file mode 100644
index e089ad35..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/Makefile
+++ /dev/null
@@ -1,538 +0,0 @@
-# Lint rules to ignore
-LINTIGNORESINGLEFIGHT='internal/sync/singleflight/singleflight.go:.+error should be the last type'
-LINT_IGNORE_S3MANAGER_INPUT='feature/s3/manager/upload.go:.+struct field SSEKMSKeyId should be SSEKMSKeyID'
-# Names of these are tied to endpoint rules and they're internal so ignore them
-LINT_IGNORE_AWSRULESFN_ARN='internal/endpoints/awsrulesfn/arn.go'
-LINT_IGNORE_AWSRULESFN_PARTITION='internal/endpoints/awsrulesfn/partition.go'
-
-UNIT_TEST_TAGS=
-BUILD_TAGS=-tags "example,codegen,integration,ec2env,perftest"
-
-SMITHY_GO_SRC ?= $(shell pwd)/../smithy-go
-
-SDK_MIN_GO_VERSION ?= 1.19
-
-EACHMODULE_FAILFAST ?= true
-EACHMODULE_FAILFAST_FLAG=-fail-fast=${EACHMODULE_FAILFAST}
-
-EACHMODULE_CONCURRENCY ?= 1
-EACHMODULE_CONCURRENCY_FLAG=-c ${EACHMODULE_CONCURRENCY}
-
-EACHMODULE_SKIP ?=
-EACHMODULE_SKIP_FLAG=-skip="${EACHMODULE_SKIP}"
-
-EACHMODULE_FLAGS=${EACHMODULE_CONCURRENCY_FLAG} ${EACHMODULE_FAILFAST_FLAG} ${EACHMODULE_SKIP_FLAG}
-
-# SDK's Core and client packages that are compatible with Go 1.9+.
-SDK_CORE_PKGS=./aws/... ./internal/...
-SDK_CLIENT_PKGS=./service/...
-SDK_COMPA_PKGS=${SDK_CORE_PKGS} ${SDK_CLIENT_PKGS}
-
-# SDK additional packages that are used for development of the SDK.
-SDK_EXAMPLES_PKGS=
-SDK_ALL_PKGS=${SDK_COMPA_PKGS} ${SDK_EXAMPLES_PKGS}
-
-RUN_NONE=-run NONE
-RUN_INTEG=-run '^TestInteg_'
-
-CODEGEN_RESOURCES_PATH=$(shell pwd)/codegen/smithy-aws-go-codegen/src/main/resources/software/amazon/smithy/aws/go/codegen
-CODEGEN_API_MODELS_PATH=$(shell pwd)/codegen/sdk-codegen/aws-models
-ENDPOINTS_JSON=${CODEGEN_RESOURCES_PATH}/endpoints.json
-ENDPOINT_PREFIX_JSON=${CODEGEN_RESOURCES_PATH}/endpoint-prefix.json
-
-LICENSE_FILE=$(shell pwd)/LICENSE.txt
-
-SMITHY_GO_VERSION ?=
-PRE_RELEASE_VERSION ?=
-RELEASE_MANIFEST_FILE ?=
-RELEASE_CHGLOG_DESC_FILE ?=
-
-REPOTOOLS_VERSION ?= latest
-REPOTOOLS_MODULE = github.com/awslabs/aws-go-multi-module-repository-tools
-REPOTOOLS_CMD_ANNOTATE_STABLE_GEN = ${REPOTOOLS_MODULE}/cmd/annotatestablegen@${REPOTOOLS_VERSION}
-REPOTOOLS_CMD_MAKE_RELATIVE = ${REPOTOOLS_MODULE}/cmd/makerelative@${REPOTOOLS_VERSION}
-REPOTOOLS_CMD_CALCULATE_RELEASE = ${REPOTOOLS_MODULE}/cmd/calculaterelease@${REPOTOOLS_VERSION}
-REPOTOOLS_CMD_UPDATE_REQUIRES = ${REPOTOOLS_MODULE}/cmd/updaterequires@${REPOTOOLS_VERSION}
-REPOTOOLS_CMD_UPDATE_MODULE_METADATA = ${REPOTOOLS_MODULE}/cmd/updatemodulemeta@${REPOTOOLS_VERSION}
-REPOTOOLS_CMD_GENERATE_CHANGELOG = ${REPOTOOLS_MODULE}/cmd/generatechangelog@${REPOTOOLS_VERSION}
-REPOTOOLS_CMD_CHANGELOG = ${REPOTOOLS_MODULE}/cmd/changelog@${REPOTOOLS_VERSION}
-REPOTOOLS_CMD_TAG_RELEASE = ${REPOTOOLS_MODULE}/cmd/tagrelease@${REPOTOOLS_VERSION}
-REPOTOOLS_CMD_EDIT_MODULE_DEPENDENCY = ${REPOTOOLS_MODULE}/cmd/editmoduledependency@${REPOTOOLS_VERSION}
-
-REPOTOOLS_CALCULATE_RELEASE_VERBOSE ?= false
-REPOTOOLS_CALCULATE_RELEASE_VERBOSE_FLAG=-v=${REPOTOOLS_CALCULATE_RELEASE_VERBOSE}
-
-REPOTOOLS_CALCULATE_RELEASE_ADDITIONAL_ARGS ?=
-
-ifneq ($(PRE_RELEASE_VERSION),)
- REPOTOOLS_CALCULATE_RELEASE_ADDITIONAL_ARGS += -preview=${PRE_RELEASE_VERSION}
-endif
-
-.PHONY: all
-all: generate unit
-
-###################
-# Code Generation #
-###################
-.PHONY: generate smithy-generate smithy-build smithy-build-% smithy-clean smithy-go-publish-local format \
-gen-config-asserts gen-repo-mod-replace gen-mod-replace-smithy gen-mod-dropreplace-smithy-% gen-aws-ptrs tidy-modules-% \
-add-module-license-files sync-models sync-endpoints-model sync-endpoints.json clone-v1-models gen-internal-codegen \
-sync-api-models copy-attributevalue-feature min-go-version-% update-requires smithy-annotate-stable \
-update-module-metadata download-modules-%
-
-generate: smithy-generate update-requires gen-repo-mod-replace update-module-metadata smithy-annotate-stable \
-gen-config-asserts gen-internal-codegen copy-attributevalue-feature gen-mod-dropreplace-smithy-. min-go-version-. \
-tidy-modules-. add-module-license-files gen-aws-ptrs format
-
-generate-tmpreplace-smithy: smithy-generate update-requires gen-repo-mod-replace update-module-metadata smithy-annotate-stable \
-gen-config-asserts gen-internal-codegen copy-attributevalue-feature gen-mod-replace-smithy-. min-go-version-. \
-tidy-modules-. add-module-license-files gen-aws-ptrs format gen-mod-dropreplace-smithy-. reset-sum
-
-reset-sum:
- find . -name go.sum -exec git checkout -- {} \;
-
-smithy-generate:
- cd codegen && ./gradlew clean build -Plog-tests && ./gradlew clean
-
-smithy-build:
- cd codegen && ./gradlew clean build -Plog-tests
-
-smithy-build-%:
- @# smithy-build- command that uses the pattern to define build filter that
- @# the smithy API model service id starts with. Strips off the
- @# "smithy-build-".
- @#
- @# e.g. smithy-build-com.amazonaws.rds
- @# e.g. smithy-build-com.amazonaws.rds#AmazonRDSv19
- cd codegen && \
- SMITHY_GO_BUILD_API="$(subst smithy-build-,,$@)" ./gradlew clean build -Plog-tests
-
-smithy-annotate-stable:
- go run ${REPOTOOLS_CMD_ANNOTATE_STABLE_GEN}
-
-smithy-clean:
- cd codegen && ./gradlew clean
-
-smithy-go-publish-local:
- rm -rf /tmp/smithy-go-local
- git clone https://github.com/aws/smithy-go /tmp/smithy-go-local
- make -C /tmp/smithy-go-local smithy-clean smithy-publish-local
-
-format:
- gofmt -w -s .
-
-gen-config-asserts:
- @echo "Generating SDK config package implementor assertions"
- cd config \
- && go mod tidy \
- && go generate
-
-gen-internal-codegen:
- @echo "Generating internal/codegen"
- cd internal/codegen \
- && go mod tidy \
- && go generate
-
-gen-repo-mod-replace:
- @echo "Generating go.mod replace for repo modules"
- go run ${REPOTOOLS_CMD_MAKE_RELATIVE}
-
-gen-mod-replace-smithy-%:
- @# gen-mod-replace-smithy- command that uses the pattern to define build filter that
- @# for modules to add replace to. Strips off the "gen-mod-replace-smithy-".
- @#
- @# SMITHY_GO_SRC environment variable is the path to add replace to
- @#
- @# e.g. gen-mod-replace-smithy-service_ssooidc
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst gen-mod-replace-smithy-,,$@)) ${EACHMODULE_FLAGS} \
- "go mod edit -replace github.com/aws/smithy-go=${SMITHY_GO_SRC}"
-
-gen-mod-dropreplace-smithy-%:
- @# gen-mod-dropreplace-smithy- command that uses the pattern to define build filter that
- @# for modules to add replace to. Strips off the "gen-mod-dropreplace-smithy-".
- @#
- @# e.g. gen-mod-dropreplace-smithy-service_ssooidc
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst gen-mod-dropreplace-smithy-,,$@)) ${EACHMODULE_FLAGS} \
- "go mod edit -dropreplace github.com/aws/smithy-go"
-
-gen-aws-ptrs:
- cd aws && go generate
-
-tidy-modules-%:
- @# tidy command that uses the pattern to define the root path that the
- @# module testing will start from. Strips off the "tidy-modules-" and
- @# replaces all "_" with "/".
- @#
- @# e.g. tidy-modules-internal_protocoltest
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst tidy-modules-,,$@)) ${EACHMODULE_FLAGS} \
- "go mod tidy"
-
-download-modules-%:
- @# download command that uses the pattern to define the root path that the
- @# module testing will start from. Strips off the "download-modules-" and
- @# replaces all "_" with "/".
- @#
- @# e.g. download-modules-internal_protocoltest
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst download-modules-,,$@)) ${EACHMODULE_FLAGS} \
- "go mod download all"
-
-add-module-license-files:
- cd internal/repotools/cmd/eachmodule && \
- go run . -skip-root \
- "cp $(LICENSE_FILE) ."
-
-sync-models: sync-endpoints-model sync-api-models
-
-sync-endpoints-model: sync-endpoints.json
-
-sync-endpoints.json:
- [[ ! -z "${ENDPOINTS_MODEL}" ]] && cp ${ENDPOINTS_MODEL} ${ENDPOINTS_JSON} || echo "ENDPOINTS_MODEL not set, must not be empty"
-
-clone-v1-models:
- rm -rf /tmp/aws-sdk-go-model-sync
- git clone https://github.com/aws/aws-sdk-go.git --depth 1 /tmp/aws-sdk-go-model-sync
-
-sync-api-models:
- cd internal/repotools/cmd/syncAPIModels && \
- go run . \
- -m ${API_MODELS} \
- -o ${CODEGEN_API_MODELS_PATH}
-
-copy-attributevalue-feature:
- cd ./feature/dynamodbstreams/attributevalue && \
- find . -name "*.go" | grep -v "doc.go" | xargs -I % rm % && \
- find ../../dynamodb/attributevalue -name "*.go" | grep -v "doc.go" | xargs -I % cp % . && \
- ls *.go | grep -v "convert.go" | grep -v "doc.go" | \
- xargs -I % sed -i.bk -E 's:github.com/aws/aws-sdk-go-v2/(service|feature)/dynamodb:github.com/aws/aws-sdk-go-v2/\1/dynamodbstreams:g' % && \
- ls *.go | grep -v "convert.go" | grep -v "doc.go" | \
- xargs -I % sed -i.bk 's:DynamoDB:DynamoDBStreams:g' % && \
- ls *.go | grep -v "doc.go" | \
- xargs -I % sed -i.bk 's:dynamodb\.:dynamodbstreams.:g' % && \
- sed -i.bk 's:streams\.:ddbtypes.:g' "convert.go" && \
- sed -i.bk 's:ddb\.:streams.:g' "convert.go" && \
- sed -i.bk 's:ddbtypes\.:ddb.:g' "convert.go" &&\
- sed -i.bk 's:Streams::g' "convert.go" && \
- rm -rf ./*.bk && \
- go mod tidy && \
- gofmt -w -s . && \
- go test .
-
-min-go-version-%:
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst min-go-version-,,$@)) ${EACHMODULE_FLAGS} \
- "go mod edit -go=${SDK_MIN_GO_VERSION}"
-
-update-requires:
- go run ${REPOTOOLS_CMD_UPDATE_REQUIRES}
-
-update-module-metadata:
- go run ${REPOTOOLS_CMD_UPDATE_MODULE_METADATA}
-
-################
-# Unit Testing #
-################
-.PHONY: unit unit-race unit-test unit-race-test unit-race-modules-% unit-modules-% build build-modules-% \
-go-build-modules-% test test-race-modules-% test-modules-% cachedep cachedep-modules-% api-diff-modules-%
-
-unit: lint unit-modules-.
-unit-race: lint unit-race-modules-.
-
-unit-test: test-modules-.
-unit-race-test: test-race-modules-.
-
-unit-race-modules-%:
- @# unit command that uses the pattern to define the root path that the
- @# module testing will start from. Strips off the "unit-race-modules-" and
- @# replaces all "_" with "/".
- @#
- @# e.g. unit-race-modules-internal_protocoltest
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst unit-race-modules-,,$@)) ${EACHMODULE_FLAGS} \
- "go vet ${BUILD_TAGS} --all ./..." \
- "go test ${BUILD_TAGS} ${RUN_NONE} ./..." \
- "go test -timeout=1m ${UNIT_TEST_TAGS} -race -cpu=4 ./..."
-
-unit-modules-%:
- @# unit command that uses the pattern to define the root path that the
- @# module testing will start from. Strips off the "unit-modules-" and
- @# replaces all "_" with "/".
- @#
- @# e.g. unit-modules-internal_protocoltest
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst unit-modules-,,$@)) ${EACHMODULE_FLAGS} \
- "go vet ${BUILD_TAGS} --all ./..." \
- "go test ${BUILD_TAGS} ${RUN_NONE} ./..." \
- "go test -timeout=1m ${UNIT_TEST_TAGS} ./..."
-
-build: build-modules-.
-
-build-modules-%:
- @# build command that uses the pattern to define the root path that the
- @# module testing will start from. Strips off the "build-modules-" and
- @# replaces all "_" with "/".
- @#
- @# e.g. build-modules-internal_protocoltest
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst build-modules-,,$@)) ${EACHMODULE_FLAGS} \
- "go test ${BUILD_TAGS} ${RUN_NONE} ./..."
-
-go-build-modules-%:
- @# build command that uses the pattern to define the root path that the
- @# module testing will start from. Strips off the "build-modules-" and
- @# replaces all "_" with "/".
- @#
- @# Validates that all modules in the repo have buildable Go files.
- @#
- @# e.g. go-build-modules-internal_protocoltest
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst go-build-modules-,,$@)) ${EACHMODULE_FLAGS} \
- "go build ${BUILD_TAGS} ./..."
-
-test: test-modules-.
-
-test-race-modules-%:
- @# Test command that uses the pattern to define the root path that the
- @# module testing will start from. Strips off the "test-race-modules-" and
- @# replaces all "_" with "/".
- @#
- @# e.g. test-race-modules-internal_protocoltest
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst test-race-modules-,,$@)) ${EACHMODULE_FLAGS} \
- "go test -timeout=1m ${UNIT_TEST_TAGS} -race -cpu=4 ./..."
-
-test-modules-%:
- @# Test command that uses the pattern to define the root path that the
- @# module testing will start from. Strips off the "test-modules-" and
- @# replaces all "_" with "/".
- @#
- @# e.g. test-modules-internal_protocoltest
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst test-modules-,,$@)) ${EACHMODULE_FLAGS} \
- "go test -timeout=1m ${UNIT_TEST_TAGS} ./..."
-
-cachedep: cachedep-modules-.
-
-cachedep-modules-%:
- @# build command that uses the pattern to define the root path that the
- @# module caching will start from. Strips off the "cachedep-modules-" and
- @# replaces all "_" with "/".
- @#
- @# e.g. cachedep-modules-internal_protocoltest
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst cachedep-modules-,,$@)) ${EACHMODULE_FLAGS} \
- "go mod download"
-
-api-diff-modules-%:
- @# Command that uses the pattern to define the root path that the
- @# module testing will start from. Strips off the "api-diff-modules-" and
- @# replaces all "_" with "/".
- @#
- @# Requires golang.org/x/exp/cmd/gorelease to be available in the GOPATH.
- @#
- @# e.g. api-diff-modules-internal_protocoltest
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst api-diff-modules-,,$@)) \
- -fail-fast=true \
- -c 1 \
- -skip="internal/repotools" \
- "$$(go env GOPATH)/bin/gorelease"
-
-##############
-# CI Testing #
-##############
-.PHONY: ci-test ci-test-no-generate ci-test-generate-validate
-
-ci-test: generate unit-race ci-test-generate-validate
-ci-test-no-generate: unit-race
-
-ci-test-generate-validate:
- @echo "CI test validate no generated code changes"
- git update-index --assume-unchanged go.mod go.sum
- git add . -A
- gitstatus=`git diff --cached --ignore-space-change`; \
- echo "$$gitstatus"; \
- if [ "$$gitstatus" != "" ] && [ "$$gitstatus" != "skipping validation" ]; then echo "$$gitstatus"; exit 1; fi
- git update-index --no-assume-unchanged go.mod go.sum
-
-ci-lint: ci-lint-.
-
-ci-lint-%:
- @# Run golangci-lint command that uses the pattern to define the root path that the
- @# module check will start from. Strips off the "ci-lint-" and
- @# replaces all "_" with "/".
- @#
- @# e.g. ci-lint-internal_protocoltest
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst ci-lint-,,$@)) \
- -fail-fast=false \
- -c 1 \
- -skip="internal/repotools" \
- "golangci-lint run"
-
-ci-lint-install:
- @# Installs golangci-lint at GoPATH.
- @# This should be used to run golangci-lint locally.
- @#
- go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest
-
-#######################
-# Integration Testing #
-#######################
-.PHONY: integration integ-modules-% cleanup-integ-buckets
-
-integration: integ-modules-service
-
-integ-modules-%:
- @# integration command that uses the pattern to define the root path that
- @# the module testing will start from. Strips off the "integ-modules-" and
- @# replaces all "_" with "/".
- @#
- @# e.g. test-modules-service_dynamodb
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst integ-modules-,,$@)) ${EACHMODULE_FLAGS} \
- "go test -timeout=10m -tags "integration" -v ${RUN_INTEG} -count 1 ./..."
-
-cleanup-integ-buckets:
- @echo "Cleaning up SDK integration resources"
- go run -tags "integration" ./internal/awstesting/cmd/bucket_cleanup/main.go "aws-sdk-go-integration"
-
-##############
-# Benchmarks #
-##############
-.PHONY: bench bench-modules-%
-
-bench: bench-modules-.
-
-bench-modules-%:
- @# benchmark command that uses the pattern to define the root path that
- @# the module testing will start from. Strips off the "bench-modules-" and
- @# replaces all "_" with "/".
- @#
- @# e.g. bench-modules-service_dynamodb
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst bench-modules-,,$@)) ${EACHMODULE_FLAGS} \
- "go test -timeout=10m -bench . --benchmem ${BUILD_TAGS} ${RUN_NONE} ./..."
-
-#####################
-# Release Process #
-#####################
-.PHONY: preview-release pre-release-validation release
-
-ls-changes:
- go run ${REPOTOOLS_CMD_CHANGELOG} ls
-
-preview-release:
- go run ${REPOTOOLS_CMD_CALCULATE_RELEASE} ${REPOTOOLS_CALCULATE_RELEASE_VERBOSE_FLAG} ${REPOTOOLS_CALCULATE_RELEASE_ADDITIONAL_ARGS}
-
-pre-release-validation:
- @if [[ -z "${RELEASE_MANIFEST_FILE}" ]]; then \
- echo "RELEASE_MANIFEST_FILE is required to specify the file to write the release manifest" && false; \
- fi
- @if [[ -z "${RELEASE_CHGLOG_DESC_FILE}" ]]; then \
- echo "RELEASE_CHGLOG_DESC_FILE is required to specify the file to write the release notes" && false; \
- fi
-
-release: pre-release-validation
- go run ${REPOTOOLS_CMD_CALCULATE_RELEASE} -o ${RELEASE_MANIFEST_FILE} ${REPOTOOLS_CALCULATE_RELEASE_VERBOSE_FLAG} ${REPOTOOLS_CALCULATE_RELEASE_ADDITIONAL_ARGS}
- go run ${REPOTOOLS_CMD_UPDATE_REQUIRES} -release ${RELEASE_MANIFEST_FILE}
- go run ${REPOTOOLS_CMD_UPDATE_MODULE_METADATA} -release ${RELEASE_MANIFEST_FILE}
- go run ${REPOTOOLS_CMD_GENERATE_CHANGELOG} -release ${RELEASE_MANIFEST_FILE} -o ${RELEASE_CHGLOG_DESC_FILE}
- go run ${REPOTOOLS_CMD_CHANGELOG} rm -all
- go run ${REPOTOOLS_CMD_TAG_RELEASE} -release ${RELEASE_MANIFEST_FILE}
-
-##############
-# Repo Tools #
-##############
-.PHONY: install-repotools
-
-install-repotools:
- go install ${REPOTOOLS_MODULE}/cmd/changelog@${REPOTOOLS_VERSION}
-
-set-smithy-go-version:
- @if [[ -z "${SMITHY_GO_VERSION}" ]]; then \
- echo "SMITHY_GO_VERSION is required to update SDK's smithy-go module dependency version" && false; \
- fi
- go run ${REPOTOOLS_CMD_EDIT_MODULE_DEPENDENCY} -s "github.com/aws/smithy-go" -v "${SMITHY_GO_VERSION}"
-
-##################
-# Linting/Verify #
-##################
-.PHONY: verify lint vet vet-modules-% sdkv1check
-
-verify: lint vet sdkv1check
-
-lint:
- @echo "go lint SDK and vendor packages"
- @lint=`golint ./...`; \
- dolint=`echo "$$lint" | grep -E -v \
- -e ${LINT_IGNORE_S3MANAGER_INPUT} \
- -e ${LINTIGNORESINGLEFIGHT} \
- -e ${LINT_IGNORE_AWSRULESFN_ARN} \
- -e ${LINT_IGNORE_AWSRULESFN_PARTITION}`; \
- echo "$$dolint"; \
- if [ "$$dolint" != "" ]; then exit 1; fi
-
-vet: vet-modules-.
-
-vet-modules-%:
- cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst vet-modules-,,$@)) ${EACHMODULE_FLAGS} \
- "go vet ${BUILD_TAGS} --all ./..."
-
-sdkv1check:
- @echo "Checking for usage of AWS SDK for Go v1"
- @sdkv1usage=`go list -test -f '''{{ if not .Standard }}{{ range $$_, $$name := .Imports }} * {{ $$.ImportPath }} -> {{ $$name }}{{ print "\n" }}{{ end }}{{ range $$_, $$name := .TestImports }} *: {{ $$.ImportPath }} -> {{ $$name }}{{ print "\n" }}{{ end }}{{ end}}''' ./... | sort -u | grep '''/aws-sdk-go/'''`; \
- echo "$$sdkv1usage"; \
- if [ "$$sdkv1usage" != "" ]; then exit 1; fi
-
-list-deps: list-deps-.
-
-list-deps-%:
- @# command that uses the pattern to define the root path that the
- @# module testing will start from. Strips off the "list-deps-" and
- @# replaces all "_" with "/".
- @#
- @# Trim output to only include stdout for list of dependencies only.
- @# make list-deps 2>&-
- @#
- @# e.g. list-deps-internal_protocoltest
- @cd ./internal/repotools/cmd/eachmodule \
- && go run . -p $(subst _,/,$(subst list-deps-,,$@)) ${EACHMODULE_FLAGS} \
- "go list -m all | grep -v 'github.com/aws/aws-sdk-go-v2'" | sort -u
-
-###################
-# Sandbox Testing #
-###################
-.PHONY: sandbox-tests sandbox-build-% sandbox-run-% sandbox-test-% update-aws-golang-tip
-
-sandbox-tests: sandbox-test-go1.15 sandbox-test-go1.16 sandbox-test-go1.17 sandbox-test-go1.18 sandbox-test-go1.19 sandbox-test-go1.20 sandbox-test-gotip
-
-sandbox-build-%:
- @# sandbox-build-go1.17
- @# sandbox-build-gotip
- @if [ $@ == sandbox-build-gotip ]; then\
- docker build \
- -f ./internal/awstesting/sandbox/Dockerfile.test.gotip \
- -t "aws-sdk-go-$(subst sandbox-build-,,$@)" . ;\
- else\
- docker build \
- --build-arg GO_VERSION=$(subst sandbox-build-go,,$@) \
- -f ./internal/awstesting/sandbox/Dockerfile.test.goversion \
- -t "aws-sdk-go-$(subst sandbox-build-,,$@)" . ;\
- fi
-
-sandbox-run-%: sandbox-build-%
- @# sandbox-run-go1.17
- @# sandbox-run-gotip
- docker run -i -t "aws-sdk-go-$(subst sandbox-run-,,$@)" bash
-sandbox-test-%: sandbox-build-%
- @# sandbox-test-go1.17
- @# sandbox-test-gotip
- docker run -t "aws-sdk-go-$(subst sandbox-test-,,$@)"
-
-update-aws-golang-tip:
- docker build --no-cache=true -f ./internal/awstesting/sandbox/Dockerfile.golang-tip -t "aws-golang:tip" .
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/README.md b/vendor/github.com/aws/aws-sdk-go-v2/README.md
deleted file mode 100644
index 9a6d0f4f..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/README.md
+++ /dev/null
@@ -1,165 +0,0 @@
-# AWS SDK for Go v2
-
-[![Go Build status](https://github.com/aws/aws-sdk-go-v2/actions/workflows/go.yml/badge.svg?branch=main)](https://github.com/aws/aws-sdk-go-v2/actions/workflows/go.yml)[![Codegen Build status](https://github.com/aws/aws-sdk-go-v2/actions/workflows/codegen.yml/badge.svg?branch=main)](https://github.com/aws/aws-sdk-go-v2/actions/workflows/codegen.yml) [![SDK Documentation](https://img.shields.io/badge/SDK-Documentation-blue)](https://aws.github.io/aws-sdk-go-v2/docs/) [![Migration Guide](https://img.shields.io/badge/Migration-Guide-blue)](https://aws.github.io/aws-sdk-go-v2/docs/migrating/) [![API Reference](https://img.shields.io/badge/api-reference-blue.svg)](https://pkg.go.dev/mod/github.com/aws/aws-sdk-go-v2) [![Apache V2 License](https://img.shields.io/badge/license-Apache%20V2-blue.svg)](https://github.com/aws/aws-sdk-go-v2/blob/main/LICENSE.txt)
-
-`aws-sdk-go-v2` is the v2 AWS SDK for the Go programming language.
-
-The v2 SDK requires a minimum version of `Go 1.19`.
-
-Check out the [release notes](https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md) for information about the latest bug
-fixes, updates, and features added to the SDK.
-
-Jump To:
-* [Getting Started](#getting-started)
-* [Getting Help](#getting-help)
-* [Contributing](#feedback-and-contributing)
-* [More Resources](#resources)
-
-## Maintenance and support for SDK major versions
-
-For information about maintenance and support for SDK major versions and their underlying dependencies, see the
-following in the AWS SDKs and Tools Shared Configuration and Credentials Reference Guide:
-
-* [AWS SDKs and Tools Maintenance Policy](https://docs.aws.amazon.com/credref/latest/refdocs/maint-policy.html)
-* [AWS SDKs and Tools Version Support Matrix](https://docs.aws.amazon.com/credref/latest/refdocs/version-support-matrix.html)
-
-### Go version support policy
-
-The v2 SDK follows the upstream [release policy](https://go.dev/doc/devel/release#policy)
-with an additional six months of support for the most recently deprecated
-language version.
-
-**AWS reserves the right to drop support for unsupported Go versions earlier to
-address critical security issues.**
-
-## Getting started
-To get started working with the SDK setup your project for Go modules, and retrieve the SDK dependencies with `go get`.
-This example shows how you can use the v2 SDK to make an API request using the SDK's [Amazon DynamoDB] client.
-
-###### Initialize Project
-```sh
-$ mkdir ~/helloaws
-$ cd ~/helloaws
-$ go mod init helloaws
-```
-###### Add SDK Dependencies
-```sh
-$ go get github.com/aws/aws-sdk-go-v2/aws
-$ go get github.com/aws/aws-sdk-go-v2/config
-$ go get github.com/aws/aws-sdk-go-v2/service/dynamodb
-```
-
-###### Write Code
-In your preferred editor add the following content to `main.go`
-
-```go
-package main
-
-import (
- "context"
- "fmt"
- "log"
-
- "github.com/aws/aws-sdk-go-v2/aws"
- "github.com/aws/aws-sdk-go-v2/config"
- "github.com/aws/aws-sdk-go-v2/service/dynamodb"
-)
-
-func main() {
- // Using the SDK's default configuration, loading additional config
- // and credentials values from the environment variables, shared
- // credentials, and shared configuration files
- cfg, err := config.LoadDefaultConfig(context.TODO(), config.WithRegion("us-west-2"))
- if err != nil {
- log.Fatalf("unable to load SDK config, %v", err)
- }
-
- // Using the Config value, create the DynamoDB client
- svc := dynamodb.NewFromConfig(cfg)
-
- // Build the request with its input parameters
- resp, err := svc.ListTables(context.TODO(), &dynamodb.ListTablesInput{
- Limit: aws.Int32(5),
- })
- if err != nil {
- log.Fatalf("failed to list tables, %v", err)
- }
-
- fmt.Println("Tables:")
- for _, tableName := range resp.TableNames {
- fmt.Println(tableName)
- }
-}
-```
-
-###### Compile and Execute
-```sh
-$ go run .
-Tables:
-tableOne
-tableTwo
-```
-
-## Getting Help
-
-Please use these community resources for getting help. We use the GitHub issues
-for tracking bugs and feature requests.
-
-* Ask us a [question](https://github.com/aws/aws-sdk-go-v2/discussions/new?category=q-a) or open a [discussion](https://github.com/aws/aws-sdk-go-v2/discussions/new?category=general).
-* If you think you may have found a bug, please open an [issue](https://github.com/aws/aws-sdk-go-v2/issues/new/choose).
-* Open a support ticket with [AWS Support](http://docs.aws.amazon.com/awssupport/latest/user/getting-started.html).
-
-This SDK implements AWS service APIs. For general issues regarding the AWS services and their limitations, you may also take a look at the [Amazon Web Services Discussion Forums](https://forums.aws.amazon.com/).
-
-### Opening Issues
-
-If you encounter a bug with the AWS SDK for Go we would like to hear about it.
-Search the [existing issues][Issues] and see
-if others are also experiencing the same issue before opening a new issue. Please
-include the version of AWS SDK for Go, Go language, and OS you’re using. Please
-also include reproduction case when appropriate.
-
-The GitHub issues are intended for bug reports and feature requests. For help
-and questions with using AWS SDK for Go please make use of the resources listed
-in the [Getting Help](#getting-help) section.
-Keeping the list of open issues lean will help us respond in a timely manner.
-
-## Feedback and contributing
-
-The v2 SDK will use GitHub [Issues] to track feature requests and issues with the SDK. In addition, we'll use GitHub [Projects] to track large tasks spanning multiple pull requests, such as refactoring the SDK's internal request lifecycle. You can provide feedback to us in several ways.
-
-**GitHub issues**. To provide feedback or report bugs, file GitHub [Issues] on the SDK. This is the preferred mechanism to give feedback so that other users can engage in the conversation, +1 issues, etc. Issues you open will be evaluated, and included in our roadmap for the GA launch.
-
-**Contributing**. You can open pull requests for fixes or additions to the AWS SDK for Go 2.0. All pull requests must be submitted under the Apache 2.0 license and will be reviewed by an SDK team member before being merged in. Accompanying unit tests, where possible, are appreciated.
-
-## Resources
-
-[SDK Developer Guide](https://aws.github.io/aws-sdk-go-v2/docs/) - Use this document to learn how to get started and
-use the AWS SDK for Go V2.
-
-[SDK Migration Guide](https://aws.github.io/aws-sdk-go-v2/docs/migrating/) - Use this document to learn how to migrate to V2 from the AWS SDK for Go.
-
-[SDK API Reference Documentation](https://pkg.go.dev/mod/github.com/aws/aws-sdk-go-v2) - Use this
-document to look up all API operation input and output parameters for AWS
-services supported by the SDK. The API reference also includes documentation of
-the SDK, and examples how to using the SDK, service client API operations, and
-API operation require parameters.
-
-[Service Documentation](https://aws.amazon.com/documentation/) - Use this
-documentation to learn how to interface with AWS services. These guides are
-great for getting started with a service, or when looking for more
-information about a service. While this document is not required for coding,
-services may supply helpful samples to look out for.
-
-[Forum](https://forums.aws.amazon.com/forum.jspa?forumID=293) - Ask questions, get help, and give feedback
-
-[Issues] - Report issues, submit pull requests, and get involved
- (see [Apache 2.0 License][license])
-
-[Dep]: https://github.com/golang/dep
-[Issues]: https://github.com/aws/aws-sdk-go-v2/issues
-[Projects]: https://github.com/aws/aws-sdk-go-v2/projects
-[CHANGELOG]: https://github.com/aws/aws-sdk-go-v2/blob/main/CHANGELOG.md
-[Amazon DynamoDB]: https://aws.amazon.com/dynamodb/
-[design]: https://github.com/aws/aws-sdk-go-v2/blob/main/DESIGN.md
-[license]: http://aws.amazon.com/apache2.0/
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/config.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/config.go
index b361c138..2264200c 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/aws/config.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/config.go
@@ -150,6 +150,18 @@ type Config struct {
// BaseEndpoint is an intermediary transfer location to a service specific
// BaseEndpoint on a service's Options.
BaseEndpoint *string
+
+ // DisableRequestCompression toggles if an operation request could be
+ // compressed or not. Will be set to false by default. This variable is sourced from
+ // environment variable AWS_DISABLE_REQUEST_COMPRESSION or the shared config profile attribute
+ // disable_request_compression
+ DisableRequestCompression bool
+
+ // RequestMinCompressSizeBytes sets the inclusive min bytes of a request body that could be
+ // compressed. Will be set to 10240 by default and must be within 0 and 10485760 bytes inclusively.
+ // This variable is sourced from environment variable AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTES or
+ // the shared config profile attribute request_min_compression_size_bytes
+ RequestMinCompressSizeBytes int64
}
// NewConfig returns a new Config pointer that can be chained with builder
@@ -158,8 +170,7 @@ func NewConfig() *Config {
return &Config{}
}
-// Copy will return a shallow copy of the Config object. If any additional
-// configurations are provided they will be merged into the new config returned.
+// Copy will return a shallow copy of the Config object.
func (c Config) Copy() Config {
cp := c
return cp
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go
index 84b19df6..66d09630 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go
@@ -3,4 +3,4 @@
package aws
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.22.1"
+const goModuleVersion = "1.24.1"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/metadata.go
index 2de15528..d66f0960 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/metadata.go
@@ -65,6 +65,9 @@ func GetServiceID(ctx context.Context) (v string) {
//
// Scoped to stack values. Use github.com/aws/smithy-go/middleware#ClearStackValues
// to clear all stack values.
+//
+// Deprecated: This value is unstable. The resolved signing name is available
+// in the signer properties object passed to the signer.
func GetSigningName(ctx context.Context) (v string) {
v, _ = middleware.GetStackValue(ctx, signingNameKey{}).(string)
return v
@@ -74,6 +77,9 @@ func GetSigningName(ctx context.Context) (v string) {
//
// Scoped to stack values. Use github.com/aws/smithy-go/middleware#ClearStackValues
// to clear all stack values.
+//
+// Deprecated: This value is unstable. The resolved signing region is available
+// in the signer properties object passed to the signer.
func GetSigningRegion(ctx context.Context) (v string) {
v, _ = middleware.GetStackValue(ctx, signingRegionKey{}).(string)
return v
@@ -125,10 +131,13 @@ func SetRequiresLegacyEndpoints(ctx context.Context, value bool) context.Context
return middleware.WithStackValue(ctx, requiresLegacyEndpointsKey{}, value)
}
-// SetSigningName set or modifies the signing name on the context.
+// SetSigningName set or modifies the sigv4 or sigv4a signing name on the context.
//
// Scoped to stack values. Use github.com/aws/smithy-go/middleware#ClearStackValues
// to clear all stack values.
+//
+// Deprecated: This value is unstable. Use WithSigV4SigningName client option
+// funcs instead.
func SetSigningName(ctx context.Context, value string) context.Context {
return middleware.WithStackValue(ctx, signingNameKey{}, value)
}
@@ -137,6 +146,9 @@ func SetSigningName(ctx context.Context, value string) context.Context {
//
// Scoped to stack values. Use github.com/aws/smithy-go/middleware#ClearStackValues
// to clear all stack values.
+//
+// Deprecated: This value is unstable. Use WithSigV4SigningRegion client option
+// funcs instead.
func SetSigningRegion(ctx context.Context, value string) context.Context {
return middleware.WithStackValue(ctx, signingRegionKey{}, value)
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/private/metrics/metrics.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/private/metrics/metrics.go
new file mode 100644
index 00000000..b0133f4c
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/middleware/private/metrics/metrics.go
@@ -0,0 +1,319 @@
+// Package metrics implements metrics gathering for SDK development purposes.
+//
+// This package is designated as private and is intended for use only by the
+// AWS client runtime. The exported API therein is not considered stable and
+// is subject to breaking changes without notice.
+package metrics
+
+import (
+ "context"
+ "encoding/json"
+ "fmt"
+ "sync"
+ "time"
+
+ "github.com/aws/smithy-go/middleware"
+)
+
+const (
+ // ServiceIDKey is the key for the service ID metric.
+ ServiceIDKey = "ServiceId"
+ // OperationNameKey is the key for the operation name metric.
+ OperationNameKey = "OperationName"
+ // ClientRequestIDKey is the key for the client request ID metric.
+ ClientRequestIDKey = "ClientRequestId"
+ // APICallDurationKey is the key for the API call duration metric.
+ APICallDurationKey = "ApiCallDuration"
+ // APICallSuccessfulKey is the key for the API call successful metric.
+ APICallSuccessfulKey = "ApiCallSuccessful"
+ // MarshallingDurationKey is the key for the marshalling duration metric.
+ MarshallingDurationKey = "MarshallingDuration"
+ // InThroughputKey is the key for the input throughput metric.
+ InThroughputKey = "InThroughput"
+ // OutThroughputKey is the key for the output throughput metric.
+ OutThroughputKey = "OutThroughput"
+ // RetryCountKey is the key for the retry count metric.
+ RetryCountKey = "RetryCount"
+ // HTTPStatusCodeKey is the key for the HTTP status code metric.
+ HTTPStatusCodeKey = "HttpStatusCode"
+ // AWSExtendedRequestIDKey is the key for the AWS extended request ID metric.
+ AWSExtendedRequestIDKey = "AwsExtendedRequestId"
+ // AWSRequestIDKey is the key for the AWS request ID metric.
+ AWSRequestIDKey = "AwsRequestId"
+ // BackoffDelayDurationKey is the key for the backoff delay duration metric.
+ BackoffDelayDurationKey = "BackoffDelayDuration"
+ // StreamThroughputKey is the key for the stream throughput metric.
+ StreamThroughputKey = "Throughput"
+ // ConcurrencyAcquireDurationKey is the key for the concurrency acquire duration metric.
+ ConcurrencyAcquireDurationKey = "ConcurrencyAcquireDuration"
+ // PendingConcurrencyAcquiresKey is the key for the pending concurrency acquires metric.
+ PendingConcurrencyAcquiresKey = "PendingConcurrencyAcquires"
+ // SigningDurationKey is the key for the signing duration metric.
+ SigningDurationKey = "SigningDuration"
+ // UnmarshallingDurationKey is the key for the unmarshalling duration metric.
+ UnmarshallingDurationKey = "UnmarshallingDuration"
+ // TimeToFirstByteKey is the key for the time to first byte metric.
+ TimeToFirstByteKey = "TimeToFirstByte"
+ // ServiceCallDurationKey is the key for the service call duration metric.
+ ServiceCallDurationKey = "ServiceCallDuration"
+ // EndpointResolutionDurationKey is the key for the endpoint resolution duration metric.
+ EndpointResolutionDurationKey = "EndpointResolutionDuration"
+ // AttemptNumberKey is the key for the attempt number metric.
+ AttemptNumberKey = "AttemptNumber"
+ // MaxConcurrencyKey is the key for the max concurrency metric.
+ MaxConcurrencyKey = "MaxConcurrency"
+ // AvailableConcurrencyKey is the key for the available concurrency metric.
+ AvailableConcurrencyKey = "AvailableConcurrency"
+)
+
+// MetricPublisher provides the interface to provide custom MetricPublishers.
+// PostRequestMetrics will be invoked by the MetricCollection middleware to post request.
+// PostStreamMetrics will be invoked by ReadCloserWithMetrics to post stream metrics.
+type MetricPublisher interface {
+ PostRequestMetrics(*MetricData) error
+ PostStreamMetrics(*MetricData) error
+}
+
+// Serializer provides the interface to provide custom Serializers.
+// Serialize will transform any input object in its corresponding string representation.
+type Serializer interface {
+ Serialize(obj interface{}) (string, error)
+}
+
+// DefaultSerializer is an implementation of the Serializer interface.
+type DefaultSerializer struct{}
+
+// Serialize uses the default JSON serializer to obtain the string representation of an object.
+func (DefaultSerializer) Serialize(obj interface{}) (string, error) {
+ bytes, err := json.Marshal(obj)
+ if err != nil {
+ return "", err
+ }
+ return string(bytes), nil
+}
+
+type metricContextKey struct{}
+
+// MetricContext contains fields to store metric-related information.
+type MetricContext struct {
+ connectionCounter *SharedConnectionCounter
+ publisher MetricPublisher
+ data *MetricData
+}
+
+// MetricData stores the collected metric data.
+type MetricData struct {
+ RequestStartTime time.Time
+ RequestEndTime time.Time
+ APICallDuration time.Duration
+ SerializeStartTime time.Time
+ SerializeEndTime time.Time
+ MarshallingDuration time.Duration
+ ResolveEndpointStartTime time.Time
+ ResolveEndpointEndTime time.Time
+ EndpointResolutionDuration time.Duration
+ InThroughput float64
+ OutThroughput float64
+ RetryCount int
+ Success uint8
+ StatusCode int
+ ClientRequestID string
+ ServiceID string
+ OperationName string
+ PartitionID string
+ Region string
+ RequestContentLength int64
+ Stream StreamMetrics
+ Attempts []AttemptMetrics
+}
+
+// StreamMetrics stores metrics related to streaming data.
+type StreamMetrics struct {
+ ReadDuration time.Duration
+ ReadBytes int64
+ Throughput float64
+}
+
+// AttemptMetrics stores metrics related to individual attempts.
+type AttemptMetrics struct {
+ ServiceCallStart time.Time
+ ServiceCallEnd time.Time
+ ServiceCallDuration time.Duration
+ FirstByteTime time.Time
+ TimeToFirstByte time.Duration
+ ConnRequestedTime time.Time
+ ConnObtainedTime time.Time
+ ConcurrencyAcquireDuration time.Duration
+ CredentialFetchStartTime time.Time
+ CredentialFetchEndTime time.Time
+ SignStartTime time.Time
+ SignEndTime time.Time
+ SigningDuration time.Duration
+ DeserializeStartTime time.Time
+ DeserializeEndTime time.Time
+ UnMarshallingDuration time.Duration
+ RetryDelay time.Duration
+ ResponseContentLength int64
+ StatusCode int
+ RequestID string
+ ExtendedRequestID string
+ HTTPClient string
+ MaxConcurrency int
+ PendingConnectionAcquires int
+ AvailableConcurrency int
+ ActiveRequests int
+ ReusedConnection bool
+}
+
+// Data returns the MetricData associated with the MetricContext.
+func (mc *MetricContext) Data() *MetricData {
+ return mc.data
+}
+
+// ConnectionCounter returns the SharedConnectionCounter associated with the MetricContext.
+func (mc *MetricContext) ConnectionCounter() *SharedConnectionCounter {
+ return mc.connectionCounter
+}
+
+// Publisher returns the MetricPublisher associated with the MetricContext.
+func (mc *MetricContext) Publisher() MetricPublisher {
+ return mc.publisher
+}
+
+// ComputeRequestMetrics calculates and populates derived metrics based on the collected data.
+func (md *MetricData) ComputeRequestMetrics() {
+
+ for idx := range md.Attempts {
+ attempt := &md.Attempts[idx]
+ attempt.ConcurrencyAcquireDuration = attempt.ConnObtainedTime.Sub(attempt.ConnRequestedTime)
+ attempt.SigningDuration = attempt.SignEndTime.Sub(attempt.SignStartTime)
+ attempt.UnMarshallingDuration = attempt.DeserializeEndTime.Sub(attempt.DeserializeStartTime)
+ attempt.TimeToFirstByte = attempt.FirstByteTime.Sub(attempt.ServiceCallStart)
+ attempt.ServiceCallDuration = attempt.ServiceCallEnd.Sub(attempt.ServiceCallStart)
+ }
+
+ md.APICallDuration = md.RequestEndTime.Sub(md.RequestStartTime)
+ md.MarshallingDuration = md.SerializeEndTime.Sub(md.SerializeStartTime)
+ md.EndpointResolutionDuration = md.ResolveEndpointEndTime.Sub(md.ResolveEndpointStartTime)
+
+ md.RetryCount = len(md.Attempts) - 1
+
+ latestAttempt, err := md.LatestAttempt()
+
+ if err != nil {
+ fmt.Printf("error retrieving attempts data due to: %s. Skipping Throughput metrics", err.Error())
+ } else {
+
+ md.StatusCode = latestAttempt.StatusCode
+
+ if md.Success == 1 {
+ if latestAttempt.ResponseContentLength > 0 && latestAttempt.ServiceCallDuration > 0 {
+ md.InThroughput = float64(latestAttempt.ResponseContentLength) / latestAttempt.ServiceCallDuration.Seconds()
+ }
+ if md.RequestContentLength > 0 && latestAttempt.ServiceCallDuration > 0 {
+ md.OutThroughput = float64(md.RequestContentLength) / latestAttempt.ServiceCallDuration.Seconds()
+ }
+ }
+ }
+}
+
+// LatestAttempt returns the latest attempt metrics.
+// It returns an error if no attempts are initialized.
+func (md *MetricData) LatestAttempt() (*AttemptMetrics, error) {
+ if md.Attempts == nil || len(md.Attempts) == 0 {
+ return nil, fmt.Errorf("no attempts initialized. NewAttempt() should be called first")
+ }
+ return &md.Attempts[len(md.Attempts)-1], nil
+}
+
+// NewAttempt initializes new attempt metrics.
+func (md *MetricData) NewAttempt() {
+ if md.Attempts == nil {
+ md.Attempts = []AttemptMetrics{}
+ }
+ md.Attempts = append(md.Attempts, AttemptMetrics{})
+}
+
+// SharedConnectionCounter is a counter shared across API calls.
+type SharedConnectionCounter struct {
+ mu sync.Mutex
+
+ activeRequests int
+ pendingConnectionAcquire int
+}
+
+// ActiveRequests returns the count of active requests.
+func (cc *SharedConnectionCounter) ActiveRequests() int {
+ cc.mu.Lock()
+ defer cc.mu.Unlock()
+
+ return cc.activeRequests
+}
+
+// PendingConnectionAcquire returns the count of pending connection acquires.
+func (cc *SharedConnectionCounter) PendingConnectionAcquire() int {
+ cc.mu.Lock()
+ defer cc.mu.Unlock()
+
+ return cc.pendingConnectionAcquire
+}
+
+// AddActiveRequest increments the count of active requests.
+func (cc *SharedConnectionCounter) AddActiveRequest() {
+ cc.mu.Lock()
+ defer cc.mu.Unlock()
+
+ cc.activeRequests++
+}
+
+// RemoveActiveRequest decrements the count of active requests.
+func (cc *SharedConnectionCounter) RemoveActiveRequest() {
+ cc.mu.Lock()
+ defer cc.mu.Unlock()
+
+ cc.activeRequests--
+}
+
+// AddPendingConnectionAcquire increments the count of pending connection acquires.
+func (cc *SharedConnectionCounter) AddPendingConnectionAcquire() {
+ cc.mu.Lock()
+ defer cc.mu.Unlock()
+
+ cc.pendingConnectionAcquire++
+}
+
+// RemovePendingConnectionAcquire decrements the count of pending connection acquires.
+func (cc *SharedConnectionCounter) RemovePendingConnectionAcquire() {
+ cc.mu.Lock()
+ defer cc.mu.Unlock()
+
+ cc.pendingConnectionAcquire--
+}
+
+// InitMetricContext initializes the metric context with the provided counter and publisher.
+// It returns the updated context.
+func InitMetricContext(
+ ctx context.Context, counter *SharedConnectionCounter, publisher MetricPublisher,
+) context.Context {
+ if middleware.GetStackValue(ctx, metricContextKey{}) == nil {
+ ctx = middleware.WithStackValue(ctx, metricContextKey{}, &MetricContext{
+ connectionCounter: counter,
+ publisher: publisher,
+ data: &MetricData{
+ Attempts: []AttemptMetrics{},
+ Stream: StreamMetrics{},
+ },
+ })
+ }
+ return ctx
+}
+
+// Context returns the metric context from the given context.
+// It returns nil if the metric context is not found.
+func Context(ctx context.Context) *MetricContext {
+ mctx := middleware.GetStackValue(ctx, metricContextKey{})
+ if mctx == nil {
+ return nil
+ }
+ return mctx.(*MetricContext)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/CHANGELOG.md
index 3a982d69..1e1da56b 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/CHANGELOG.md
@@ -1,3 +1,19 @@
+# v1.5.4 (2023-12-07)
+
+* No change notes available for this release.
+
+# v1.5.3 (2023-11-30)
+
+* No change notes available for this release.
+
+# v1.5.2 (2023-11-29)
+
+* No change notes available for this release.
+
+# v1.5.1 (2023-11-15)
+
+* No change notes available for this release.
+
# v1.5.0 (2023-10-31)
* **Feature**: **BREAKING CHANGE**: Bump minimum go version to 1.19 per the revised [go version support policy](https://aws.amazon.com/blogs/developer/aws-sdk-for-go-aligns-with-go-release-policy-on-supported-runtimes/).
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/go_module_metadata.go
index 80f252c6..6759e90e 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/go_module_metadata.go
@@ -3,4 +3,4 @@
package eventstream
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.5.0"
+const goModuleVersion = "1.5.4"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/middleware.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/middleware.go
index 822fc920..dc703d48 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/middleware.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/retry/middleware.go
@@ -3,6 +3,7 @@ package retry
import (
"context"
"fmt"
+ "github.com/aws/aws-sdk-go-v2/aws/middleware/private/metrics"
"strconv"
"strings"
"time"
@@ -225,6 +226,13 @@ func (r *Attempt) handleAttempt(
// that time. Potentially early exist if the sleep is canceled via the
// context.
retryDelay, reqErr := r.retryer.RetryDelay(attemptNum, err)
+ mctx := metrics.Context(ctx)
+ if mctx != nil {
+ attempt, err := mctx.Data().LatestAttempt()
+ if err != nil {
+ attempt.RetryDelay = retryDelay
+ }
+ }
if reqErr != nil {
return out, attemptResult, releaseRetryToken, reqErr
}
@@ -320,10 +328,12 @@ func AddRetryMiddlewares(stack *smithymiddle.Stack, options AddRetryMiddlewaresO
middleware.LogAttempts = options.LogRetryAttempts
})
- if err := stack.Finalize.Add(attempt, smithymiddle.After); err != nil {
+ // index retry to before signing, if signing exists
+ if err := stack.Finalize.Insert(attempt, "Signing", smithymiddle.Before); err != nil {
return err
}
- if err := stack.Finalize.Add(&MetricsHeader{}, smithymiddle.After); err != nil {
+
+ if err := stack.Finalize.Insert(&MetricsHeader{}, attempt.ID(), smithymiddle.After); err != nil {
return err
}
return nil
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go
index 71b1a352..ca738f23 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4/headers.go
@@ -38,6 +38,7 @@ var RequiredSignedHeaders = Rules{
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm": struct{}{},
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key": struct{}{},
"X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5": struct{}{},
+ "X-Amz-Expected-Bucket-Owner": struct{}{},
"X-Amz-Grant-Full-control": struct{}{},
"X-Amz-Grant-Read": struct{}{},
"X-Amz-Grant-Read-Acp": struct{}{},
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/middleware.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/middleware.go
index 0fb9b24e..f39a369a 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/middleware.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/middleware.go
@@ -11,6 +11,7 @@ import (
"github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
+ "github.com/aws/aws-sdk-go-v2/aws/middleware/private/metrics"
v4Internal "github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4"
internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
"github.com/aws/aws-sdk-go-v2/internal/sdk"
@@ -58,7 +59,7 @@ func (e *SigningError) Unwrap() error {
// S3 PutObject API allows unsigned payload signing auth usage when TLS is enabled, and uses this middleware to
// dynamically switch between unsigned and signed payload based on TLS state for request.
func UseDynamicPayloadSigningMiddleware(stack *middleware.Stack) error {
- _, err := stack.Build.Swap(computePayloadHashMiddlewareID, &dynamicPayloadSigningMiddleware{})
+ _, err := stack.Finalize.Swap(computePayloadHashMiddlewareID, &dynamicPayloadSigningMiddleware{})
return err
}
@@ -71,24 +72,22 @@ func (m *dynamicPayloadSigningMiddleware) ID() string {
return computePayloadHashMiddlewareID
}
-// HandleBuild sets a resolver that directs to the payload sha256 compute handler.
-func (m *dynamicPayloadSigningMiddleware) HandleBuild(
- ctx context.Context, in middleware.BuildInput, next middleware.BuildHandler,
+// HandleFinalize delegates SHA256 computation according to whether the request
+// is TLS-enabled.
+func (m *dynamicPayloadSigningMiddleware) HandleFinalize(
+ ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler,
) (
- out middleware.BuildOutput, metadata middleware.Metadata, err error,
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
) {
req, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
}
- // if TLS is enabled, use unsigned payload when supported
if req.IsHTTPS() {
- return (&unsignedPayload{}).HandleBuild(ctx, in, next)
+ return (&unsignedPayload{}).HandleFinalize(ctx, in, next)
}
-
- // else fall back to signed payload
- return (&computePayloadSHA256{}).HandleBuild(ctx, in, next)
+ return (&computePayloadSHA256{}).HandleFinalize(ctx, in, next)
}
// unsignedPayload sets the SigV4 request payload hash to unsigned.
@@ -104,7 +103,7 @@ type unsignedPayload struct{}
// AddUnsignedPayloadMiddleware adds unsignedPayload to the operation
// middleware stack
func AddUnsignedPayloadMiddleware(stack *middleware.Stack) error {
- return stack.Build.Add(&unsignedPayload{}, middleware.After)
+ return stack.Finalize.Insert(&unsignedPayload{}, "ResolveEndpointV2", middleware.After)
}
// ID returns the unsignedPayload identifier
@@ -112,23 +111,16 @@ func (m *unsignedPayload) ID() string {
return computePayloadHashMiddlewareID
}
-// HandleBuild sets the payload hash to be an unsigned payload
-func (m *unsignedPayload) HandleBuild(
- ctx context.Context, in middleware.BuildInput, next middleware.BuildHandler,
+// HandleFinalize sets the payload hash magic value to the unsigned sentinel.
+func (m *unsignedPayload) HandleFinalize(
+ ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler,
) (
- out middleware.BuildOutput, metadata middleware.Metadata, err error,
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
) {
- // This should not compute the content SHA256 if the value is already
- // known. (e.g. application pre-computed SHA256 before making API call).
- // Does not have any tight coupling to the X-Amz-Content-Sha256 header, if
- // that header is provided a middleware must translate it into the context.
- contentSHA := GetPayloadHash(ctx)
- if len(contentSHA) == 0 {
- contentSHA = v4Internal.UnsignedPayload
+ if GetPayloadHash(ctx) == "" {
+ ctx = SetPayloadHash(ctx, v4Internal.UnsignedPayload)
}
-
- ctx = SetPayloadHash(ctx, contentSHA)
- return next.HandleBuild(ctx, in)
+ return next.HandleFinalize(ctx, in)
}
// computePayloadSHA256 computes SHA256 payload hash to sign.
@@ -144,13 +136,13 @@ type computePayloadSHA256 struct{}
// AddComputePayloadSHA256Middleware adds computePayloadSHA256 to the
// operation middleware stack
func AddComputePayloadSHA256Middleware(stack *middleware.Stack) error {
- return stack.Build.Add(&computePayloadSHA256{}, middleware.After)
+ return stack.Finalize.Insert(&computePayloadSHA256{}, "ResolveEndpointV2", middleware.After)
}
// RemoveComputePayloadSHA256Middleware removes computePayloadSHA256 from the
// operation middleware stack
func RemoveComputePayloadSHA256Middleware(stack *middleware.Stack) error {
- _, err := stack.Build.Remove(computePayloadHashMiddlewareID)
+ _, err := stack.Finalize.Remove(computePayloadHashMiddlewareID)
return err
}
@@ -159,12 +151,17 @@ func (m *computePayloadSHA256) ID() string {
return computePayloadHashMiddlewareID
}
-// HandleBuild compute the payload hash for the request payload
-func (m *computePayloadSHA256) HandleBuild(
- ctx context.Context, in middleware.BuildInput, next middleware.BuildHandler,
+// HandleFinalize computes the payload hash for the request, storing it to the
+// context. This is a no-op if a caller has previously set that value.
+func (m *computePayloadSHA256) HandleFinalize(
+ ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler,
) (
- out middleware.BuildOutput, metadata middleware.Metadata, err error,
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
) {
+ if GetPayloadHash(ctx) != "" {
+ return next.HandleFinalize(ctx, in)
+ }
+
req, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, &HashComputationError{
@@ -172,14 +169,6 @@ func (m *computePayloadSHA256) HandleBuild(
}
}
- // This should not compute the content SHA256 if the value is already
- // known. (e.g. application pre-computed SHA256 before making API call)
- // Does not have any tight coupling to the X-Amz-Content-Sha256 header, if
- // that header is provided a middleware must translate it into the context.
- if contentSHA := GetPayloadHash(ctx); len(contentSHA) != 0 {
- return next.HandleBuild(ctx, in)
- }
-
hash := sha256.New()
if stream := req.GetStream(); stream != nil {
_, err = io.Copy(hash, stream)
@@ -198,7 +187,7 @@ func (m *computePayloadSHA256) HandleBuild(
ctx = SetPayloadHash(ctx, hex.EncodeToString(hash.Sum(nil)))
- return next.HandleBuild(ctx, in)
+ return next.HandleFinalize(ctx, in)
}
// SwapComputePayloadSHA256ForUnsignedPayloadMiddleware replaces the
@@ -207,7 +196,7 @@ func (m *computePayloadSHA256) HandleBuild(
// Use this to disable computing the Payload SHA256 checksum and instead use
// UNSIGNED-PAYLOAD for the SHA256 value.
func SwapComputePayloadSHA256ForUnsignedPayloadMiddleware(stack *middleware.Stack) error {
- _, err := stack.Build.Swap(computePayloadHashMiddlewareID, &unsignedPayload{})
+ _, err := stack.Finalize.Swap(computePayloadHashMiddlewareID, &unsignedPayload{})
return err
}
@@ -218,13 +207,13 @@ type contentSHA256Header struct{}
// AddContentSHA256HeaderMiddleware adds ContentSHA256Header to the
// operation middleware stack
func AddContentSHA256HeaderMiddleware(stack *middleware.Stack) error {
- return stack.Build.Insert(&contentSHA256Header{}, computePayloadHashMiddlewareID, middleware.After)
+ return stack.Finalize.Insert(&contentSHA256Header{}, computePayloadHashMiddlewareID, middleware.After)
}
// RemoveContentSHA256HeaderMiddleware removes contentSHA256Header middleware
// from the operation middleware stack
func RemoveContentSHA256HeaderMiddleware(stack *middleware.Stack) error {
- _, err := stack.Build.Remove((*contentSHA256Header)(nil).ID())
+ _, err := stack.Finalize.Remove((*contentSHA256Header)(nil).ID())
return err
}
@@ -233,12 +222,12 @@ func (m *contentSHA256Header) ID() string {
return "SigV4ContentSHA256Header"
}
-// HandleBuild sets the X-Amz-Content-Sha256 header value to the Payload hash
+// HandleFinalize sets the X-Amz-Content-Sha256 header value to the Payload hash
// stored in the context.
-func (m *contentSHA256Header) HandleBuild(
- ctx context.Context, in middleware.BuildInput, next middleware.BuildHandler,
+func (m *contentSHA256Header) HandleFinalize(
+ ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler,
) (
- out middleware.BuildOutput, metadata middleware.Metadata, err error,
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
) {
req, ok := in.Request.(*smithyhttp.Request)
if !ok {
@@ -246,25 +235,35 @@ func (m *contentSHA256Header) HandleBuild(
}
req.Header.Set(v4Internal.ContentSHAKey, GetPayloadHash(ctx))
-
- return next.HandleBuild(ctx, in)
+ return next.HandleFinalize(ctx, in)
}
-// SignHTTPRequestMiddlewareOptions is the configuration options for the SignHTTPRequestMiddleware middleware.
+// SignHTTPRequestMiddlewareOptions is the configuration options for
+// [SignHTTPRequestMiddleware].
+//
+// Deprecated: [SignHTTPRequestMiddleware] is deprecated.
type SignHTTPRequestMiddlewareOptions struct {
CredentialsProvider aws.CredentialsProvider
Signer HTTPSigner
LogSigning bool
}
-// SignHTTPRequestMiddleware is a `FinalizeMiddleware` implementation for SigV4 HTTP Signing
+// SignHTTPRequestMiddleware is a `FinalizeMiddleware` implementation for SigV4
+// HTTP Signing.
+//
+// Deprecated: AWS service clients no longer use this middleware. Signing as an
+// SDK operation is now performed through an internal per-service middleware
+// which opaquely selects and uses the signer from the resolved auth scheme.
type SignHTTPRequestMiddleware struct {
credentialsProvider aws.CredentialsProvider
signer HTTPSigner
logSigning bool
}
-// NewSignHTTPRequestMiddleware constructs a SignHTTPRequestMiddleware using the given Signer for signing requests
+// NewSignHTTPRequestMiddleware constructs a [SignHTTPRequestMiddleware] using
+// the given [Signer] for signing requests.
+//
+// Deprecated: SignHTTPRequestMiddleware is deprecated.
func NewSignHTTPRequestMiddleware(options SignHTTPRequestMiddlewareOptions) *SignHTTPRequestMiddleware {
return &SignHTTPRequestMiddleware{
credentialsProvider: options.CredentialsProvider,
@@ -273,12 +272,17 @@ func NewSignHTTPRequestMiddleware(options SignHTTPRequestMiddlewareOptions) *Sig
}
}
-// ID is the SignHTTPRequestMiddleware identifier
+// ID is the SignHTTPRequestMiddleware identifier.
+//
+// Deprecated: SignHTTPRequestMiddleware is deprecated.
func (s *SignHTTPRequestMiddleware) ID() string {
return "Signing"
}
-// HandleFinalize will take the provided input and sign the request using the SigV4 authentication scheme
+// HandleFinalize will take the provided input and sign the request using the
+// SigV4 authentication scheme.
+//
+// Deprecated: SignHTTPRequestMiddleware is deprecated.
func (s *SignHTTPRequestMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
) {
@@ -297,7 +301,22 @@ func (s *SignHTTPRequestMiddleware) HandleFinalize(ctx context.Context, in middl
return out, metadata, &SigningError{Err: fmt.Errorf("computed payload hash missing from context")}
}
+ mctx := metrics.Context(ctx)
+
+ if mctx != nil {
+ if attempt, err := mctx.Data().LatestAttempt(); err == nil {
+ attempt.CredentialFetchStartTime = sdk.NowTime()
+ }
+ }
+
credentials, err := s.credentialsProvider.Retrieve(ctx)
+
+ if mctx != nil {
+ if attempt, err := mctx.Data().LatestAttempt(); err == nil {
+ attempt.CredentialFetchEndTime = sdk.NowTime()
+ }
+ }
+
if err != nil {
return out, metadata, &SigningError{Err: fmt.Errorf("failed to retrieve credentials: %w", err)}
}
@@ -318,7 +337,20 @@ func (s *SignHTTPRequestMiddleware) HandleFinalize(ctx context.Context, in middl
})
}
+ if mctx != nil {
+ if attempt, err := mctx.Data().LatestAttempt(); err == nil {
+ attempt.SignStartTime = sdk.NowTime()
+ }
+ }
+
err = s.signer.SignHTTP(ctx, credentials, req.Request, payloadHash, signingName, signingRegion, sdk.NowTime(), signerOptions...)
+
+ if mctx != nil {
+ if attempt, err := mctx.Data().LatestAttempt(); err == nil {
+ attempt.SignEndTime = sdk.NowTime()
+ }
+ }
+
if err != nil {
return out, metadata, &SigningError{Err: fmt.Errorf("failed to sign http request, %w", err)}
}
@@ -332,17 +364,17 @@ type streamingEventsPayload struct{}
// AddStreamingEventsPayload adds the streamingEventsPayload middleware to the stack.
func AddStreamingEventsPayload(stack *middleware.Stack) error {
- return stack.Build.Add(&streamingEventsPayload{}, middleware.After)
+ return stack.Finalize.Add(&streamingEventsPayload{}, middleware.Before)
}
func (s *streamingEventsPayload) ID() string {
return computePayloadHashMiddlewareID
}
-func (s *streamingEventsPayload) HandleBuild(
- ctx context.Context, in middleware.BuildInput, next middleware.BuildHandler,
+func (s *streamingEventsPayload) HandleFinalize(
+ ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler,
) (
- out middleware.BuildOutput, metadata middleware.Metadata, err error,
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
) {
contentSHA := GetPayloadHash(ctx)
if len(contentSHA) == 0 {
@@ -351,7 +383,7 @@ func (s *streamingEventsPayload) HandleBuild(
ctx = SetPayloadHash(ctx, contentSHA)
- return next.HandleBuild(ctx, in)
+ return next.HandleFinalize(ctx, in)
}
// GetSignedRequestSignature attempts to extract the signature of the request.
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/v4.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/v4.go
index 4d162556..bb61904e 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/v4.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/signer/v4/v4.go
@@ -68,6 +68,9 @@ import (
const (
signingAlgorithm = "AWS4-HMAC-SHA256"
authorizationHeader = "Authorization"
+
+ // Version of signing v4
+ Version = "SigV4"
)
// HTTPSigner is an interface to a SigV4 signer that can sign HTTP requests
@@ -103,6 +106,11 @@ type SignerOptions struct {
// This will enable logging of the canonical request, the string to sign, and for presigning the subsequent
// presigned URL.
LogSigning bool
+
+ // Disables setting the session token on the request as part of signing
+ // through X-Amz-Security-Token. This is needed for variations of v4 that
+ // present the token elsewhere.
+ DisableSessionToken bool
}
// Signer applies AWS v4 signing to given request. Use this to sign requests
@@ -136,6 +144,7 @@ type httpSigner struct {
DisableHeaderHoisting bool
DisableURIPathEscaping bool
+ DisableSessionToken bool
}
func (s *httpSigner) Build() (signedRequest, error) {
@@ -284,6 +293,7 @@ func (s Signer) SignHTTP(ctx context.Context, credentials aws.Credentials, r *ht
Time: v4Internal.NewSigningTime(signingTime.UTC()),
DisableHeaderHoisting: options.DisableHeaderHoisting,
DisableURIPathEscaping: options.DisableURIPathEscaping,
+ DisableSessionToken: options.DisableSessionToken,
KeyDerivator: s.keyDerivator,
}
@@ -360,6 +370,7 @@ func (s *Signer) PresignHTTP(
IsPreSign: true,
DisableHeaderHoisting: options.DisableHeaderHoisting,
DisableURIPathEscaping: options.DisableURIPathEscaping,
+ DisableSessionToken: options.DisableSessionToken,
KeyDerivator: s.keyDerivator,
}
@@ -502,7 +513,8 @@ func (s *httpSigner) setRequiredSigningFields(headers http.Header, query url.Val
if s.IsPreSign {
query.Set(v4Internal.AmzAlgorithmKey, signingAlgorithm)
- if sessionToken := s.Credentials.SessionToken; len(sessionToken) > 0 {
+ sessionToken := s.Credentials.SessionToken
+ if !s.DisableSessionToken && len(sessionToken) > 0 {
query.Set("X-Amz-Security-Token", sessionToken)
}
@@ -512,7 +524,7 @@ func (s *httpSigner) setRequiredSigningFields(headers http.Header, query url.Val
headers[v4Internal.AmzDateKey] = append(headers[v4Internal.AmzDateKey][:0], amzDate)
- if len(s.Credentials.SessionToken) > 0 {
+ if !s.DisableSessionToken && len(s.Credentials.SessionToken) > 0 {
headers[v4Internal.AmzSecurityTokenKey] = append(headers[v4Internal.AmzSecurityTokenKey][:0], s.Credentials.SessionToken)
}
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/buildspec.yml b/vendor/github.com/aws/aws-sdk-go-v2/buildspec.yml
deleted file mode 100644
index b11df508..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/buildspec.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-version: 0.2
-
-phases:
- build:
- commands:
- - echo Build started on `date`
- - export GOPATH=/go
- - export SDK_CODEBUILD_ROOT=`pwd`
- - make ci-test-no-generate
- post_build:
- commands:
- - echo Build completed on `date`
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/ci-find-smithy-go.sh b/vendor/github.com/aws/aws-sdk-go-v2/ci-find-smithy-go.sh
deleted file mode 100644
index 4da5d09c..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/ci-find-smithy-go.sh
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/bin/bash
-
-# looks for (and modreplaces if existing) a smithy-go branch matching the
-# current branch name
-#
-# the loop will unfurl -*s off of the branch, e.g. sdk branch
-# 'feat-foo-bar-baz' will match any of the following (in order):
-# - feat-foo-bar-baz
-# - feat-foo-bar
-# - feat-foo
-
-if [ -z "$SMITHY_GO_REPOSITORY" ]; then
- SMITHY_GO_REPOSITORY=aws/smithy-go
-fi
-
-if [ -z "$RUNNER_TMPDIR" ]; then
- echo env RUNNER_TMPDIR is required
- exit 1
-fi
-
-branch=$(git branch --show-current)
-if [ "$branch" == main ]; then
- echo aws-sdk-go-v2 is on branch main, stop
- exit 0
-fi
-
-# For PR workflows, only the triggering ref is checked out, which in isolation
-# is not recognized as a branch by git. Use the specific workflow env instead.
-if [ -z "$branch" ]; then
- branch=$GITHUB_HEAD_REF
-fi
-
-if [ -n "$GIT_PAT" ]; then
- repository=https://$GIT_PAT@github.com/$SMITHY_GO_REPOSITORY
-else
- repository=https://github.com/$SMITHY_GO_REPOSITORY
-fi
-
-echo on branch \"$branch\"
-while [ -n "$branch" ] && [[ "$branch" == *-* ]]; do
- echo looking for "$branch"...
- git ls-remote --exit-code --heads "$repository" refs/heads/"$branch"
- if [ "$?" == 0 ]; then
- echo found "$branch"
- matched_branch=$branch
- break
- fi
-
- branch=${branch%-*}
-done
-
-if [ -z "$matched_branch" ]; then
- echo found no matching smithy-go branch, stop
- exit 0
-fi
-
-git clone -b "$matched_branch" "$repository" "$RUNNER_TMPDIR"/smithy-go
-SMITHY_GO_SRC=$RUNNER_TMPDIR/smithy-go make gen-mod-replace-smithy-.
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md
index 4e06573e..28eb28a1 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md
@@ -1,3 +1,88 @@
+# v1.26.3 (2024-01-04)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.26.2 (2023-12-20)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.26.1 (2023-12-08)
+
+* **Bug Fix**: Correct loading of [services *] sections into shared config.
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.26.0 (2023-12-07)
+
+* **Feature**: Support modeled request compression. The only algorithm supported at this time is `gzip`.
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.12 (2023-12-06)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.11 (2023-12-01)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.10 (2023-11-30)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.9 (2023-11-29)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.8 (2023-11-28.3)
+
+* **Bug Fix**: Correct resolution of S3Express auth disable toggle.
+
+# v1.25.7 (2023-11-28.2)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.6 (2023-11-28)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.5 (2023-11-21)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.4 (2023-11-20)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.3 (2023-11-17)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.2 (2023-11-16)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.1 (2023-11-15)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.0 (2023-11-14)
+
+* **Feature**: Add support for dynamic auth token from file and EKS container host in absolute/relative URIs in the HTTP credential provider.
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.24.0 (2023-11-13)
+
+* **Feature**: Replace the legacy config parser with a modern, less-strict implementation. Parsing failures within a section will now simply ignore the invalid line rather than silently drop the entire section.
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.23.0 (2023-11-09.2)
+
+* **Feature**: BREAKFIX: In order to support subproperty parsing, invalid property definitions must not be ignored
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.22.3 (2023-11-09)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
# v1.22.2 (2023-11-07)
* **Dependency Update**: Updated to the latest SDK module versions
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/config.go b/vendor/github.com/aws/aws-sdk-go-v2/config/config.go
index dfe62973..50582d89 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/config/config.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/config/config.go
@@ -70,10 +70,16 @@ var defaultAWSConfigResolvers = []awsConfigResolver{
// httpBearerAuth authentication scheme.
resolveBearerAuthToken,
- // Sets the sdk app ID if present in shared config profile
+ // Sets the sdk app ID if present in env var or shared config profile
resolveAppID,
resolveBaseEndpoint,
+
+ // Sets the DisableRequestCompression if present in env var or shared config profile
+ resolveDisableRequestCompression,
+
+ // Sets the RequestMinCompressSizeBytes if present in env var or shared config profile
+ resolveRequestMinCompressSizeBytes,
}
// A Config represents a generic configuration value or set of values. This type
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/env_config.go b/vendor/github.com/aws/aws-sdk-go-v2/config/env_config.go
index 78bc1493..88550198 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/config/env_config.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/config/env_config.go
@@ -12,6 +12,7 @@ import (
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/feature/ec2/imds"
+ smithyrequestcompression "github.com/aws/smithy-go/private/requestcompression"
)
// CredentialsSourceName provides a name of the provider when config is
@@ -74,6 +75,11 @@ const (
awsIgnoreConfiguredEndpoints = "AWS_IGNORE_CONFIGURED_ENDPOINT_URLS"
awsEndpointURL = "AWS_ENDPOINT_URL"
+
+ awsDisableRequestCompression = "AWS_DISABLE_REQUEST_COMPRESSION"
+ awsRequestMinCompressionSizeBytes = "AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTES"
+
+ awsS3DisableExpressSessionAuthEnv = "AWS_S3_DISABLE_EXPRESS_SESSION_AUTH"
)
var (
@@ -268,6 +274,22 @@ type EnvConfig struct {
// Value to contain configured endpoints to be propagated to
// corresponding endpoint resolution field.
BaseEndpoint string
+
+ // determine if request compression is allowed, default to false
+ // retrieved from env var AWS_DISABLE_REQUEST_COMPRESSION
+ DisableRequestCompression *bool
+
+ // inclusive threshold request body size to trigger compression,
+ // default to 10240 and must be within 0 and 10485760 bytes inclusive
+ // retrieved from env var AWS_REQUEST_MIN_COMPRESSION_SIZE_BYTES
+ RequestMinCompressSizeBytes *int64
+
+ // Whether S3Express auth is disabled.
+ //
+ // This will NOT prevent requests from being made to S3Express buckets, it
+ // will only bypass the modified endpoint routing and signing behaviors
+ // associated with the feature.
+ S3DisableExpressAuth *bool
}
// loadEnvConfig reads configuration values from the OS's environment variables.
@@ -310,6 +332,13 @@ func NewEnvConfig() (EnvConfig, error) {
cfg.AppID = os.Getenv(awsSdkAppID)
+ if err := setBoolPtrFromEnvVal(&cfg.DisableRequestCompression, []string{awsDisableRequestCompression}); err != nil {
+ return cfg, err
+ }
+ if err := setInt64PtrFromEnvVal(&cfg.RequestMinCompressSizeBytes, []string{awsRequestMinCompressionSizeBytes}, smithyrequestcompression.MaxRequestMinCompressSizeBytes); err != nil {
+ return cfg, err
+ }
+
if err := setEndpointDiscoveryTypeFromEnvVal(&cfg.EnableEndpointDiscovery, []string{awsEnableEndpointDiscoveryEnvVar}); err != nil {
return cfg, err
}
@@ -356,6 +385,10 @@ func NewEnvConfig() (EnvConfig, error) {
return cfg, err
}
+ if err := setBoolPtrFromEnvVal(&cfg.S3DisableExpressAuth, []string{awsS3DisableExpressSessionAuthEnv}); err != nil {
+ return cfg, err
+ }
+
return cfg, nil
}
@@ -370,6 +403,20 @@ func (c EnvConfig) getAppID(context.Context) (string, bool, error) {
return c.AppID, len(c.AppID) > 0, nil
}
+func (c EnvConfig) getDisableRequestCompression(context.Context) (bool, bool, error) {
+ if c.DisableRequestCompression == nil {
+ return false, false, nil
+ }
+ return *c.DisableRequestCompression, true, nil
+}
+
+func (c EnvConfig) getRequestMinCompressSizeBytes(context.Context) (int64, bool, error) {
+ if c.RequestMinCompressSizeBytes == nil {
+ return 0, false, nil
+ }
+ return *c.RequestMinCompressSizeBytes, true, nil
+}
+
// GetRetryMaxAttempts returns the value of AWS_MAX_ATTEMPTS if was specified,
// and not 0.
func (c EnvConfig) GetRetryMaxAttempts(ctx context.Context) (int, bool, error) {
@@ -626,6 +673,30 @@ func setBoolPtrFromEnvVal(dst **bool, keys []string) error {
return nil
}
+func setInt64PtrFromEnvVal(dst **int64, keys []string, max int64) error {
+ for _, k := range keys {
+ value := os.Getenv(k)
+ if len(value) == 0 {
+ continue
+ }
+
+ v, err := strconv.ParseInt(value, 10, 64)
+ if err != nil {
+ return fmt.Errorf("invalid value for env var, %s=%s, need int64", k, value)
+ } else if v < 0 || v > max {
+ return fmt.Errorf("invalid range for env var min request compression size bytes %q, must be within 0 and 10485760 inclusively", v)
+ }
+ if *dst == nil {
+ *dst = new(int64)
+ }
+
+ **dst = v
+ break
+ }
+
+ return nil
+}
+
func setEndpointDiscoveryTypeFromEnvVal(dst *aws.EndpointDiscoveryEnableState, keys []string) error {
for _, k := range keys {
value := os.Getenv(k)
@@ -736,3 +807,13 @@ func (c EnvConfig) GetEC2IMDSV1FallbackDisabled() (bool, bool) {
return *c.EC2IMDSv1Disabled, true
}
+
+// GetS3DisableExpressAuth returns the configured value for
+// [EnvConfig.S3DisableExpressAuth].
+func (c EnvConfig) GetS3DisableExpressAuth() (value, ok bool) {
+ if c.S3DisableExpressAuth == nil {
+ return false, false
+ }
+
+ return *c.S3DisableExpressAuth, true
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go
index 8057c53e..f719e036 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go
@@ -3,4 +3,4 @@
package config
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.22.2"
+const goModuleVersion = "1.26.3"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/load_options.go b/vendor/github.com/aws/aws-sdk-go-v2/config/load_options.go
index 7480bb45..06596c1b 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/config/load_options.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/config/load_options.go
@@ -206,6 +206,15 @@ type LoadOptions struct {
// The sdk app ID retrieved from env var or shared config to be added to request user agent header
AppID string
+
+ // Specifies whether an operation request could be compressed
+ DisableRequestCompression *bool
+
+ // The inclusive min bytes of a request body that could be compressed
+ RequestMinCompressSizeBytes *int64
+
+ // Whether S3 Express auth is disabled.
+ S3DisableExpressAuth *bool
}
func (o LoadOptions) getDefaultsMode(ctx context.Context) (aws.DefaultsMode, bool, error) {
@@ -253,6 +262,22 @@ func (o LoadOptions) getAppID(ctx context.Context) (string, bool, error) {
return o.AppID, len(o.AppID) > 0, nil
}
+// getDisableRequestCompression returns DisableRequestCompression from config's LoadOptions
+func (o LoadOptions) getDisableRequestCompression(ctx context.Context) (bool, bool, error) {
+ if o.DisableRequestCompression == nil {
+ return false, false, nil
+ }
+ return *o.DisableRequestCompression, true, nil
+}
+
+// getRequestMinCompressSizeBytes returns RequestMinCompressSizeBytes from config's LoadOptions
+func (o LoadOptions) getRequestMinCompressSizeBytes(ctx context.Context) (int64, bool, error) {
+ if o.RequestMinCompressSizeBytes == nil {
+ return 0, false, nil
+ }
+ return *o.RequestMinCompressSizeBytes, true, nil
+}
+
// WithRegion is a helper function to construct functional options
// that sets Region on config's LoadOptions. Setting the region to
// an empty string, will result in the region value being ignored.
@@ -274,6 +299,30 @@ func WithAppID(ID string) LoadOptionsFunc {
}
}
+// WithDisableRequestCompression is a helper function to construct functional options
+// that sets DisableRequestCompression on config's LoadOptions.
+func WithDisableRequestCompression(DisableRequestCompression *bool) LoadOptionsFunc {
+ return func(o *LoadOptions) error {
+ if DisableRequestCompression == nil {
+ return nil
+ }
+ o.DisableRequestCompression = DisableRequestCompression
+ return nil
+ }
+}
+
+// WithRequestMinCompressSizeBytes is a helper function to construct functional options
+// that sets RequestMinCompressSizeBytes on config's LoadOptions.
+func WithRequestMinCompressSizeBytes(RequestMinCompressSizeBytes *int64) LoadOptionsFunc {
+ return func(o *LoadOptions) error {
+ if RequestMinCompressSizeBytes == nil {
+ return nil
+ }
+ o.RequestMinCompressSizeBytes = RequestMinCompressSizeBytes
+ return nil
+ }
+}
+
// getDefaultRegion returns DefaultRegion from config's LoadOptions
func (o LoadOptions) getDefaultRegion(ctx context.Context) (string, bool, error) {
if len(o.DefaultRegion) == 0 {
@@ -1044,3 +1093,22 @@ func WithDefaultsMode(mode aws.DefaultsMode, optFns ...func(options *DefaultsMod
return nil
}
}
+
+// GetS3DisableExpressAuth returns the configured value for
+// [EnvConfig.S3DisableExpressAuth].
+func (o LoadOptions) GetS3DisableExpressAuth() (value, ok bool) {
+ if o.S3DisableExpressAuth == nil {
+ return false, false
+ }
+
+ return *o.S3DisableExpressAuth, true
+}
+
+// WithS3DisableExpressAuth sets [LoadOptions.S3DisableExpressAuth]
+// to the value provided.
+func WithS3DisableExpressAuth(v bool) LoadOptionsFunc {
+ return func(o *LoadOptions) error {
+ o.S3DisableExpressAuth = &v
+ return nil
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/provider.go b/vendor/github.com/aws/aws-sdk-go-v2/config/provider.go
index d5235846..13745fc9 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/config/provider.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/config/provider.go
@@ -191,6 +191,40 @@ func getAppID(ctx context.Context, configs configs) (value string, found bool, e
return
}
+// disableRequestCompressionProvider provides access to the DisableRequestCompression
+type disableRequestCompressionProvider interface {
+ getDisableRequestCompression(context.Context) (bool, bool, error)
+}
+
+func getDisableRequestCompression(ctx context.Context, configs configs) (value bool, found bool, err error) {
+ for _, cfg := range configs {
+ if p, ok := cfg.(disableRequestCompressionProvider); ok {
+ value, found, err = p.getDisableRequestCompression(ctx)
+ if err != nil || found {
+ break
+ }
+ }
+ }
+ return
+}
+
+// requestMinCompressSizeBytesProvider provides access to the MinCompressSizeBytes
+type requestMinCompressSizeBytesProvider interface {
+ getRequestMinCompressSizeBytes(context.Context) (int64, bool, error)
+}
+
+func getRequestMinCompressSizeBytes(ctx context.Context, configs configs) (value int64, found bool, err error) {
+ for _, cfg := range configs {
+ if p, ok := cfg.(requestMinCompressSizeBytesProvider); ok {
+ value, found, err = p.getRequestMinCompressSizeBytes(ctx)
+ if err != nil || found {
+ break
+ }
+ }
+ }
+ return
+}
+
// ec2IMDSRegionProvider provides access to the ec2 imds region
// configuration value
type ec2IMDSRegionProvider interface {
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/resolve.go b/vendor/github.com/aws/aws-sdk-go-v2/config/resolve.go
index b5a74b23..fde2e398 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/config/resolve.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/config/resolve.go
@@ -27,7 +27,6 @@ func resolveDefaultAWSConfig(ctx context.Context, cfg *aws.Config, cfgs configs)
}
*cfg = aws.Config{
- Credentials: aws.AnonymousCredentials{},
Logger: logging.NewStandardLogger(os.Stderr),
ConfigSources: sources,
}
@@ -140,6 +139,33 @@ func resolveAppID(ctx context.Context, cfg *aws.Config, configs configs) error {
return nil
}
+// resolveDisableRequestCompression extracts the DisableRequestCompression from the configs slice's
+// SharedConfig or EnvConfig
+func resolveDisableRequestCompression(ctx context.Context, cfg *aws.Config, configs configs) error {
+ disable, _, err := getDisableRequestCompression(ctx, configs)
+ if err != nil {
+ return err
+ }
+
+ cfg.DisableRequestCompression = disable
+ return nil
+}
+
+// resolveRequestMinCompressSizeBytes extracts the RequestMinCompressSizeBytes from the configs slice's
+// SharedConfig or EnvConfig
+func resolveRequestMinCompressSizeBytes(ctx context.Context, cfg *aws.Config, configs configs) error {
+ minBytes, found, err := getRequestMinCompressSizeBytes(ctx, configs)
+ if err != nil {
+ return err
+ }
+ // must set a default min size 10240 if not configured
+ if !found {
+ minBytes = 10240
+ }
+ cfg.RequestMinCompressSizeBytes = minBytes
+ return nil
+}
+
// resolveDefaultRegion extracts the first instance of a default region and sets `aws.Config.Region` to the default
// region if region had not been resolved from other sources.
func resolveDefaultRegion(ctx context.Context, cfg *aws.Config, configs configs) error {
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/resolve_credentials.go b/vendor/github.com/aws/aws-sdk-go-v2/config/resolve_credentials.go
index b21cd308..89368520 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/config/resolve_credentials.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/config/resolve_credentials.go
@@ -3,7 +3,10 @@ package config
import (
"context"
"fmt"
+ "io/ioutil"
+ "net"
"net/url"
+ "os"
"time"
"github.com/aws/aws-sdk-go-v2/aws"
@@ -21,11 +24,33 @@ import (
const (
// valid credential source values
- credSourceEc2Metadata = "Ec2InstanceMetadata"
- credSourceEnvironment = "Environment"
- credSourceECSContainer = "EcsContainer"
+ credSourceEc2Metadata = "Ec2InstanceMetadata"
+ credSourceEnvironment = "Environment"
+ credSourceECSContainer = "EcsContainer"
+ httpProviderAuthFileEnvVar = "AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE"
)
+// direct representation of the IPv4 address for the ECS container
+// "169.254.170.2"
+var ecsContainerIPv4 net.IP = []byte{
+ 169, 254, 170, 2,
+}
+
+// direct representation of the IPv4 address for the EKS container
+// "169.254.170.23"
+var eksContainerIPv4 net.IP = []byte{
+ 169, 254, 170, 23,
+}
+
+// direct representation of the IPv6 address for the EKS container
+// "fd00:ec2::23"
+var eksContainerIPv6 net.IP = []byte{
+ 0xFD, 0, 0xE, 0xC2,
+ 0, 0, 0, 0,
+ 0, 0, 0, 0,
+ 0, 0, 0, 0x23,
+}
+
var (
ecsContainerEndpoint = "http://169.254.170.2" // not constant to allow for swapping during unit-testing
)
@@ -222,6 +247,36 @@ func processCredentials(ctx context.Context, cfg *aws.Config, sharedConfig *Shar
return nil
}
+// isAllowedHost allows host to be loopback or known ECS/EKS container IPs
+//
+// host can either be an IP address OR an unresolved hostname - resolution will
+// be automatically performed in the latter case
+func isAllowedHost(host string) (bool, error) {
+ if ip := net.ParseIP(host); ip != nil {
+ return isIPAllowed(ip), nil
+ }
+
+ addrs, err := lookupHostFn(host)
+ if err != nil {
+ return false, err
+ }
+
+ for _, addr := range addrs {
+ if ip := net.ParseIP(addr); ip == nil || !isIPAllowed(ip) {
+ return false, nil
+ }
+ }
+
+ return true, nil
+}
+
+func isIPAllowed(ip net.IP) bool {
+ return ip.IsLoopback() ||
+ ip.Equal(ecsContainerIPv4) ||
+ ip.Equal(eksContainerIPv4) ||
+ ip.Equal(eksContainerIPv6)
+}
+
func resolveLocalHTTPCredProvider(ctx context.Context, cfg *aws.Config, endpointURL, authToken string, configs configs) error {
var resolveErr error
@@ -232,10 +287,12 @@ func resolveLocalHTTPCredProvider(ctx context.Context, cfg *aws.Config, endpoint
host := parsed.Hostname()
if len(host) == 0 {
resolveErr = fmt.Errorf("unable to parse host from local HTTP cred provider URL")
- } else if isLoopback, loopbackErr := isLoopbackHost(host); loopbackErr != nil {
- resolveErr = fmt.Errorf("failed to resolve host %q, %v", host, loopbackErr)
- } else if !isLoopback {
- resolveErr = fmt.Errorf("invalid endpoint host, %q, only loopback hosts are allowed", host)
+ } else if parsed.Scheme == "http" {
+ if isAllowedHost, allowHostErr := isAllowedHost(host); allowHostErr != nil {
+ resolveErr = fmt.Errorf("failed to resolve host %q, %v", host, allowHostErr)
+ } else if !isAllowedHost {
+ resolveErr = fmt.Errorf("invalid endpoint host, %q, only loopback/ecs/eks hosts are allowed", host)
+ }
}
}
@@ -252,6 +309,16 @@ func resolveHTTPCredProvider(ctx context.Context, cfg *aws.Config, url, authToke
if len(authToken) != 0 {
options.AuthorizationToken = authToken
}
+ if authFilePath := os.Getenv(httpProviderAuthFileEnvVar); authFilePath != "" {
+ options.AuthorizationTokenProvider = endpointcreds.TokenProviderFunc(func() (string, error) {
+ var contents []byte
+ var err error
+ if contents, err = ioutil.ReadFile(authFilePath); err != nil {
+ return "", fmt.Errorf("failed to read authorization token from %v: %v", authFilePath, err)
+ }
+ return string(contents), nil
+ })
+ }
options.APIOptions = cfg.APIOptions
if cfg.Retryer != nil {
options.Retryer = cfg.Retryer()
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/shared_config.go b/vendor/github.com/aws/aws-sdk-go-v2/config/shared_config.go
index 20683bf5..c546cb7d 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/config/shared_config.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/config/shared_config.go
@@ -17,6 +17,7 @@ import (
"github.com/aws/aws-sdk-go-v2/internal/ini"
"github.com/aws/aws-sdk-go-v2/internal/shareddefaults"
"github.com/aws/smithy-go/logging"
+ smithyrequestcompression "github.com/aws/smithy-go/private/requestcompression"
)
const (
@@ -30,7 +31,7 @@ const (
// Prefix for services section. It is referenced in profile via the services
// parameter to configure clients for service-specific parameters.
- servicesPrefix = `services`
+ servicesPrefix = `services `
// string equivalent for boolean
endpointDiscoveryDisabled = `false`
@@ -107,6 +108,13 @@ const (
ignoreConfiguredEndpoints = "ignore_configured_endpoint_urls"
endpointURL = "endpoint_url"
+
+ servicesSectionKey = "services"
+
+ disableRequestCompression = "disable_request_compression"
+ requestMinCompressionSizeBytes = "request_min_compression_size_bytes"
+
+ s3DisableExpressSessionAuthKey = "s3_disable_express_session_auth"
)
// defaultSharedConfigProfile allows for swapping the default profile for testing
@@ -314,8 +322,25 @@ type SharedConfig struct {
// corresponding endpoint resolution field.
BaseEndpoint string
- // Value to contain services section content.
- Services Services
+ // Services section config.
+ ServicesSectionName string
+ Services Services
+
+ // determine if request compression is allowed, default to false
+ // retrieved from config file's profile field disable_request_compression
+ DisableRequestCompression *bool
+
+ // inclusive threshold request body size to trigger compression,
+ // default to 10240 and must be within 0 and 10485760 bytes inclusive
+ // retrieved from config file's profile field request_min_compression_size_bytes
+ RequestMinCompressSizeBytes *int64
+
+ // Whether S3Express auth is disabled.
+ //
+ // This will NOT prevent requests from being made to S3Express buckets, it
+ // will only bypass the modified endpoint routing and signing behaviors
+ // associated with the feature.
+ S3DisableExpressAuth *bool
}
func (c SharedConfig) getDefaultsMode(ctx context.Context) (value aws.DefaultsMode, ok bool, err error) {
@@ -435,6 +460,16 @@ func (c SharedConfig) GetUseFIPSEndpoint(ctx context.Context) (value aws.FIPSEnd
return c.UseFIPSEndpoint, true, nil
}
+// GetS3DisableExpressAuth returns the configured value for
+// [SharedConfig.S3DisableExpressAuth].
+func (c SharedConfig) GetS3DisableExpressAuth() (value, ok bool) {
+ if c.S3DisableExpressAuth == nil {
+ return false, false
+ }
+
+ return *c.S3DisableExpressAuth, true
+}
+
// GetCustomCABundle returns the custom CA bundle's PEM bytes if the file was
func (c SharedConfig) getCustomCABundle(context.Context) (io.Reader, bool, error) {
if len(c.CustomCABundle) == 0 {
@@ -975,14 +1010,11 @@ func (c *SharedConfig) setFromIniSections(profiles map[string]struct{}, profile
c.SSOSession = &ssoSession
}
- for _, sectionName := range sections.List() {
- if strings.HasPrefix(sectionName, servicesPrefix) {
- section, ok := sections.GetSection(sectionName)
- if ok {
- var svcs Services
- svcs.setFromIniSection(section)
- c.Services = svcs
- }
+ if len(c.ServicesSectionName) > 0 {
+ if section, ok := sections.GetSection(servicesPrefix + c.ServicesSectionName); ok {
+ var svcs Services
+ svcs.setFromIniSection(section)
+ c.Services = svcs
}
}
@@ -1054,6 +1086,7 @@ func (c *SharedConfig) setFromIniSection(profile string, section ini.Section) er
updateEndpointDiscoveryType(&c.EnableEndpointDiscovery, section, enableEndpointDiscoveryKey)
updateBoolPtr(&c.S3UseARNRegion, section, s3UseARNRegionKey)
updateBoolPtr(&c.S3DisableMultiRegionAccessPoints, section, s3DisableMultiRegionAccessPointsKey)
+ updateBoolPtr(&c.S3DisableExpressAuth, section, s3DisableExpressSessionAuthKey)
if err := updateEC2MetadataServiceEndpointMode(&c.EC2IMDSEndpointMode, section, ec2MetadataServiceEndpointModeKey); err != nil {
return fmt.Errorf("failed to load %s from shared config, %v", ec2MetadataServiceEndpointModeKey, err)
@@ -1084,6 +1117,13 @@ func (c *SharedConfig) setFromIniSection(profile string, section ini.Section) er
updateString(&c.BaseEndpoint, section, endpointURL)
+ if err := updateDisableRequestCompression(&c.DisableRequestCompression, section, disableRequestCompression); err != nil {
+ return fmt.Errorf("failed to load %s from shared config, %w", disableRequestCompression, err)
+ }
+ if err := updateRequestMinCompressSizeBytes(&c.RequestMinCompressSizeBytes, section, requestMinCompressionSizeBytes); err != nil {
+ return fmt.Errorf("failed to load %s from shared config, %w", requestMinCompressionSizeBytes, err)
+ }
+
// Shared Credentials
creds := aws.Credentials{
AccessKeyID: section.String(accessKeyIDKey),
@@ -1096,9 +1136,61 @@ func (c *SharedConfig) setFromIniSection(profile string, section ini.Section) er
c.Credentials = creds
}
+ updateString(&c.ServicesSectionName, section, servicesSectionKey)
+
return nil
}
+func updateRequestMinCompressSizeBytes(bytes **int64, sec ini.Section, key string) error {
+ if !sec.Has(key) {
+ return nil
+ }
+
+ v, ok := sec.Int(key)
+ if !ok {
+ return fmt.Errorf("invalid value for min request compression size bytes %s, need int64", sec.String(key))
+ }
+ if v < 0 || v > smithyrequestcompression.MaxRequestMinCompressSizeBytes {
+ return fmt.Errorf("invalid range for min request compression size bytes %d, must be within 0 and 10485760 inclusively", v)
+ }
+ *bytes = new(int64)
+ **bytes = v
+ return nil
+}
+
+func updateDisableRequestCompression(disable **bool, sec ini.Section, key string) error {
+ if !sec.Has(key) {
+ return nil
+ }
+
+ v := sec.String(key)
+ switch {
+ case v == "true":
+ *disable = new(bool)
+ **disable = true
+ case v == "false":
+ *disable = new(bool)
+ **disable = false
+ default:
+ return fmt.Errorf("invalid value for shared config profile field, %s=%s, need true or false", key, v)
+ }
+ return nil
+}
+
+func (c SharedConfig) getRequestMinCompressSizeBytes(ctx context.Context) (int64, bool, error) {
+ if c.RequestMinCompressSizeBytes == nil {
+ return 0, false, nil
+ }
+ return *c.RequestMinCompressSizeBytes, true, nil
+}
+
+func (c SharedConfig) getDisableRequestCompression(ctx context.Context) (bool, bool, error) {
+ if c.DisableRequestCompression == nil {
+ return false, false, nil
+ }
+ return *c.DisableRequestCompression, true, nil
+}
+
func updateDefaultsMode(mode *aws.DefaultsMode, section ini.Section, key string) error {
if !section.Has(key) {
return nil
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md
index 6c3ca467..82c87c36 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md
@@ -1,3 +1,67 @@
+# v1.16.14 (2024-01-04)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.13 (2023-12-20)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.12 (2023-12-08)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.11 (2023-12-07)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.10 (2023-12-06)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.9 (2023-12-01)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.8 (2023-11-30)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.7 (2023-11-29)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.6 (2023-11-28.2)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.5 (2023-11-28)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.4 (2023-11-21)
+
+* **Bug Fix**: Don't expect error responses to have a JSON payload in the endpointcreds provider.
+
+# v1.16.3 (2023-11-20)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.2 (2023-11-17)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.1 (2023-11-15)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.0 (2023-11-14)
+
+* **Feature**: Add support for dynamic auth token from file and EKS container host in absolute/relative URIs in the HTTP credential provider.
+
+# v1.15.2 (2023-11-09)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
# v1.15.1 (2023-11-02)
* **Dependency Update**: Updated to the latest SDK module versions
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/auth.go b/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/auth.go
new file mode 100644
index 00000000..c3f5dadc
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/auth.go
@@ -0,0 +1,48 @@
+package client
+
+import (
+ "context"
+ "github.com/aws/smithy-go/middleware"
+)
+
+type getIdentityMiddleware struct {
+ options Options
+}
+
+func (*getIdentityMiddleware) ID() string {
+ return "GetIdentity"
+}
+
+func (m *getIdentityMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ return next.HandleFinalize(ctx, in)
+}
+
+type signRequestMiddleware struct {
+}
+
+func (*signRequestMiddleware) ID() string {
+ return "Signing"
+}
+
+func (m *signRequestMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ return next.HandleFinalize(ctx, in)
+}
+
+type resolveAuthSchemeMiddleware struct {
+ operation string
+ options Options
+}
+
+func (*resolveAuthSchemeMiddleware) ID() string {
+ return "ResolveAuthScheme"
+}
+
+func (m *resolveAuthSchemeMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ return next.HandleFinalize(ctx, in)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/client.go b/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/client.go
index 60b8298f..9a869f89 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/client.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/client.go
@@ -62,7 +62,16 @@ func New(options Options, optFns ...func(*Options)) *Client {
}
if options.Retryer == nil {
- options.Retryer = retry.NewStandard()
+ // Amazon-owned implementations of this endpoint are known to sometimes
+ // return plaintext responses (i.e. no Code) like normal, add a few
+ // additional status codes
+ options.Retryer = retry.NewStandard(func(o *retry.StandardOptions) {
+ o.Retryables = append(o.Retryables, retry.RetryableHTTPStatusCode{
+ Codes: map[int]struct{}{
+ http.StatusTooManyRequests: {},
+ },
+ })
+ })
}
for _, fn := range optFns {
@@ -92,6 +101,7 @@ func (c *Client) GetCredentials(ctx context.Context, params *GetCredentialsInput
stack.Serialize.Add(&serializeOpGetCredential{}, smithymiddleware.After)
stack.Build.Add(&buildEndpoint{Endpoint: options.Endpoint}, smithymiddleware.After)
stack.Deserialize.Add(&deserializeOpGetCredential{}, smithymiddleware.After)
+ addProtocolFinalizerMiddlewares(stack, options, "GetCredentials")
retry.AddRetryMiddlewares(stack, retry.AddRetryMiddlewaresOptions{Retryer: options.Retryer})
middleware.AddSDKAgentKey(middleware.FeatureMetadata, ServiceID)
smithyhttp.AddErrorCloseResponseBodyMiddleware(stack)
@@ -122,9 +132,10 @@ type GetCredentialsOutput struct {
// EndpointError is an error returned from the endpoint service
type EndpointError struct {
- Code string `json:"code"`
- Message string `json:"message"`
- Fault smithy.ErrorFault `json:"-"`
+ Code string `json:"code"`
+ Message string `json:"message"`
+ Fault smithy.ErrorFault `json:"-"`
+ statusCode int `json:"-"`
}
// Error is the error mesage string
@@ -146,3 +157,8 @@ func (e *EndpointError) ErrorMessage() string {
func (e *EndpointError) ErrorFault() smithy.ErrorFault {
return e.Fault
}
+
+// HTTPStatusCode implements retry.HTTPStatusCode.
+func (e *EndpointError) HTTPStatusCode() int {
+ return e.statusCode
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/endpoints.go b/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/endpoints.go
new file mode 100644
index 00000000..748ee672
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/endpoints.go
@@ -0,0 +1,20 @@
+package client
+
+import (
+ "context"
+ "github.com/aws/smithy-go/middleware"
+)
+
+type resolveEndpointV2Middleware struct {
+ options Options
+}
+
+func (*resolveEndpointV2Middleware) ID() string {
+ return "ResolveEndpointV2"
+}
+
+func (m *resolveEndpointV2Middleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ return next.HandleFinalize(ctx, in)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/middleware.go b/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/middleware.go
index 40747a53..f2820d20 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/middleware.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client/middleware.go
@@ -4,6 +4,7 @@ import (
"context"
"encoding/json"
"fmt"
+ "io"
"net/url"
"github.com/aws/smithy-go"
@@ -104,17 +105,60 @@ func (d *deserializeOpGetCredential) HandleDeserialize(ctx context.Context, in s
}
func deserializeError(response *smithyhttp.Response) error {
- var errShape *EndpointError
- err := json.NewDecoder(response.Body).Decode(&errShape)
+ // we could be talking to anything, json isn't guaranteed
+ // see https://github.com/aws/aws-sdk-go-v2/issues/2316
+ if response.Header.Get("Content-Type") == "application/json" {
+ return deserializeJSONError(response)
+ }
+
+ msg, err := io.ReadAll(response.Body)
if err != nil {
- return &smithy.DeserializationError{Err: fmt.Errorf("failed to decode error message, %w", err)}
+ return &smithy.DeserializationError{
+ Err: fmt.Errorf("read response, %w", err),
+ }
+ }
+
+ return &EndpointError{
+ // no sensible value for Code
+ Message: string(msg),
+ Fault: stof(response.StatusCode),
+ statusCode: response.StatusCode,
}
+}
- if response.StatusCode >= 500 {
- errShape.Fault = smithy.FaultServer
- } else {
- errShape.Fault = smithy.FaultClient
+func deserializeJSONError(response *smithyhttp.Response) error {
+ var errShape *EndpointError
+ if err := json.NewDecoder(response.Body).Decode(&errShape); err != nil {
+ return &smithy.DeserializationError{
+ Err: fmt.Errorf("failed to decode error message, %w", err),
+ }
}
+ errShape.Fault = stof(response.StatusCode)
+ errShape.statusCode = response.StatusCode
return errShape
}
+
+// maps HTTP status code to smithy ErrorFault
+func stof(code int) smithy.ErrorFault {
+ if code >= 500 {
+ return smithy.FaultServer
+ }
+ return smithy.FaultClient
+}
+
+func addProtocolFinalizerMiddlewares(stack *smithymiddleware.Stack, options Options, operation string) error {
+ if err := stack.Finalize.Add(&resolveAuthSchemeMiddleware{operation: operation, options: options}, smithymiddleware.Before); err != nil {
+ return fmt.Errorf("add ResolveAuthScheme: %w", err)
+ }
+ if err := stack.Finalize.Insert(&getIdentityMiddleware{options: options}, "ResolveAuthScheme", smithymiddleware.After); err != nil {
+ return fmt.Errorf("add GetIdentity: %w", err)
+ }
+ if err := stack.Finalize.Insert(&resolveEndpointV2Middleware{options: options}, "GetIdentity", smithymiddleware.After); err != nil {
+ return fmt.Errorf("add ResolveEndpointV2: %w", err)
+ }
+ if err := stack.Finalize.Insert(&signRequestMiddleware{}, "ResolveEndpointV2", smithymiddleware.After); err != nil {
+ return fmt.Errorf("add Signing: %w", err)
+ }
+ return nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/provider.go b/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/provider.go
index adc7fc6b..0c3c4d68 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/provider.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/provider.go
@@ -36,6 +36,7 @@ import (
"context"
"fmt"
"net/http"
+ "strings"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client"
@@ -81,7 +82,37 @@ type Options struct {
// Optional authorization token value if set will be used as the value of
// the Authorization header of the endpoint credential request.
+ //
+ // When constructed from environment, the provider will use the value of
+ // AWS_CONTAINER_AUTHORIZATION_TOKEN environment variable as the token
+ //
+ // Will be overridden if AuthorizationTokenProvider is configured
AuthorizationToken string
+
+ // Optional auth provider func to dynamically load the auth token from a file
+ // everytime a credential is retrieved
+ //
+ // When constructed from environment, the provider will read and use the content
+ // of the file pointed to by AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE environment variable
+ // as the auth token everytime credentials are retrieved
+ //
+ // Will override AuthorizationToken if configured
+ AuthorizationTokenProvider AuthTokenProvider
+}
+
+// AuthTokenProvider defines an interface to dynamically load a value to be passed
+// for the Authorization header of a credentials request.
+type AuthTokenProvider interface {
+ GetToken() (string, error)
+}
+
+// TokenProviderFunc is a func type implementing AuthTokenProvider interface
+// and enables customizing token provider behavior
+type TokenProviderFunc func() (string, error)
+
+// GetToken func retrieves auth token according to TokenProviderFunc implementation
+func (p TokenProviderFunc) GetToken() (string, error) {
+ return p()
}
// New returns a credentials Provider for retrieving AWS credentials
@@ -132,5 +163,30 @@ func (p *Provider) Retrieve(ctx context.Context) (aws.Credentials, error) {
}
func (p *Provider) getCredentials(ctx context.Context) (*client.GetCredentialsOutput, error) {
- return p.client.GetCredentials(ctx, &client.GetCredentialsInput{AuthorizationToken: p.options.AuthorizationToken})
+ authToken, err := p.resolveAuthToken()
+ if err != nil {
+ return nil, fmt.Errorf("resolve auth token: %v", err)
+ }
+
+ return p.client.GetCredentials(ctx, &client.GetCredentialsInput{
+ AuthorizationToken: authToken,
+ })
+}
+
+func (p *Provider) resolveAuthToken() (string, error) {
+ authToken := p.options.AuthorizationToken
+
+ var err error
+ if p.options.AuthorizationTokenProvider != nil {
+ authToken, err = p.options.AuthorizationTokenProvider.GetToken()
+ if err != nil {
+ return "", err
+ }
+ }
+
+ if strings.ContainsAny(authToken, "\r\n") {
+ return "", fmt.Errorf("authorization token contains invalid newline sequence")
+ }
+
+ return authToken, nil
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go
index e6cba9dc..74074d0b 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go
@@ -3,4 +3,4 @@
package credentials
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.15.1"
+const goModuleVersion = "1.16.14"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/doc.go b/vendor/github.com/aws/aws-sdk-go-v2/doc.go
deleted file mode 100644
index 944feac5..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/doc.go
+++ /dev/null
@@ -1,58 +0,0 @@
-// Package sdk is the official AWS SDK v2 for the Go programming language.
-//
-// aws-sdk-go-v2 is the the v2 of the AWS SDK for the Go programming language.
-//
-// # Getting started
-//
-// The best way to get started working with the SDK is to use `go get` to add the
-// SDK and desired service clients to your Go dependencies explicitly.
-//
-// go get github.com/aws/aws-sdk-go-v2
-// go get github.com/aws/aws-sdk-go-v2/config
-// go get github.com/aws/aws-sdk-go-v2/service/dynamodb
-//
-// # Hello AWS
-//
-// This example shows how you can use the v2 SDK to make an API request using the
-// SDK's Amazon DynamoDB client.
-//
-// package main
-//
-// import (
-// "context"
-// "fmt"
-// "log"
-//
-// "github.com/aws/aws-sdk-go-v2/aws"
-// "github.com/aws/aws-sdk-go-v2/config"
-// "github.com/aws/aws-sdk-go-v2/service/dynamodb"
-// )
-//
-// func main() {
-// // Using the SDK's default configuration, loading additional config
-// // and credentials values from the environment variables, shared
-// // credentials, and shared configuration files
-// cfg, err := config.LoadDefaultConfig(context.TODO(),
-// config.WithRegion("us-west-2"),
-// )
-// if err != nil {
-// log.Fatalf("unable to load SDK config, %v", err)
-// }
-//
-// // Using the Config value, create the DynamoDB client
-// svc := dynamodb.NewFromConfig(cfg)
-//
-// // Build the request with its input parameters
-// resp, err := svc.ListTables(context.TODO(), &dynamodb.ListTablesInput{
-// Limit: aws.Int32(5),
-// })
-// if err != nil {
-// log.Fatalf("failed to list tables, %v", err)
-// }
-//
-// fmt.Println("Tables:")
-// for _, tableName := range resp.TableNames {
-// fmt.Println(tableName)
-// }
-// }
-package sdk
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md
index ba06fb19..40c317a9 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md
@@ -1,3 +1,39 @@
+# v1.14.11 (2024-01-04)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.14.10 (2023-12-07)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.14.9 (2023-12-01)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.14.8 (2023-11-30)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.14.7 (2023-11-29)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.14.6 (2023-11-28.2)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.14.5 (2023-11-20)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.14.4 (2023-11-15)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.14.3 (2023-11-09)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
# v1.14.2 (2023-11-02)
* No change notes available for this release.
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetDynamicData.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetDynamicData.go
index 9e3bdb0e..af58b6bb 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetDynamicData.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetDynamicData.go
@@ -56,6 +56,7 @@ type GetDynamicDataOutput struct {
func addGetDynamicDataMiddleware(stack *middleware.Stack, options Options) error {
return addAPIRequestMiddleware(stack,
options,
+ "GetDynamicData",
buildGetDynamicDataPath,
buildGetDynamicDataOutput)
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetIAMInfo.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetIAMInfo.go
index 24845dcc..5111cc90 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetIAMInfo.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetIAMInfo.go
@@ -53,6 +53,7 @@ type GetIAMInfoOutput struct {
func addGetIAMInfoMiddleware(stack *middleware.Stack, options Options) error {
return addAPIRequestMiddleware(stack,
options,
+ "GetIAMInfo",
buildGetIAMInfoPath,
buildGetIAMInfoOutput,
)
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetInstanceIdentityDocument.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetInstanceIdentityDocument.go
index a87758ed..dc8c09ed 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetInstanceIdentityDocument.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetInstanceIdentityDocument.go
@@ -54,6 +54,7 @@ type GetInstanceIdentityDocumentOutput struct {
func addGetInstanceIdentityDocumentMiddleware(stack *middleware.Stack, options Options) error {
return addAPIRequestMiddleware(stack,
options,
+ "GetInstanceIdentityDocument",
buildGetInstanceIdentityDocumentPath,
buildGetInstanceIdentityDocumentOutput,
)
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetMetadata.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetMetadata.go
index cb0ce4c0..869bfc9f 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetMetadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetMetadata.go
@@ -56,6 +56,7 @@ type GetMetadataOutput struct {
func addGetMetadataMiddleware(stack *middleware.Stack, options Options) error {
return addAPIRequestMiddleware(stack,
options,
+ "GetMetadata",
buildGetMetadataPath,
buildGetMetadataOutput)
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetRegion.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetRegion.go
index 7b9b4891..8c0572bb 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetRegion.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetRegion.go
@@ -45,6 +45,7 @@ type GetRegionOutput struct {
func addGetRegionMiddleware(stack *middleware.Stack, options Options) error {
return addAPIRequestMiddleware(stack,
options,
+ "GetRegion",
buildGetInstanceIdentityDocumentPath,
buildGetRegionOutput,
)
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetToken.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetToken.go
index 841f802c..1f9ee97a 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetToken.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetToken.go
@@ -49,6 +49,7 @@ func addGetTokenMiddleware(stack *middleware.Stack, options Options) error {
err := addRequestMiddleware(stack,
options,
"PUT",
+ "GetToken",
buildGetTokenPath,
buildGetTokenOutput)
if err != nil {
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetUserData.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetUserData.go
index 88aa61e9..89036972 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetUserData.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/api_op_GetUserData.go
@@ -45,6 +45,7 @@ type GetUserDataOutput struct {
func addGetUserDataMiddleware(stack *middleware.Stack, options Options) error {
return addAPIRequestMiddleware(stack,
options,
+ "GetUserData",
buildGetUserDataPath,
buildGetUserDataOutput)
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/auth.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/auth.go
new file mode 100644
index 00000000..ad283cf8
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/auth.go
@@ -0,0 +1,48 @@
+package imds
+
+import (
+ "context"
+ "github.com/aws/smithy-go/middleware"
+)
+
+type getIdentityMiddleware struct {
+ options Options
+}
+
+func (*getIdentityMiddleware) ID() string {
+ return "GetIdentity"
+}
+
+func (m *getIdentityMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ return next.HandleFinalize(ctx, in)
+}
+
+type signRequestMiddleware struct {
+}
+
+func (*signRequestMiddleware) ID() string {
+ return "Signing"
+}
+
+func (m *signRequestMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ return next.HandleFinalize(ctx, in)
+}
+
+type resolveAuthSchemeMiddleware struct {
+ operation string
+ options Options
+}
+
+func (*resolveAuthSchemeMiddleware) ID() string {
+ return "ResolveAuthScheme"
+}
+
+func (m *resolveAuthSchemeMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ return next.HandleFinalize(ctx, in)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/endpoints.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/endpoints.go
new file mode 100644
index 00000000..d7540da3
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/endpoints.go
@@ -0,0 +1,20 @@
+package imds
+
+import (
+ "context"
+ "github.com/aws/smithy-go/middleware"
+)
+
+type resolveEndpointV2Middleware struct {
+ options Options
+}
+
+func (*resolveEndpointV2Middleware) ID() string {
+ return "ResolveEndpointV2"
+}
+
+func (m *resolveEndpointV2Middleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ return next.HandleFinalize(ctx, in)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go
index 36432a4f..0d747b21 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go
@@ -3,4 +3,4 @@
package imds
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.14.2"
+const goModuleVersion = "1.14.11"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/request_middleware.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/request_middleware.go
index c8abd649..fc948c27 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/request_middleware.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/request_middleware.go
@@ -17,10 +17,11 @@ import (
func addAPIRequestMiddleware(stack *middleware.Stack,
options Options,
+ operation string,
getPath func(interface{}) (string, error),
getOutput func(*smithyhttp.Response) (interface{}, error),
) (err error) {
- err = addRequestMiddleware(stack, options, "GET", getPath, getOutput)
+ err = addRequestMiddleware(stack, options, "GET", operation, getPath, getOutput)
if err != nil {
return err
}
@@ -44,6 +45,7 @@ func addAPIRequestMiddleware(stack *middleware.Stack,
func addRequestMiddleware(stack *middleware.Stack,
options Options,
method string,
+ operation string,
getPath func(interface{}) (string, error),
getOutput func(*smithyhttp.Response) (interface{}, error),
) (err error) {
@@ -101,6 +103,10 @@ func addRequestMiddleware(stack *middleware.Stack,
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, operation); err != nil {
+ return fmt.Errorf("add protocol finalizers: %w", err)
+ }
+
// Retry support
return retry.AddRetryMiddlewares(stack, retry.AddRetryMiddlewaresOptions{
Retryer: options.Retryer,
@@ -283,3 +289,19 @@ func appendURIPath(base, add string) string {
}
return reqPath
}
+
+func addProtocolFinalizerMiddlewares(stack *middleware.Stack, options Options, operation string) error {
+ if err := stack.Finalize.Add(&resolveAuthSchemeMiddleware{operation: operation, options: options}, middleware.Before); err != nil {
+ return fmt.Errorf("add ResolveAuthScheme: %w", err)
+ }
+ if err := stack.Finalize.Insert(&getIdentityMiddleware{options: options}, "ResolveAuthScheme", middleware.After); err != nil {
+ return fmt.Errorf("add GetIdentity: %w", err)
+ }
+ if err := stack.Finalize.Insert(&resolveEndpointV2Middleware{options: options}, "GetIdentity", middleware.After); err != nil {
+ return fmt.Errorf("add ResolveEndpointV2: %w", err)
+ }
+ if err := stack.Finalize.Insert(&signRequestMiddleware{}, "ResolveEndpointV2", middleware.After); err != nil {
+ return fmt.Errorf("add Signing: %w", err)
+ }
+ return nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/auth.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/auth.go
new file mode 100644
index 00000000..0b81db54
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/auth.go
@@ -0,0 +1,45 @@
+package auth
+
+import (
+ "github.com/aws/smithy-go/auth"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+)
+
+// HTTPAuthScheme is the SDK's internal implementation of smithyhttp.AuthScheme
+// for pre-existing implementations where the signer was added to client
+// config. SDK clients will key off of this type and ensure per-operation
+// updates to those signers persist on the scheme itself.
+type HTTPAuthScheme struct {
+ schemeID string
+ signer smithyhttp.Signer
+}
+
+var _ smithyhttp.AuthScheme = (*HTTPAuthScheme)(nil)
+
+// NewHTTPAuthScheme returns an auth scheme instance with the given config.
+func NewHTTPAuthScheme(schemeID string, signer smithyhttp.Signer) *HTTPAuthScheme {
+ return &HTTPAuthScheme{
+ schemeID: schemeID,
+ signer: signer,
+ }
+}
+
+// SchemeID identifies the auth scheme.
+func (s *HTTPAuthScheme) SchemeID() string {
+ return s.schemeID
+}
+
+// IdentityResolver gets the identity resolver for the auth scheme.
+func (s *HTTPAuthScheme) IdentityResolver(o auth.IdentityResolverOptions) auth.IdentityResolver {
+ return o.GetIdentityResolver(s.schemeID)
+}
+
+// Signer gets the signer for the auth scheme.
+func (s *HTTPAuthScheme) Signer() smithyhttp.Signer {
+ return s.signer
+}
+
+// WithSigner returns a new instance of the auth scheme with the updated signer.
+func (s *HTTPAuthScheme) WithSigner(signer smithyhttp.Signer) *HTTPAuthScheme {
+ return NewHTTPAuthScheme(s.schemeID, signer)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/scheme.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/scheme.go
index ff229c04..bbc2ec06 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/scheme.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/scheme.go
@@ -16,6 +16,9 @@ const SigV4 = "sigv4"
// Authentication Scheme Signature Version 4A
const SigV4A = "sigv4a"
+// SigV4S3Express identifies the S3 S3Express auth scheme.
+const SigV4S3Express = "sigv4-s3express"
+
// None is a constant representing the
// None Authentication Scheme
const None = "none"
@@ -24,9 +27,10 @@ const None = "none"
// that indicates the list of supported AWS
// authentication schemes
var SupportedSchemes = map[string]bool{
- SigV4: true,
- SigV4A: true,
- None: true,
+ SigV4: true,
+ SigV4A: true,
+ SigV4S3Express: true,
+ None: true,
}
// AuthenticationScheme is a representation of
@@ -93,10 +97,11 @@ func GetAuthenticationSchemes(p *smithy.Properties) ([]AuthenticationScheme, err
for _, scheme := range authSchemes {
authScheme, _ := scheme.(map[string]interface{})
- switch authScheme["name"] {
- case SigV4:
+ version := authScheme["name"].(string)
+ switch version {
+ case SigV4, SigV4S3Express:
v4Scheme := AuthenticationSchemeV4{
- Name: SigV4,
+ Name: version,
SigningName: getSigningName(authScheme),
SigningRegion: getSigningRegion(authScheme),
DisableDoubleEncoding: getDisableDoubleEncoding(authScheme),
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/bearer_token_adapter.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/bearer_token_adapter.go
new file mode 100644
index 00000000..f059b5d3
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/bearer_token_adapter.go
@@ -0,0 +1,43 @@
+package smithy
+
+import (
+ "context"
+ "fmt"
+ "time"
+
+ "github.com/aws/smithy-go"
+ "github.com/aws/smithy-go/auth"
+ "github.com/aws/smithy-go/auth/bearer"
+)
+
+// BearerTokenAdapter adapts smithy bearer.Token to smithy auth.Identity.
+type BearerTokenAdapter struct {
+ Token bearer.Token
+}
+
+var _ auth.Identity = (*BearerTokenAdapter)(nil)
+
+// Expiration returns the time of expiration for the token.
+func (v *BearerTokenAdapter) Expiration() time.Time {
+ return v.Token.Expires
+}
+
+// BearerTokenProviderAdapter adapts smithy bearer.TokenProvider to smithy
+// auth.IdentityResolver.
+type BearerTokenProviderAdapter struct {
+ Provider bearer.TokenProvider
+}
+
+var _ (auth.IdentityResolver) = (*BearerTokenProviderAdapter)(nil)
+
+// GetIdentity retrieves a bearer token using the underlying provider.
+func (v *BearerTokenProviderAdapter) GetIdentity(ctx context.Context, _ smithy.Properties) (
+ auth.Identity, error,
+) {
+ token, err := v.Provider.RetrieveBearerToken(ctx)
+ if err != nil {
+ return nil, fmt.Errorf("get token: %w", err)
+ }
+
+ return &BearerTokenAdapter{Token: token}, nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/bearer_token_signer_adapter.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/bearer_token_signer_adapter.go
new file mode 100644
index 00000000..a8828152
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/bearer_token_signer_adapter.go
@@ -0,0 +1,35 @@
+package smithy
+
+import (
+ "context"
+ "fmt"
+
+ "github.com/aws/smithy-go"
+ "github.com/aws/smithy-go/auth"
+ "github.com/aws/smithy-go/auth/bearer"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+)
+
+// BearerTokenSignerAdapter adapts smithy bearer.Signer to smithy http
+// auth.Signer.
+type BearerTokenSignerAdapter struct {
+ Signer bearer.Signer
+}
+
+var _ (smithyhttp.Signer) = (*BearerTokenSignerAdapter)(nil)
+
+// SignRequest signs the request with the provided bearer token.
+func (v *BearerTokenSignerAdapter) SignRequest(ctx context.Context, r *smithyhttp.Request, identity auth.Identity, _ smithy.Properties) error {
+ ca, ok := identity.(*BearerTokenAdapter)
+ if !ok {
+ return fmt.Errorf("unexpected identity type: %T", identity)
+ }
+
+ signed, err := v.Signer.SignWithBearerToken(ctx, ca.Token, r)
+ if err != nil {
+ return fmt.Errorf("sign request: %w", err)
+ }
+
+ *r = *signed.(*smithyhttp.Request)
+ return nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/credentials_adapter.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/credentials_adapter.go
new file mode 100644
index 00000000..f926c4aa
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/credentials_adapter.go
@@ -0,0 +1,46 @@
+package smithy
+
+import (
+ "context"
+ "fmt"
+ "time"
+
+ "github.com/aws/aws-sdk-go-v2/aws"
+ "github.com/aws/smithy-go"
+ "github.com/aws/smithy-go/auth"
+)
+
+// CredentialsAdapter adapts aws.Credentials to auth.Identity.
+type CredentialsAdapter struct {
+ Credentials aws.Credentials
+}
+
+var _ auth.Identity = (*CredentialsAdapter)(nil)
+
+// Expiration returns the time of expiration for the credentials.
+func (v *CredentialsAdapter) Expiration() time.Time {
+ return v.Credentials.Expires
+}
+
+// CredentialsProviderAdapter adapts aws.CredentialsProvider to auth.IdentityResolver.
+type CredentialsProviderAdapter struct {
+ Provider aws.CredentialsProvider
+}
+
+var _ (auth.IdentityResolver) = (*CredentialsProviderAdapter)(nil)
+
+// GetIdentity retrieves AWS credentials using the underlying provider.
+func (v *CredentialsProviderAdapter) GetIdentity(ctx context.Context, _ smithy.Properties) (
+ auth.Identity, error,
+) {
+ if v.Provider == nil {
+ return &CredentialsAdapter{Credentials: aws.Credentials{}}, nil
+ }
+
+ creds, err := v.Provider.Retrieve(ctx)
+ if err != nil {
+ return nil, fmt.Errorf("get credentials: %w", err)
+ }
+
+ return &CredentialsAdapter{Credentials: creds}, nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/smithy.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/smithy.go
new file mode 100644
index 00000000..42b45867
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/smithy.go
@@ -0,0 +1,2 @@
+// Package smithy adapts concrete AWS auth and signing types to the generic smithy versions.
+package smithy
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/v4signer_adapter.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/v4signer_adapter.go
new file mode 100644
index 00000000..0c5a2d40
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/auth/smithy/v4signer_adapter.go
@@ -0,0 +1,53 @@
+package smithy
+
+import (
+ "context"
+ "fmt"
+
+ v4 "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
+ "github.com/aws/aws-sdk-go-v2/internal/sdk"
+ "github.com/aws/smithy-go"
+ "github.com/aws/smithy-go/auth"
+ "github.com/aws/smithy-go/logging"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+)
+
+// V4SignerAdapter adapts v4.HTTPSigner to smithy http.Signer.
+type V4SignerAdapter struct {
+ Signer v4.HTTPSigner
+ Logger logging.Logger
+ LogSigning bool
+}
+
+var _ (smithyhttp.Signer) = (*V4SignerAdapter)(nil)
+
+// SignRequest signs the request with the provided identity.
+func (v *V4SignerAdapter) SignRequest(ctx context.Context, r *smithyhttp.Request, identity auth.Identity, props smithy.Properties) error {
+ ca, ok := identity.(*CredentialsAdapter)
+ if !ok {
+ return fmt.Errorf("unexpected identity type: %T", identity)
+ }
+
+ name, ok := smithyhttp.GetSigV4SigningName(&props)
+ if !ok {
+ return fmt.Errorf("sigv4 signing name is required")
+ }
+
+ region, ok := smithyhttp.GetSigV4SigningRegion(&props)
+ if !ok {
+ return fmt.Errorf("sigv4 signing region is required")
+ }
+
+ hash := v4.GetPayloadHash(ctx)
+ err := v.Signer.SignHTTP(ctx, ca.Credentials, r.Request, hash, name, region, sdk.NowTime(), func(o *v4.SignerOptions) {
+ o.DisableURIPathEscaping, _ = smithyhttp.GetDisableDoubleEncoding(&props)
+
+ o.Logger = v.Logger
+ o.LogSigning = v.LogSigning
+ })
+ if err != nil {
+ return fmt.Errorf("sign http: %w", err)
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md
index e26f211e..dc87ec41 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md
@@ -1,3 +1,39 @@
+# v1.2.10 (2024-01-04)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.9 (2023-12-07)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.8 (2023-12-01)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.7 (2023-11-30)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.6 (2023-11-29)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.5 (2023-11-28.2)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.4 (2023-11-20)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.3 (2023-11-15)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.2 (2023-11-09)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
# v1.2.1 (2023-11-01)
* **Dependency Update**: Updated to the latest SDK module versions
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go
index 7766ee91..41ee0bfb 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go
@@ -3,4 +3,4 @@
package configsources
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.2.1"
+const goModuleVersion = "1.2.10"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/context/context.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/context/context.go
new file mode 100644
index 00000000..15bf1047
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/context/context.go
@@ -0,0 +1,39 @@
+package context
+
+import (
+ "context"
+
+ "github.com/aws/smithy-go/middleware"
+)
+
+type s3BackendKey struct{}
+type checksumInputAlgorithmKey struct{}
+
+const (
+ // S3BackendS3Express identifies the S3Express backend
+ S3BackendS3Express = "S3Express"
+)
+
+// SetS3Backend stores the resolved endpoint backend within the request
+// context, which is required for a variety of custom S3 behaviors.
+func SetS3Backend(ctx context.Context, typ string) context.Context {
+ return middleware.WithStackValue(ctx, s3BackendKey{}, typ)
+}
+
+// GetS3Backend retrieves the stored endpoint backend within the context.
+func GetS3Backend(ctx context.Context) string {
+ v, _ := middleware.GetStackValue(ctx, s3BackendKey{}).(string)
+ return v
+}
+
+// SetChecksumInputAlgorithm sets the request checksum algorithm on the
+// context.
+func SetChecksumInputAlgorithm(ctx context.Context, value string) context.Context {
+ return middleware.WithStackValue(ctx, checksumInputAlgorithmKey{}, value)
+}
+
+// GetChecksumInputAlgorithm returns the checksum algorithm from the context.
+func GetChecksumInputAlgorithm(ctx context.Context) string {
+ v, _ := middleware.GetStackValue(ctx, checksumInputAlgorithmKey{}).(string)
+ return v
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.go
index 7ea49d4e..849beffd 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.go
@@ -11,7 +11,7 @@ func GetPartition(region string) *PartitionConfig {
var partitions = []Partition{
{
ID: "aws",
- RegionRegex: "^(us|eu|ap|sa|ca|me|af)\\-\\w+\\-\\d+$",
+ RegionRegex: "^(us|eu|ap|sa|ca|me|af|il)\\-\\w+\\-\\d+$",
DefaultConfig: PartitionConfig{
Name: "aws",
DnsSuffix: "amazonaws.com",
@@ -90,6 +90,13 @@ var partitions = []Partition{
SupportsFIPS: nil,
SupportsDualStack: nil,
},
+ "ap-southeast-4": {
+ Name: nil,
+ DnsSuffix: nil,
+ DualStackDnsSuffix: nil,
+ SupportsFIPS: nil,
+ SupportsDualStack: nil,
+ },
"aws-global": {
Name: nil,
DnsSuffix: nil,
@@ -160,6 +167,13 @@ var partitions = []Partition{
SupportsFIPS: nil,
SupportsDualStack: nil,
},
+ "il-central-1": {
+ Name: nil,
+ DnsSuffix: nil,
+ DualStackDnsSuffix: nil,
+ SupportsFIPS: nil,
+ SupportsDualStack: nil,
+ },
"me-central-1": {
Name: nil,
DnsSuffix: nil,
@@ -340,4 +354,28 @@ var partitions = []Partition{
},
},
},
+ {
+ ID: "aws-iso-e",
+ RegionRegex: "^eu\\-isoe\\-\\w+\\-\\d+$",
+ DefaultConfig: PartitionConfig{
+ Name: "aws-iso-e",
+ DnsSuffix: "cloud.adc-e.uk",
+ DualStackDnsSuffix: "cloud.adc-e.uk",
+ SupportsFIPS: true,
+ SupportsDualStack: false,
+ },
+ Regions: map[string]RegionOverrides{},
+ },
+ {
+ ID: "aws-iso-f",
+ RegionRegex: "^us\\-isof\\-\\w+\\-\\d+$",
+ DefaultConfig: PartitionConfig{
+ Name: "aws-iso-f",
+ DnsSuffix: "csp.hci.ic.gov",
+ DualStackDnsSuffix: "csp.hci.ic.gov",
+ SupportsFIPS: true,
+ SupportsDualStack: false,
+ },
+ Regions: map[string]RegionOverrides{},
+ },
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.json b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.json
index ab107ca5..f376f690 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.json
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn/partitions.json
@@ -50,6 +50,9 @@
"ca-central-1" : {
"description" : "Canada (Central)"
},
+ "ca-west-1" : {
+ "description" : "Canada West (Calgary)"
+ },
"eu-central-1" : {
"description" : "Europe (Frankfurt)"
},
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/endpoints.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/endpoints.go
new file mode 100644
index 00000000..67950ca3
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/endpoints.go
@@ -0,0 +1,201 @@
+package endpoints
+
+import (
+ "fmt"
+ "regexp"
+ "strings"
+
+ "github.com/aws/aws-sdk-go-v2/aws"
+)
+
+const (
+ defaultProtocol = "https"
+ defaultSigner = "v4"
+)
+
+var (
+ protocolPriority = []string{"https", "http"}
+ signerPriority = []string{"v4"}
+)
+
+// Options provide configuration needed to direct how endpoints are resolved.
+type Options struct {
+ // Disable usage of HTTPS (TLS / SSL)
+ DisableHTTPS bool
+}
+
+// Partitions is a slice of partition
+type Partitions []Partition
+
+// ResolveEndpoint resolves a service endpoint for the given region and options.
+func (ps Partitions) ResolveEndpoint(region string, opts Options) (aws.Endpoint, error) {
+ if len(ps) == 0 {
+ return aws.Endpoint{}, fmt.Errorf("no partitions found")
+ }
+
+ for i := 0; i < len(ps); i++ {
+ if !ps[i].canResolveEndpoint(region) {
+ continue
+ }
+
+ return ps[i].ResolveEndpoint(region, opts)
+ }
+
+ // fallback to first partition format to use when resolving the endpoint.
+ return ps[0].ResolveEndpoint(region, opts)
+}
+
+// Partition is an AWS partition description for a service and its' region endpoints.
+type Partition struct {
+ ID string
+ RegionRegex *regexp.Regexp
+ PartitionEndpoint string
+ IsRegionalized bool
+ Defaults Endpoint
+ Endpoints Endpoints
+}
+
+func (p Partition) canResolveEndpoint(region string) bool {
+ _, ok := p.Endpoints[region]
+ return ok || p.RegionRegex.MatchString(region)
+}
+
+// ResolveEndpoint resolves and service endpoint for the given region and options.
+func (p Partition) ResolveEndpoint(region string, options Options) (resolved aws.Endpoint, err error) {
+ if len(region) == 0 && len(p.PartitionEndpoint) != 0 {
+ region = p.PartitionEndpoint
+ }
+
+ e, _ := p.endpointForRegion(region)
+
+ return e.resolve(p.ID, region, p.Defaults, options), nil
+}
+
+func (p Partition) endpointForRegion(region string) (Endpoint, bool) {
+ if e, ok := p.Endpoints[region]; ok {
+ return e, true
+ }
+
+ if !p.IsRegionalized {
+ return p.Endpoints[p.PartitionEndpoint], region == p.PartitionEndpoint
+ }
+
+ // Unable to find any matching endpoint, return
+ // blank that will be used for generic endpoint creation.
+ return Endpoint{}, false
+}
+
+// Endpoints is a map of service config regions to endpoints
+type Endpoints map[string]Endpoint
+
+// CredentialScope is the credential scope of a region and service
+type CredentialScope struct {
+ Region string
+ Service string
+}
+
+// Endpoint is a service endpoint description
+type Endpoint struct {
+ // True if the endpoint cannot be resolved for this partition/region/service
+ Unresolveable aws.Ternary
+
+ Hostname string
+ Protocols []string
+
+ CredentialScope CredentialScope
+
+ SignatureVersions []string `json:"signatureVersions"`
+}
+
+func (e Endpoint) resolve(partition, region string, def Endpoint, options Options) aws.Endpoint {
+ var merged Endpoint
+ merged.mergeIn(def)
+ merged.mergeIn(e)
+ e = merged
+
+ var u string
+ if e.Unresolveable != aws.TrueTernary {
+ // Only attempt to resolve the endpoint if it can be resolved.
+ hostname := strings.Replace(e.Hostname, "{region}", region, 1)
+
+ scheme := getEndpointScheme(e.Protocols, options.DisableHTTPS)
+ u = scheme + "://" + hostname
+ }
+
+ signingRegion := e.CredentialScope.Region
+ if len(signingRegion) == 0 {
+ signingRegion = region
+ }
+ signingName := e.CredentialScope.Service
+
+ return aws.Endpoint{
+ URL: u,
+ PartitionID: partition,
+ SigningRegion: signingRegion,
+ SigningName: signingName,
+ SigningMethod: getByPriority(e.SignatureVersions, signerPriority, defaultSigner),
+ }
+}
+
+func (e *Endpoint) mergeIn(other Endpoint) {
+ if other.Unresolveable != aws.UnknownTernary {
+ e.Unresolveable = other.Unresolveable
+ }
+ if len(other.Hostname) > 0 {
+ e.Hostname = other.Hostname
+ }
+ if len(other.Protocols) > 0 {
+ e.Protocols = other.Protocols
+ }
+ if len(other.CredentialScope.Region) > 0 {
+ e.CredentialScope.Region = other.CredentialScope.Region
+ }
+ if len(other.CredentialScope.Service) > 0 {
+ e.CredentialScope.Service = other.CredentialScope.Service
+ }
+ if len(other.SignatureVersions) > 0 {
+ e.SignatureVersions = other.SignatureVersions
+ }
+}
+
+func getEndpointScheme(protocols []string, disableHTTPS bool) string {
+ if disableHTTPS {
+ return "http"
+ }
+
+ return getByPriority(protocols, protocolPriority, defaultProtocol)
+}
+
+func getByPriority(s []string, p []string, def string) string {
+ if len(s) == 0 {
+ return def
+ }
+
+ for i := 0; i < len(p); i++ {
+ for j := 0; j < len(s); j++ {
+ if s[j] == p[i] {
+ return s[j]
+ }
+ }
+ }
+
+ return s[0]
+}
+
+// MapFIPSRegion extracts the intrinsic AWS region from one that may have an
+// embedded FIPS microformat.
+func MapFIPSRegion(region string) string {
+ const fipsInfix = "-fips-"
+ const fipsPrefix = "fips-"
+ const fipsSuffix = "-fips"
+
+ if strings.Contains(region, fipsInfix) ||
+ strings.Contains(region, fipsPrefix) ||
+ strings.Contains(region, fipsSuffix) {
+ region = strings.ReplaceAll(region, fipsInfix, "-")
+ region = strings.ReplaceAll(region, fipsPrefix, "")
+ region = strings.ReplaceAll(region, fipsSuffix, "")
+ }
+
+ return region
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md
index e19cd663..e0265474 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md
@@ -1,3 +1,39 @@
+# v2.5.10 (2024-01-04)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v2.5.9 (2023-12-07)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v2.5.8 (2023-12-01)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v2.5.7 (2023-11-30)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v2.5.6 (2023-11-29)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v2.5.5 (2023-11-28.2)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v2.5.4 (2023-11-20)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v2.5.3 (2023-11-15)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v2.5.2 (2023-11-09)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
# v2.5.1 (2023-11-01)
* **Dependency Update**: Updated to the latest SDK module versions
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go
index 7128c248..bec2c6a1 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go
@@ -3,4 +3,4 @@
package endpoints
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "2.5.1"
+const goModuleVersion = "2.5.10"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/CHANGELOG.md
index ec6b2f20..adbbf4ad 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/CHANGELOG.md
@@ -1,3 +1,23 @@
+# v1.7.2 (2023-12-08)
+
+* **Bug Fix**: Correct loading of [services *] sections into shared config.
+
+# v1.7.1 (2023-11-16)
+
+* **Bug Fix**: Fix recognition of trailing comments in shared config properties. # or ; separators that aren't preceded by whitespace at the end of a property value should be considered part of it.
+
+# v1.7.0 (2023-11-13)
+
+* **Feature**: Replace the legacy config parser with a modern, less-strict implementation. Parsing failures within a section will now simply ignore the invalid line rather than silently drop the entire section.
+
+# v1.6.0 (2023-11-09.2)
+
+* **Feature**: BREAKFIX: In order to support subproperty parsing, invalid property definitions must not be ignored
+
+# v1.5.2 (2023-11-09)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
# v1.5.1 (2023-11-07)
* **Bug Fix**: Fix subproperty performance regression
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ast.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ast.go
deleted file mode 100644
index e83a9988..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ast.go
+++ /dev/null
@@ -1,120 +0,0 @@
-package ini
-
-// ASTKind represents different states in the parse table
-// and the type of AST that is being constructed
-type ASTKind int
-
-// ASTKind* is used in the parse table to transition between
-// the different states
-const (
- ASTKindNone = ASTKind(iota)
- ASTKindStart
- ASTKindExpr
- ASTKindEqualExpr
- ASTKindStatement
- ASTKindSkipStatement
- ASTKindExprStatement
- ASTKindSectionStatement
- ASTKindNestedSectionStatement
- ASTKindCompletedNestedSectionStatement
- ASTKindCommentStatement
- ASTKindCompletedSectionStatement
-)
-
-func (k ASTKind) String() string {
- switch k {
- case ASTKindNone:
- return "none"
- case ASTKindStart:
- return "start"
- case ASTKindExpr:
- return "expr"
- case ASTKindStatement:
- return "stmt"
- case ASTKindSectionStatement:
- return "section_stmt"
- case ASTKindExprStatement:
- return "expr_stmt"
- case ASTKindCommentStatement:
- return "comment"
- case ASTKindNestedSectionStatement:
- return "nested_section_stmt"
- case ASTKindCompletedSectionStatement:
- return "completed_stmt"
- case ASTKindSkipStatement:
- return "skip"
- default:
- return ""
- }
-}
-
-// AST interface allows us to determine what kind of node we
-// are on and casting may not need to be necessary.
-//
-// The root is always the first node in Children
-type AST struct {
- Kind ASTKind
- Root Token
- RootToken bool
- Children []AST
-}
-
-func newAST(kind ASTKind, root AST, children ...AST) AST {
- return AST{
- Kind: kind,
- Children: append([]AST{root}, children...),
- }
-}
-
-func newASTWithRootToken(kind ASTKind, root Token, children ...AST) AST {
- return AST{
- Kind: kind,
- Root: root,
- RootToken: true,
- Children: children,
- }
-}
-
-// AppendChild will append to the list of children an AST has.
-func (a *AST) AppendChild(child AST) {
- a.Children = append(a.Children, child)
-}
-
-// GetRoot will return the root AST which can be the first entry
-// in the children list or a token.
-func (a *AST) GetRoot() AST {
- if a.RootToken {
- return *a
- }
-
- if len(a.Children) == 0 {
- return AST{}
- }
-
- return a.Children[0]
-}
-
-// GetChildren will return the current AST's list of children
-func (a *AST) GetChildren() []AST {
- if len(a.Children) == 0 {
- return []AST{}
- }
-
- if a.RootToken {
- return a.Children
- }
-
- return a.Children[1:]
-}
-
-// SetChildren will set and override all children of the AST.
-func (a *AST) SetChildren(children []AST) {
- if a.RootToken {
- a.Children = children
- } else {
- a.Children = append(a.Children[:1], children...)
- }
-}
-
-// Start is used to indicate the starting state of the parse table.
-var Start = newAST(ASTKindStart, AST{})
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/comma_token.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/comma_token.go
deleted file mode 100644
index 0895d53c..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/comma_token.go
+++ /dev/null
@@ -1,11 +0,0 @@
-package ini
-
-var commaRunes = []rune(",")
-
-func isComma(b rune) bool {
- return b == ','
-}
-
-func newCommaToken() Token {
- return newToken(TokenComma, commaRunes, NoneType)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/comment_token.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/comment_token.go
deleted file mode 100644
index 0b76999b..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/comment_token.go
+++ /dev/null
@@ -1,35 +0,0 @@
-package ini
-
-// isComment will return whether or not the next byte(s) is a
-// comment.
-func isComment(b []rune) bool {
- if len(b) == 0 {
- return false
- }
-
- switch b[0] {
- case ';':
- return true
- case '#':
- return true
- }
-
- return false
-}
-
-// newCommentToken will create a comment token and
-// return how many bytes were read.
-func newCommentToken(b []rune) (Token, int, error) {
- i := 0
- for ; i < len(b); i++ {
- if b[i] == '\n' {
- break
- }
-
- if len(b)-i > 2 && b[i] == '\r' && b[i+1] == '\n' {
- break
- }
- }
-
- return newToken(TokenComment, b[:i], NoneType), i, nil
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/dependency.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/dependency.go
deleted file mode 100644
index f5ebe52e..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/dependency.go
+++ /dev/null
@@ -1,6 +0,0 @@
-package ini
-
-import (
- // internal/ini module was carved out of this module
- _ "github.com/aws/aws-sdk-go-v2"
-)
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/doc.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/doc.go
deleted file mode 100644
index fdd5321b..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/doc.go
+++ /dev/null
@@ -1,43 +0,0 @@
-// Package ini is an LL(1) parser for configuration files.
-//
-// Example:
-// sections, err := ini.OpenFile("/path/to/file")
-// if err != nil {
-// panic(err)
-// }
-//
-// profile := "foo"
-// section, ok := sections.GetSection(profile)
-// if !ok {
-// fmt.Printf("section %q could not be found", profile)
-// }
-//
-// Below is the BNF that describes this parser
-//
-// Grammar:
-// stmt -> section | stmt'
-// stmt' -> epsilon | expr
-// expr -> value (stmt)* | equal_expr (stmt)*
-// equal_expr -> value ( ':' | '=' ) equal_expr'
-// equal_expr' -> number | string | quoted_string
-// quoted_string -> " quoted_string'
-// quoted_string' -> string quoted_string_end
-// quoted_string_end -> "
-//
-// section -> [ section'
-// section' -> section_value section_close
-// section_value -> number | string_subset | boolean | quoted_string_subset
-// quoted_string_subset -> " quoted_string_subset'
-// quoted_string_subset' -> string_subset quoted_string_end
-// quoted_string_subset -> "
-// section_close -> ]
-//
-// value -> number | string_subset | boolean
-// string -> ? UTF-8 Code-Points except '\n' (U+000A) and '\r\n' (U+000D U+000A) ?
-// string_subset -> ? Code-points excepted by grammar except ':' (U+003A), '=' (U+003D), '[' (U+005B), and ']' (U+005D) ?
-//
-// SkipState will skip (NL WS)+
-//
-// comment -> # comment' | ; comment'
-// comment' -> epsilon | value
-package ini
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/empty_token.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/empty_token.go
deleted file mode 100644
index 04345a54..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/empty_token.go
+++ /dev/null
@@ -1,4 +0,0 @@
-package ini
-
-// emptyToken is used to satisfy the Token interface
-var emptyToken = newToken(TokenNone, []rune{}, NoneType)
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/expression.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/expression.go
deleted file mode 100644
index 91ba2a59..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/expression.go
+++ /dev/null
@@ -1,24 +0,0 @@
-package ini
-
-// newExpression will return an expression AST.
-// Expr represents an expression
-//
-// grammar:
-// expr -> string | number
-func newExpression(tok Token) AST {
- return newASTWithRootToken(ASTKindExpr, tok)
-}
-
-func newEqualExpr(left AST, tok Token) AST {
- return newASTWithRootToken(ASTKindEqualExpr, tok, left)
-}
-
-// EqualExprKey will return a LHS value in the equal expr
-func EqualExprKey(ast AST) string {
- children := ast.GetChildren()
- if len(children) == 0 || ast.Kind != ASTKindEqualExpr {
- return ""
- }
-
- return string(children[0].Root.Raw())
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/go_module_metadata.go
index 30db1dae..f0673f3a 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/go_module_metadata.go
@@ -3,4 +3,4 @@
package ini
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.5.1"
+const goModuleVersion = "1.7.2"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini.go
index f7406231..cefcce91 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini.go
@@ -1,13 +1,26 @@
+// Package ini implements parsing of the AWS shared config file.
+//
+// Example:
+// sections, err := ini.OpenFile("/path/to/file")
+// if err != nil {
+// panic(err)
+// }
+//
+// profile := "foo"
+// section, ok := sections.GetSection(profile)
+// if !ok {
+// fmt.Printf("section %q could not be found", profile)
+// }
package ini
import (
"fmt"
"io"
"os"
+ "strings"
)
-// OpenFile takes a path to a given file, and will open and parse
-// that file.
+// OpenFile parses shared config from the given file path.
func OpenFile(path string) (sections Sections, err error) {
f, oerr := os.Open(path)
if oerr != nil {
@@ -26,33 +39,18 @@ func OpenFile(path string) (sections Sections, err error) {
return Parse(f, path)
}
-// Parse will parse the given file using the shared config
-// visitor.
-func Parse(f io.Reader, path string) (Sections, error) {
- tree, err := ParseAST(f)
+// Parse parses shared config from the given reader.
+func Parse(r io.Reader, path string) (Sections, error) {
+ contents, err := io.ReadAll(r)
if err != nil {
- return Sections{}, err
+ return Sections{}, fmt.Errorf("read all: %v", err)
}
- v := NewDefaultVisitor(path)
- if err = Walk(tree, v); err != nil {
- return Sections{}, err
- }
-
- return v.Sections, nil
-}
-
-// ParseBytes will parse the given bytes and return the parsed sections.
-func ParseBytes(b []byte) (Sections, error) {
- tree, err := ParseASTBytes(b)
+ lines := strings.Split(string(contents), "\n")
+ tokens, err := tokenize(lines)
if err != nil {
- return Sections{}, err
- }
-
- v := NewDefaultVisitor("")
- if err = Walk(tree, v); err != nil {
- return Sections{}, err
+ return Sections{}, fmt.Errorf("tokenize: %v", err)
}
- return v.Sections, nil
+ return parse(tokens, path), nil
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini_lexer.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini_lexer.go
deleted file mode 100644
index ab16760d..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini_lexer.go
+++ /dev/null
@@ -1,161 +0,0 @@
-package ini
-
-import (
- "bytes"
- "io"
- "io/ioutil"
-)
-
-// TokenType represents the various different tokens types
-type TokenType int
-
-func (t TokenType) String() string {
- switch t {
- case TokenNone:
- return "none"
- case TokenLit:
- return "literal"
- case TokenSep:
- return "sep"
- case TokenOp:
- return "op"
- case TokenWS:
- return "ws"
- case TokenNL:
- return "newline"
- case TokenComment:
- return "comment"
- case TokenComma:
- return "comma"
- default:
- return ""
- }
-}
-
-// TokenType enums
-const (
- TokenNone = TokenType(iota)
- TokenLit
- TokenSep
- TokenComma
- TokenOp
- TokenWS
- TokenNL
- TokenComment
-)
-
-type iniLexer struct{}
-
-// Tokenize will return a list of tokens during lexical analysis of the
-// io.Reader.
-func (l *iniLexer) Tokenize(r io.Reader) ([]Token, error) {
- b, err := ioutil.ReadAll(r)
- if err != nil {
- return nil, &UnableToReadFile{Err: err}
- }
-
- return l.tokenize(b)
-}
-
-func (l *iniLexer) tokenize(b []byte) ([]Token, error) {
- runes := bytes.Runes(b)
- var err error
- n := 0
- tokenAmount := countTokens(runes)
- tokens := make([]Token, tokenAmount)
- count := 0
-
- for len(runes) > 0 && count < tokenAmount {
- switch {
- case isSubProperty(runes):
- tokens[count], n, err = newLitToken(runes)
- case isWhitespace(runes[0]):
- tokens[count], n, err = newWSToken(runes)
- case isComma(runes[0]):
- tokens[count], n = newCommaToken(), 1
- case isComment(runes):
- tokens[count], n, err = newCommentToken(runes)
- case isNewline(runes):
- tokens[count], n, err = newNewlineToken(runes)
- case isSep(runes):
- tokens[count], n, err = newSepToken(runes)
- case isOp(runes):
- tokens[count], n, err = newOpToken(runes)
- default:
- tokens[count], n, err = newLitToken(runes)
- }
-
- if err != nil {
- return nil, err
- }
-
- count++
-
- runes = runes[n:]
- }
-
- return tokens[:count], nil
-}
-
-func countTokens(runes []rune) int {
- count, n := 0, 0
- var err error
-
- for len(runes) > 0 {
- switch {
- case isSubProperty(runes):
- _, n, err = newLitToken(runes)
- case isWhitespace(runes[0]):
- _, n, err = newWSToken(runes)
- case isComma(runes[0]):
- _, n = newCommaToken(), 1
- case isComment(runes):
- _, n, err = newCommentToken(runes)
- case isNewline(runes):
- _, n, err = newNewlineToken(runes)
- case isSep(runes):
- _, n, err = newSepToken(runes)
- case isOp(runes):
- _, n, err = newOpToken(runes)
- default:
- _, n, err = newLitToken(runes)
- }
-
- if err != nil {
- return 0
- }
-
- count++
- runes = runes[n:]
- }
-
- return count + 1
-}
-
-// Token indicates a metadata about a given value.
-type Token struct {
- t TokenType
- ValueType ValueType
- base int
- raw []rune
-}
-
-var emptyValue = Value{}
-
-func newToken(t TokenType, raw []rune, v ValueType) Token {
- return Token{
- t: t,
- raw: raw,
- ValueType: v,
- }
-}
-
-// Raw return the raw runes that were consumed
-func (tok Token) Raw() []rune {
- return tok.raw
-}
-
-// Type returns the token type
-func (tok Token) Type() TokenType {
- return tok.t
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini_parser.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini_parser.go
deleted file mode 100644
index 12fc7d5a..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ini_parser.go
+++ /dev/null
@@ -1,349 +0,0 @@
-package ini
-
-import (
- "fmt"
- "io"
-)
-
-// ParseState represents the current state of the parser.
-type ParseState uint
-
-// State enums for the parse table
-const (
- InvalidState ParseState = iota
- // stmt -> value stmt'
- StatementState
- // stmt' -> MarkComplete | op stmt
- StatementPrimeState
- // value -> number | string | boolean | quoted_string
- ValueState
- // section -> [ section'
- OpenScopeState
- // section' -> value section_close
- SectionState
- // section_close -> ]
- CloseScopeState
- // SkipState will skip (NL WS)+
- SkipState
- // SkipTokenState will skip any token and push the previous
- // state onto the stack.
- SkipTokenState
- // comment -> # comment' | ; comment'
- // comment' -> MarkComplete | value
- CommentState
- // MarkComplete state will complete statements and move that
- // to the completed AST list
- MarkCompleteState
- // TerminalState signifies that the tokens have been fully parsed
- TerminalState
-)
-
-// parseTable is a state machine to dictate the grammar above.
-var parseTable = map[ASTKind]map[TokenType]ParseState{
- ASTKindStart: {
- TokenLit: StatementState,
- TokenSep: OpenScopeState,
- TokenWS: SkipTokenState,
- TokenNL: SkipTokenState,
- TokenComment: CommentState,
- TokenNone: TerminalState,
- },
- ASTKindCommentStatement: {
- TokenLit: StatementState,
- TokenSep: OpenScopeState,
- TokenWS: SkipTokenState,
- TokenNL: SkipTokenState,
- TokenComment: CommentState,
- TokenNone: MarkCompleteState,
- },
- ASTKindExpr: {
- TokenOp: StatementPrimeState,
- TokenLit: ValueState,
- TokenSep: OpenScopeState,
- TokenWS: ValueState,
- TokenNL: SkipState,
- TokenComment: CommentState,
- TokenNone: MarkCompleteState,
- },
- ASTKindEqualExpr: {
- TokenLit: ValueState,
- TokenSep: ValueState,
- TokenOp: ValueState,
- TokenWS: SkipTokenState,
- TokenNL: SkipState,
- },
- ASTKindStatement: {
- TokenLit: SectionState,
- TokenSep: CloseScopeState,
- TokenWS: SkipTokenState,
- TokenNL: SkipTokenState,
- TokenComment: CommentState,
- TokenNone: MarkCompleteState,
- },
- ASTKindExprStatement: {
- TokenLit: ValueState,
- TokenSep: ValueState,
- TokenOp: ValueState,
- TokenWS: ValueState,
- TokenNL: MarkCompleteState,
- TokenComment: CommentState,
- TokenNone: TerminalState,
- TokenComma: SkipState,
- },
- ASTKindSectionStatement: {
- TokenLit: SectionState,
- TokenOp: SectionState,
- TokenSep: CloseScopeState,
- TokenWS: SectionState,
- TokenNL: SkipTokenState,
- },
- ASTKindCompletedSectionStatement: {
- TokenWS: SkipTokenState,
- TokenNL: SkipTokenState,
- TokenLit: StatementState,
- TokenSep: OpenScopeState,
- TokenComment: CommentState,
- TokenNone: MarkCompleteState,
- },
- ASTKindSkipStatement: {
- TokenLit: StatementState,
- TokenSep: OpenScopeState,
- TokenWS: SkipTokenState,
- TokenNL: SkipTokenState,
- TokenComment: CommentState,
- TokenNone: TerminalState,
- },
-}
-
-// ParseAST will parse input from an io.Reader using
-// an LL(1) parser.
-func ParseAST(r io.Reader) ([]AST, error) {
- lexer := iniLexer{}
- tokens, err := lexer.Tokenize(r)
- if err != nil {
- return []AST{}, err
- }
-
- return parse(tokens)
-}
-
-// ParseASTBytes will parse input from a byte slice using
-// an LL(1) parser.
-func ParseASTBytes(b []byte) ([]AST, error) {
- lexer := iniLexer{}
- tokens, err := lexer.tokenize(b)
- if err != nil {
- return []AST{}, err
- }
-
- return parse(tokens)
-}
-
-func parse(tokens []Token) ([]AST, error) {
- start := Start
- stack := newParseStack(3, len(tokens))
-
- stack.Push(start)
- s := newSkipper()
-
-loop:
- for stack.Len() > 0 {
- k := stack.Pop()
-
- var tok Token
- if len(tokens) == 0 {
- // this occurs when all the tokens have been processed
- // but reduction of what's left on the stack needs to
- // occur.
- tok = emptyToken
- } else {
- tok = tokens[0]
- }
-
- step := parseTable[k.Kind][tok.Type()]
- if s.ShouldSkip(tok) {
- // being in a skip state with no tokens will break out of
- // the parse loop since there is nothing left to process.
- if len(tokens) == 0 {
- break loop
- }
- // if should skip is true, we skip the tokens until should skip is set to false.
- step = SkipTokenState
- }
-
- switch step {
- case TerminalState:
- // Finished parsing. Push what should be the last
- // statement to the stack. If there is anything left
- // on the stack, an error in parsing has occurred.
- if k.Kind != ASTKindStart {
- stack.MarkComplete(k)
- }
- break loop
- case SkipTokenState:
- // When skipping a token, the previous state was popped off the stack.
- // To maintain the correct state, the previous state will be pushed
- // onto the stack.
- stack.Push(k)
- case StatementState:
- if k.Kind != ASTKindStart {
- stack.MarkComplete(k)
- }
- expr := newExpression(tok)
- stack.Push(expr)
- case StatementPrimeState:
- if tok.Type() != TokenOp {
- stack.MarkComplete(k)
- continue
- }
-
- if k.Kind != ASTKindExpr {
- return nil, NewParseError(
- fmt.Sprintf("invalid expression: expected Expr type, but found %T type", k),
- )
- }
-
- k = trimSpaces(k)
- expr := newEqualExpr(k, tok)
- stack.Push(expr)
- case ValueState:
- // ValueState requires the previous state to either be an equal expression
- // or an expression statement.
- switch k.Kind {
- case ASTKindEqualExpr:
- // assigning a value to some key
- k.AppendChild(newExpression(tok))
- stack.Push(newExprStatement(k))
- case ASTKindExpr:
- k.Root.raw = append(k.Root.raw, tok.Raw()...)
- stack.Push(k)
- case ASTKindExprStatement:
- root := k.GetRoot()
- children := root.GetChildren()
- if len(children) == 0 {
- return nil, NewParseError(
- fmt.Sprintf("invalid expression: AST contains no children %s", k.Kind),
- )
- }
-
- rhs := children[len(children)-1]
-
- if rhs.Root.ValueType != QuotedStringType {
- rhs.Root.ValueType = StringType
- rhs.Root.raw = append(rhs.Root.raw, tok.Raw()...)
-
- }
-
- children[len(children)-1] = rhs
- root.SetChildren(children)
-
- stack.Push(k)
- }
- case OpenScopeState:
- if !runeCompare(tok.Raw(), openBrace) {
- return nil, NewParseError("expected '['")
- }
- // If OpenScopeState is not at the start, we must mark the previous ast as complete
- //
- // for example: if previous ast was a skip statement;
- // we should mark it as complete before we create a new statement
- if k.Kind != ASTKindStart {
- stack.MarkComplete(k)
- }
-
- stmt := newStatement()
- stack.Push(stmt)
- case CloseScopeState:
- if !runeCompare(tok.Raw(), closeBrace) {
- return nil, NewParseError("expected ']'")
- }
-
- k = trimSpaces(k)
- stack.Push(newCompletedSectionStatement(k))
- case SectionState:
- var stmt AST
-
- switch k.Kind {
- case ASTKindStatement:
- // If there are multiple literals inside of a scope declaration,
- // then the current token's raw value will be appended to the Name.
- //
- // This handles cases like [ profile default ]
- //
- // k will represent a SectionStatement with the children representing
- // the label of the section
- stmt = newSectionStatement(tok)
- case ASTKindSectionStatement:
- k.Root.raw = append(k.Root.raw, tok.Raw()...)
- stmt = k
- default:
- return nil, NewParseError(
- fmt.Sprintf("invalid statement: expected statement: %v", k.Kind),
- )
- }
-
- stack.Push(stmt)
- case MarkCompleteState:
- if k.Kind != ASTKindStart {
- stack.MarkComplete(k)
- }
-
- if stack.Len() == 0 {
- stack.Push(start)
- }
- case SkipState:
- stack.Push(newSkipStatement(k))
- s.Skip()
- case CommentState:
- if k.Kind == ASTKindStart {
- stack.Push(k)
- } else {
- stack.MarkComplete(k)
- }
-
- stmt := newCommentStatement(tok)
- stack.Push(stmt)
- default:
- return nil, NewParseError(
- fmt.Sprintf("invalid state with ASTKind %v and TokenType %v",
- k.Kind, tok.Type()))
- }
-
- if len(tokens) > 0 {
- tokens = tokens[1:]
- }
- }
-
- // this occurs when a statement has not been completed
- if stack.top > 1 {
- return nil, NewParseError(fmt.Sprintf("incomplete ini expression"))
- }
-
- // returns a sublist which exludes the start symbol
- return stack.List(), nil
-}
-
-// trimSpaces will trim spaces on the left and right hand side of
-// the literal.
-func trimSpaces(k AST) AST {
- // trim left hand side of spaces
- for i := 0; i < len(k.Root.raw); i++ {
- if !isWhitespace(k.Root.raw[i]) {
- break
- }
-
- k.Root.raw = k.Root.raw[1:]
- i--
- }
-
- // trim right hand side of spaces
- for i := len(k.Root.raw) - 1; i >= 0; i-- {
- if !isWhitespace(k.Root.raw[i]) {
- break
- }
-
- k.Root.raw = k.Root.raw[:len(k.Root.raw)-1]
- }
-
- return k
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/literal_tokens.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/literal_tokens.go
deleted file mode 100644
index f0372a68..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/literal_tokens.go
+++ /dev/null
@@ -1,274 +0,0 @@
-package ini
-
-import (
- "fmt"
- "strconv"
- "strings"
- "unicode"
-)
-
-var (
- runesTrue = []rune("true")
- runesFalse = []rune("false")
-)
-
-// isCaselessLitValue is a caseless value comparison, assumes want is already lower-cased for efficiency.
-func isCaselessLitValue(want, have []rune) bool {
- if len(have) < len(want) {
- return false
- }
-
- for i := 0; i < len(want); i++ {
- if want[i] != unicode.ToLower(have[i]) {
- return false
- }
- }
-
- return true
-}
-
-func isValid(b []rune) (bool, int, error) {
- if len(b) == 0 {
- // TODO: should probably return an error
- return false, 0, nil
- }
-
- return isValidRune(b[0]), 1, nil
-}
-
-func isValidRune(r rune) bool {
- return r != ':' && r != '=' && r != '[' && r != ']' && r != ' ' && r != '\n'
-}
-
-// ValueType is an enum that will signify what type
-// the Value is
-type ValueType int
-
-func (v ValueType) String() string {
- switch v {
- case NoneType:
- return "NONE"
- case StringType:
- return "STRING"
- }
-
- return ""
-}
-
-// ValueType enums
-const (
- NoneType = ValueType(iota)
- StringType
- QuotedStringType
-)
-
-// Value is a union container
-type Value struct {
- Type ValueType
- raw []rune
-
- str string
- mp map[string]string
-}
-
-func newValue(t ValueType, base int, raw []rune) (Value, error) {
- v := Value{
- Type: t,
- raw: raw,
- }
-
- switch t {
- case StringType:
- v.str = string(raw)
- if isSubProperty(raw) {
- v.mp = v.MapValue()
- }
- case QuotedStringType:
- v.str = string(raw[1 : len(raw)-1])
- }
-
- return v, nil
-}
-
-// NewStringValue returns a Value type generated using a string input.
-func NewStringValue(str string) (Value, error) {
- return newValue(StringType, 10, []rune(str))
-}
-
-func (v Value) String() string {
- switch v.Type {
- case StringType:
- return fmt.Sprintf("string: %s", string(v.raw))
- case QuotedStringType:
- return fmt.Sprintf("quoted string: %s", string(v.raw))
- default:
- return "union not set"
- }
-}
-
-func newLitToken(b []rune) (Token, int, error) {
- n := 0
- var err error
-
- token := Token{}
- if b[0] == '"' {
- n, err = getStringValue(b)
- if err != nil {
- return token, n, err
- }
- token = newToken(TokenLit, b[:n], QuotedStringType)
- } else if isSubProperty(b) {
- offset := 0
- end, err := getSubProperty(b, offset)
- if err != nil {
- return token, n, err
- }
- token = newToken(TokenLit, b[offset:end], StringType)
- n = end
- } else {
- n, err = getValue(b)
- token = newToken(TokenLit, b[:n], StringType)
- }
-
- return token, n, err
-}
-
-// replace with slices.Contains when Go 1.21
-// is min supported Go version in the SDK
-func containsRune(runes []rune, val rune) bool {
- for i := range runes {
- if val == runes[i] {
- return true
- }
- }
- return false
-}
-
-func isSubProperty(runes []rune) bool {
- // needs at least
- // (1) newline (2) whitespace (3) literal
- if len(runes) < 3 {
- return false
- }
-
- // must have an equal expression
- if !containsRune(runes, '=') && !containsRune(runes, ':') {
- return false
- }
-
- // must start with a new line
- if !isNewline(runes) {
- return false
- }
- _, n, err := newNewlineToken(runes)
- if err != nil {
- return false
- }
- // whitespace must follow newline
- return isWhitespace(runes[n])
-}
-
-// getSubProperty pulls all subproperties and terminates when
-// it hits a newline that is not the start of another subproperty.
-// offset allows for removal of leading newline and whitespace
-// characters
-func getSubProperty(runes []rune, offset int) (int, error) {
- for idx, val := range runes[offset:] {
- if val == '\n' && !isSubProperty(runes[offset+idx:]) {
- return offset + idx, nil
- }
- }
- return 0, fmt.Errorf("no sub property")
-}
-
-// MapValue returns a map value for sub properties
-func (v Value) MapValue() map[string]string {
- newlineParts := strings.Split(string(v.raw), "\n")
- mp := make(map[string]string)
- for _, part := range newlineParts {
- operandParts := strings.Split(part, "=")
- if len(operandParts) < 2 {
- continue
- }
- key := strings.TrimSpace(operandParts[0])
- val := strings.TrimSpace(operandParts[1])
- mp[key] = val
- }
- return mp
-}
-
-// IntValue returns an integer value
-func (v Value) IntValue() (int64, bool) {
- i, err := strconv.ParseInt(string(v.raw), 0, 64)
- if err != nil {
- return 0, false
- }
- return i, true
-}
-
-// FloatValue returns a float value
-func (v Value) FloatValue() (float64, bool) {
- f, err := strconv.ParseFloat(string(v.raw), 64)
- if err != nil {
- return 0, false
- }
- return f, true
-}
-
-// BoolValue returns a bool value
-func (v Value) BoolValue() (bool, bool) {
- // we don't use ParseBool as it recognizes more than what we've
- // historically supported
- if isCaselessLitValue(runesTrue, v.raw) {
- return true, true
- } else if isCaselessLitValue(runesFalse, v.raw) {
- return false, true
- }
- return false, false
-}
-
-func isTrimmable(r rune) bool {
- switch r {
- case '\n', ' ':
- return true
- }
- return false
-}
-
-// StringValue returns the string value
-func (v Value) StringValue() string {
- switch v.Type {
-
- case StringType:
- return strings.TrimFunc(string(v.raw), isTrimmable)
- case QuotedStringType:
- // preserve all characters in the quotes
- return string(removeEscapedCharacters(v.raw[1 : len(v.raw)-1]))
- default:
- return strings.TrimFunc(string(v.raw), isTrimmable)
- }
-}
-
-func contains(runes []rune, c rune) bool {
- for i := 0; i < len(runes); i++ {
- if runes[i] == c {
- return true
- }
- }
-
- return false
-}
-
-func runeCompare(v1 []rune, v2 []rune) bool {
- if len(v1) != len(v2) {
- return false
- }
-
- for i := 0; i < len(v1); i++ {
- if v1[i] != v2[i] {
- return false
- }
- }
-
- return true
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/newline_token.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/newline_token.go
deleted file mode 100644
index e52ac399..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/newline_token.go
+++ /dev/null
@@ -1,30 +0,0 @@
-package ini
-
-func isNewline(b []rune) bool {
- if len(b) == 0 {
- return false
- }
-
- if b[0] == '\n' {
- return true
- }
-
- if len(b) < 2 {
- return false
- }
-
- return b[0] == '\r' && b[1] == '\n'
-}
-
-func newNewlineToken(b []rune) (Token, int, error) {
- i := 1
- if b[0] == '\r' && isNewline(b[1:]) {
- i++
- }
-
- if !isNewline([]rune(b[:i])) {
- return emptyToken, 0, NewParseError("invalid new line token")
- }
-
- return newToken(TokenNL, b[:i], NoneType), i, nil
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/op_tokens.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/op_tokens.go
deleted file mode 100644
index 8a84c7cb..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/op_tokens.go
+++ /dev/null
@@ -1,39 +0,0 @@
-package ini
-
-import (
- "fmt"
-)
-
-var (
- equalOp = []rune("=")
- equalColonOp = []rune(":")
-)
-
-func isOp(b []rune) bool {
- if len(b) == 0 {
- return false
- }
-
- switch b[0] {
- case '=':
- return true
- case ':':
- return true
- default:
- return false
- }
-}
-
-func newOpToken(b []rune) (Token, int, error) {
- tok := Token{}
-
- switch b[0] {
- case '=':
- tok = newToken(TokenOp, equalOp, NoneType)
- case ':':
- tok = newToken(TokenOp, equalColonOp, NoneType)
- default:
- return tok, 0, NewParseError(fmt.Sprintf("unexpected op type, %v", b[0]))
- }
- return tok, 1, nil
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/parse.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/parse.go
new file mode 100644
index 00000000..2422d904
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/parse.go
@@ -0,0 +1,109 @@
+package ini
+
+import (
+ "fmt"
+ "strings"
+)
+
+func parse(tokens []lineToken, path string) Sections {
+ parser := &parser{
+ path: path,
+ sections: NewSections(),
+ }
+ parser.parse(tokens)
+ return parser.sections
+}
+
+type parser struct {
+ csection, ckey string // current state
+ path string // source file path
+ sections Sections // parse result
+}
+
+func (p *parser) parse(tokens []lineToken) {
+ for _, otok := range tokens {
+ switch tok := otok.(type) {
+ case *lineTokenProfile:
+ p.handleProfile(tok)
+ case *lineTokenProperty:
+ p.handleProperty(tok)
+ case *lineTokenSubProperty:
+ p.handleSubProperty(tok)
+ case *lineTokenContinuation:
+ p.handleContinuation(tok)
+ }
+ }
+}
+
+func (p *parser) handleProfile(tok *lineTokenProfile) {
+ name := tok.Name
+ if tok.Type != "" {
+ name = fmt.Sprintf("%s %s", tok.Type, tok.Name)
+ }
+ p.ckey = ""
+ p.csection = name
+ if _, ok := p.sections.container[name]; !ok {
+ p.sections.container[name] = NewSection(name)
+ }
+}
+
+func (p *parser) handleProperty(tok *lineTokenProperty) {
+ if p.csection == "" {
+ return // LEGACY: don't error on "global" properties
+ }
+
+ p.ckey = tok.Key
+ if _, ok := p.sections.container[p.csection].values[tok.Key]; ok {
+ section := p.sections.container[p.csection]
+ section.Logs = append(p.sections.container[p.csection].Logs,
+ fmt.Sprintf(
+ "For profile: %v, overriding %v value, with a %v value found in a duplicate profile defined later in the same file %v. \n",
+ p.csection, tok.Key, tok.Key, p.path,
+ ),
+ )
+ p.sections.container[p.csection] = section
+ }
+
+ p.sections.container[p.csection].values[tok.Key] = Value{
+ str: tok.Value,
+ }
+ p.sections.container[p.csection].SourceFile[tok.Key] = p.path
+}
+
+func (p *parser) handleSubProperty(tok *lineTokenSubProperty) {
+ if p.csection == "" {
+ return // LEGACY: don't error on "global" properties
+ }
+
+ if p.ckey == "" || p.sections.container[p.csection].values[p.ckey].str != "" {
+ // This is an "orphaned" subproperty, either because it's at
+ // the beginning of a section or because the last property's
+ // value isn't empty. Either way we're lenient here and
+ // "promote" this to a normal property.
+ p.handleProperty(&lineTokenProperty{
+ Key: tok.Key,
+ Value: strings.TrimSpace(trimPropertyComment(tok.Value)),
+ })
+ return
+ }
+
+ if p.sections.container[p.csection].values[p.ckey].mp == nil {
+ p.sections.container[p.csection].values[p.ckey] = Value{
+ mp: map[string]string{},
+ }
+ }
+ p.sections.container[p.csection].values[p.ckey].mp[tok.Key] = tok.Value
+}
+
+func (p *parser) handleContinuation(tok *lineTokenContinuation) {
+ if p.ckey == "" {
+ return
+ }
+
+ value, _ := p.sections.container[p.csection].values[p.ckey]
+ if value.str != "" && value.mp == nil {
+ value.str = fmt.Sprintf("%s\n%s", value.str, tok.Value)
+ }
+
+ p.sections.container[p.csection].values[p.ckey] = value
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/parse_error.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/parse_error.go
deleted file mode 100644
index 30ae0b8f..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/parse_error.go
+++ /dev/null
@@ -1,19 +0,0 @@
-package ini
-
-// ParseError is an error which is returned during any part of
-// the parsing process.
-type ParseError struct {
- msg string
-}
-
-// NewParseError will return a new ParseError where message
-// is the description of the error.
-func NewParseError(message string) *ParseError {
- return &ParseError{
- msg: message,
- }
-}
-
-func (err *ParseError) Error() string {
- return err.msg
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/parse_stack.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/parse_stack.go
deleted file mode 100644
index 7f01cf7c..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/parse_stack.go
+++ /dev/null
@@ -1,60 +0,0 @@
-package ini
-
-import (
- "bytes"
- "fmt"
-)
-
-// ParseStack is a stack that contains a container, the stack portion,
-// and the list which is the list of ASTs that have been successfully
-// parsed.
-type ParseStack struct {
- top int
- container []AST
- list []AST
- index int
-}
-
-func newParseStack(sizeContainer, sizeList int) ParseStack {
- return ParseStack{
- container: make([]AST, sizeContainer),
- list: make([]AST, sizeList),
- }
-}
-
-// Pop will return and truncate the last container element.
-func (s *ParseStack) Pop() AST {
- s.top--
- return s.container[s.top]
-}
-
-// Push will add the new AST to the container
-func (s *ParseStack) Push(ast AST) {
- s.container[s.top] = ast
- s.top++
-}
-
-// MarkComplete will append the AST to the list of completed statements
-func (s *ParseStack) MarkComplete(ast AST) {
- s.list[s.index] = ast
- s.index++
-}
-
-// List will return the completed statements
-func (s ParseStack) List() []AST {
- return s.list[:s.index]
-}
-
-// Len will return the length of the container
-func (s *ParseStack) Len() int {
- return s.top
-}
-
-func (s ParseStack) String() string {
- buf := bytes.Buffer{}
- for i, node := range s.list {
- buf.WriteString(fmt.Sprintf("%d: %v\n", i+1, node))
- }
-
- return buf.String()
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/sections.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/sections.go
new file mode 100644
index 00000000..dd89848e
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/sections.go
@@ -0,0 +1,157 @@
+package ini
+
+import (
+ "sort"
+)
+
+// Sections is a map of Section structures that represent
+// a configuration.
+type Sections struct {
+ container map[string]Section
+}
+
+// NewSections returns empty ini Sections
+func NewSections() Sections {
+ return Sections{
+ container: make(map[string]Section, 0),
+ }
+}
+
+// GetSection will return section p. If section p does not exist,
+// false will be returned in the second parameter.
+func (t Sections) GetSection(p string) (Section, bool) {
+ v, ok := t.container[p]
+ return v, ok
+}
+
+// HasSection denotes if Sections consist of a section with
+// provided name.
+func (t Sections) HasSection(p string) bool {
+ _, ok := t.container[p]
+ return ok
+}
+
+// SetSection sets a section value for provided section name.
+func (t Sections) SetSection(p string, v Section) Sections {
+ t.container[p] = v
+ return t
+}
+
+// DeleteSection deletes a section entry/value for provided section name./
+func (t Sections) DeleteSection(p string) {
+ delete(t.container, p)
+}
+
+// values represents a map of union values.
+type values map[string]Value
+
+// List will return a list of all sections that were successfully
+// parsed.
+func (t Sections) List() []string {
+ keys := make([]string, len(t.container))
+ i := 0
+ for k := range t.container {
+ keys[i] = k
+ i++
+ }
+
+ sort.Strings(keys)
+ return keys
+}
+
+// Section contains a name and values. This represent
+// a sectioned entry in a configuration file.
+type Section struct {
+ // Name is the Section profile name
+ Name string
+
+ // values are the values within parsed profile
+ values values
+
+ // Errors is the list of errors
+ Errors []error
+
+ // Logs is the list of logs
+ Logs []string
+
+ // SourceFile is the INI Source file from where this section
+ // was retrieved. They key is the property, value is the
+ // source file the property was retrieved from.
+ SourceFile map[string]string
+}
+
+// NewSection returns an initialize section for the name
+func NewSection(name string) Section {
+ return Section{
+ Name: name,
+ values: values{},
+ SourceFile: map[string]string{},
+ }
+}
+
+// List will return a list of all
+// services in values
+func (t Section) List() []string {
+ keys := make([]string, len(t.values))
+ i := 0
+ for k := range t.values {
+ keys[i] = k
+ i++
+ }
+
+ sort.Strings(keys)
+ return keys
+}
+
+// UpdateSourceFile updates source file for a property to provided filepath.
+func (t Section) UpdateSourceFile(property string, filepath string) {
+ t.SourceFile[property] = filepath
+}
+
+// UpdateValue updates value for a provided key with provided value
+func (t Section) UpdateValue(k string, v Value) error {
+ t.values[k] = v
+ return nil
+}
+
+// Has will return whether or not an entry exists in a given section
+func (t Section) Has(k string) bool {
+ _, ok := t.values[k]
+ return ok
+}
+
+// ValueType will returned what type the union is set to. If
+// k was not found, the NoneType will be returned.
+func (t Section) ValueType(k string) (ValueType, bool) {
+ v, ok := t.values[k]
+ return v.Type, ok
+}
+
+// Bool returns a bool value at k
+func (t Section) Bool(k string) (bool, bool) {
+ return t.values[k].BoolValue()
+}
+
+// Int returns an integer value at k
+func (t Section) Int(k string) (int64, bool) {
+ return t.values[k].IntValue()
+}
+
+// Map returns a map value at k
+func (t Section) Map(k string) map[string]string {
+ return t.values[k].MapValue()
+}
+
+// Float64 returns a float value at k
+func (t Section) Float64(k string) (float64, bool) {
+ return t.values[k].FloatValue()
+}
+
+// String returns the string value at k
+func (t Section) String(k string) string {
+ _, ok := t.values[k]
+ if !ok {
+ return ""
+ }
+ return t.values[k].StringValue()
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/sep_tokens.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/sep_tokens.go
deleted file mode 100644
index f82095ba..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/sep_tokens.go
+++ /dev/null
@@ -1,41 +0,0 @@
-package ini
-
-import (
- "fmt"
-)
-
-var (
- emptyRunes = []rune{}
-)
-
-func isSep(b []rune) bool {
- if len(b) == 0 {
- return false
- }
-
- switch b[0] {
- case '[', ']':
- return true
- default:
- return false
- }
-}
-
-var (
- openBrace = []rune("[")
- closeBrace = []rune("]")
-)
-
-func newSepToken(b []rune) (Token, int, error) {
- tok := Token{}
-
- switch b[0] {
- case '[':
- tok = newToken(TokenSep, openBrace, NoneType)
- case ']':
- tok = newToken(TokenSep, closeBrace, NoneType)
- default:
- return tok, 0, NewParseError(fmt.Sprintf("unexpected sep type, %v", b[0]))
- }
- return tok, 1, nil
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/skipper.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/skipper.go
deleted file mode 100644
index 07e90876..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/skipper.go
+++ /dev/null
@@ -1,45 +0,0 @@
-package ini
-
-// skipper is used to skip certain blocks of an ini file.
-// Currently skipper is used to skip nested blocks of ini
-// files. See example below
-//
-// [ foo ]
-// nested = ; this section will be skipped
-// a=b
-// c=d
-// bar=baz ; this will be included
-type skipper struct {
- shouldSkip bool
- TokenSet bool
- prevTok Token
-}
-
-func newSkipper() skipper {
- return skipper{
- prevTok: emptyToken,
- }
-}
-
-func (s *skipper) ShouldSkip(tok Token) bool {
- // should skip state will be modified only if previous token was new line (NL);
- // and the current token is not WhiteSpace (WS).
- if s.shouldSkip &&
- s.prevTok.Type() == TokenNL &&
- tok.Type() != TokenWS {
- s.Continue()
- return false
- }
-
- s.prevTok = tok
- return s.shouldSkip
-}
-
-func (s *skipper) Skip() {
- s.shouldSkip = true
-}
-
-func (s *skipper) Continue() {
- s.shouldSkip = false
- s.prevTok = emptyToken
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/statement.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/statement.go
deleted file mode 100644
index ba0af01b..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/statement.go
+++ /dev/null
@@ -1,35 +0,0 @@
-package ini
-
-// Statement is an empty AST mostly used for transitioning states.
-func newStatement() AST {
- return newAST(ASTKindStatement, AST{})
-}
-
-// SectionStatement represents a section AST
-func newSectionStatement(tok Token) AST {
- return newASTWithRootToken(ASTKindSectionStatement, tok)
-}
-
-// ExprStatement represents a completed expression AST
-func newExprStatement(ast AST) AST {
- return newAST(ASTKindExprStatement, ast)
-}
-
-// CommentStatement represents a comment in the ini defintion.
-//
-// grammar:
-// comment -> #comment' | ;comment'
-// comment' -> epsilon | value
-func newCommentStatement(tok Token) AST {
- return newAST(ASTKindCommentStatement, newExpression(tok))
-}
-
-// CompletedSectionStatement represents a completed section
-func newCompletedSectionStatement(ast AST) AST {
- return newAST(ASTKindCompletedSectionStatement, ast)
-}
-
-// SkipStatement is used to skip whole statements
-func newSkipStatement(ast AST) AST {
- return newAST(ASTKindSkipStatement, ast)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/strings.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/strings.go
new file mode 100644
index 00000000..661588c2
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/strings.go
@@ -0,0 +1,93 @@
+package ini
+
+import (
+ "strings"
+)
+
+func trimProfileComment(s string) string {
+ r, _, _ := strings.Cut(s, "#")
+ r, _, _ = strings.Cut(r, ";")
+ return r
+}
+
+func trimPropertyComment(s string) string {
+ r, _, _ := strings.Cut(s, " #")
+ r, _, _ = strings.Cut(r, " ;")
+ r, _, _ = strings.Cut(r, "\t#")
+ r, _, _ = strings.Cut(r, "\t;")
+ return r
+}
+
+// assumes no surrounding comment
+func splitProperty(s string) (string, string, bool) {
+ equalsi := strings.Index(s, "=")
+ coloni := strings.Index(s, ":") // LEGACY: also supported for property assignment
+ sep := "="
+ if equalsi == -1 || coloni != -1 && coloni < equalsi {
+ sep = ":"
+ }
+
+ k, v, ok := strings.Cut(s, sep)
+ if !ok {
+ return "", "", false
+ }
+ return strings.TrimSpace(k), strings.TrimSpace(v), true
+}
+
+// assumes no surrounding comment, whitespace, or profile brackets
+func splitProfile(s string) (string, string) {
+ var first int
+ for i, r := range s {
+ if isLineSpace(r) {
+ if first == 0 {
+ first = i
+ }
+ } else {
+ if first != 0 {
+ return s[:first], s[i:]
+ }
+ }
+ }
+ if first == 0 {
+ return "", s // type component is effectively blank
+ }
+ return "", ""
+}
+
+func isLineSpace(r rune) bool {
+ return r == ' ' || r == '\t'
+}
+
+func unquote(s string) string {
+ if isSingleQuoted(s) || isDoubleQuoted(s) {
+ return s[1 : len(s)-1]
+ }
+ return s
+}
+
+// applies various legacy conversions to property values:
+// - remote wrapping single/doublequotes
+// - expand escaped quote and newline sequences
+func legacyStrconv(s string) string {
+ s = unquote(s)
+ s = strings.ReplaceAll(s, `\"`, `"`)
+ s = strings.ReplaceAll(s, `\'`, `'`)
+ s = strings.ReplaceAll(s, `\n`, "\n")
+ return s
+}
+
+func isSingleQuoted(s string) bool {
+ return hasAffixes(s, "'", "'")
+}
+
+func isDoubleQuoted(s string) bool {
+ return hasAffixes(s, `"`, `"`)
+}
+
+func isBracketed(s string) bool {
+ return hasAffixes(s, "[", "]")
+}
+
+func hasAffixes(s, left, right string) bool {
+ return strings.HasPrefix(s, left) && strings.HasSuffix(s, right)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/token.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/token.go
new file mode 100644
index 00000000..6e9a0374
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/token.go
@@ -0,0 +1,32 @@
+package ini
+
+type lineToken interface {
+ isLineToken()
+}
+
+type lineTokenProfile struct {
+ Type string
+ Name string
+}
+
+func (*lineTokenProfile) isLineToken() {}
+
+type lineTokenProperty struct {
+ Key string
+ Value string
+}
+
+func (*lineTokenProperty) isLineToken() {}
+
+type lineTokenContinuation struct {
+ Value string
+}
+
+func (*lineTokenContinuation) isLineToken() {}
+
+type lineTokenSubProperty struct {
+ Key string
+ Value string
+}
+
+func (*lineTokenSubProperty) isLineToken() {}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/tokenize.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/tokenize.go
new file mode 100644
index 00000000..89a77368
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/tokenize.go
@@ -0,0 +1,92 @@
+package ini
+
+import (
+ "strings"
+)
+
+func tokenize(lines []string) ([]lineToken, error) {
+ tokens := make([]lineToken, 0, len(lines))
+ for _, line := range lines {
+ if len(strings.TrimSpace(line)) == 0 || isLineComment(line) {
+ continue
+ }
+
+ if tok := asProfile(line); tok != nil {
+ tokens = append(tokens, tok)
+ } else if tok := asProperty(line); tok != nil {
+ tokens = append(tokens, tok)
+ } else if tok := asSubProperty(line); tok != nil {
+ tokens = append(tokens, tok)
+ } else if tok := asContinuation(line); tok != nil {
+ tokens = append(tokens, tok)
+ } // unrecognized tokens are effectively ignored
+ }
+ return tokens, nil
+}
+
+func isLineComment(line string) bool {
+ trimmed := strings.TrimLeft(line, " \t")
+ return strings.HasPrefix(trimmed, "#") || strings.HasPrefix(trimmed, ";")
+}
+
+func asProfile(line string) *lineTokenProfile { // " [ type name ] ; comment"
+ trimmed := strings.TrimSpace(trimProfileComment(line)) // "[ type name ]"
+ if !isBracketed(trimmed) {
+ return nil
+ }
+ trimmed = trimmed[1 : len(trimmed)-1] // " type name " (or just " name ")
+ trimmed = strings.TrimSpace(trimmed) // "type name" / "name"
+ typ, name := splitProfile(trimmed)
+ return &lineTokenProfile{
+ Type: typ,
+ Name: name,
+ }
+}
+
+func asProperty(line string) *lineTokenProperty {
+ if isLineSpace(rune(line[0])) {
+ return nil
+ }
+
+ trimmed := trimPropertyComment(line)
+ trimmed = strings.TrimRight(trimmed, " \t")
+ k, v, ok := splitProperty(trimmed)
+ if !ok {
+ return nil
+ }
+
+ return &lineTokenProperty{
+ Key: strings.ToLower(k), // LEGACY: normalize key case
+ Value: legacyStrconv(v), // LEGACY: see func docs
+ }
+}
+
+func asSubProperty(line string) *lineTokenSubProperty {
+ if !isLineSpace(rune(line[0])) {
+ return nil
+ }
+
+ // comments on sub-properties are included in the value
+ trimmed := strings.TrimLeft(line, " \t")
+ k, v, ok := splitProperty(trimmed)
+ if !ok {
+ return nil
+ }
+
+ return &lineTokenSubProperty{ // same LEGACY constraints as in normal property
+ Key: strings.ToLower(k),
+ Value: legacyStrconv(v),
+ }
+}
+
+func asContinuation(line string) *lineTokenContinuation {
+ if !isLineSpace(rune(line[0])) {
+ return nil
+ }
+
+ // includes comments like sub-properties
+ trimmed := strings.TrimLeft(line, " \t")
+ return &lineTokenContinuation{
+ Value: trimmed,
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/value.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/value.go
new file mode 100644
index 00000000..e3706b3c
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/value.go
@@ -0,0 +1,93 @@
+package ini
+
+import (
+ "fmt"
+ "strconv"
+ "strings"
+)
+
+// ValueType is an enum that will signify what type
+// the Value is
+type ValueType int
+
+func (v ValueType) String() string {
+ switch v {
+ case NoneType:
+ return "NONE"
+ case StringType:
+ return "STRING"
+ }
+
+ return ""
+}
+
+// ValueType enums
+const (
+ NoneType = ValueType(iota)
+ StringType
+ QuotedStringType
+)
+
+// Value is a union container
+type Value struct {
+ Type ValueType
+
+ str string
+ mp map[string]string
+}
+
+// NewStringValue returns a Value type generated using a string input.
+func NewStringValue(str string) (Value, error) {
+ return Value{str: str}, nil
+}
+
+func (v Value) String() string {
+ switch v.Type {
+ case StringType:
+ return fmt.Sprintf("string: %s", string(v.str))
+ case QuotedStringType:
+ return fmt.Sprintf("quoted string: %s", string(v.str))
+ default:
+ return "union not set"
+ }
+}
+
+// MapValue returns a map value for sub properties
+func (v Value) MapValue() map[string]string {
+ return v.mp
+}
+
+// IntValue returns an integer value
+func (v Value) IntValue() (int64, bool) {
+ i, err := strconv.ParseInt(string(v.str), 0, 64)
+ if err != nil {
+ return 0, false
+ }
+ return i, true
+}
+
+// FloatValue returns a float value
+func (v Value) FloatValue() (float64, bool) {
+ f, err := strconv.ParseFloat(string(v.str), 64)
+ if err != nil {
+ return 0, false
+ }
+ return f, true
+}
+
+// BoolValue returns a bool value
+func (v Value) BoolValue() (bool, bool) {
+ // we don't use ParseBool as it recognizes more than what we've
+ // historically supported
+ if strings.EqualFold(v.str, "true") {
+ return true, true
+ } else if strings.EqualFold(v.str, "false") {
+ return false, true
+ }
+ return false, false
+}
+
+// StringValue returns the string value
+func (v Value) StringValue() string {
+ return v.str
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/value_util.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/value_util.go
deleted file mode 100644
index d38a9cd4..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/value_util.go
+++ /dev/null
@@ -1,123 +0,0 @@
-package ini
-
-import (
- "fmt"
-)
-
-// getStringValue will return a quoted string and the amount
-// of bytes read
-//
-// an error will be returned if the string is not properly formatted
-func getStringValue(b []rune) (int, error) {
- if b[0] != '"' {
- return 0, NewParseError("strings must start with '\"'")
- }
-
- endQuote := false
- i := 1
-
- for ; i < len(b) && !endQuote; i++ {
- if escaped := isEscaped(b[:i], b[i]); b[i] == '"' && !escaped {
- endQuote = true
- break
- } else if escaped {
- /*c, err := getEscapedByte(b[i])
- if err != nil {
- return 0, err
- }
-
- b[i-1] = c
- b = append(b[:i], b[i+1:]...)
- i--*/
-
- continue
- }
- }
-
- if !endQuote {
- return 0, NewParseError("missing '\"' in string value")
- }
-
- return i + 1, nil
-}
-
-func getValue(b []rune) (int, error) {
- i := 0
-
- for i < len(b) {
- if isNewline(b[i:]) {
- break
- }
-
- if isOp(b[i:]) {
- break
- }
-
- valid, n, err := isValid(b[i:])
- if err != nil {
- return 0, err
- }
-
- if !valid {
- break
- }
-
- i += n
- }
-
- return i, nil
-}
-
-// isEscaped will return whether or not the character is an escaped
-// character.
-func isEscaped(value []rune, b rune) bool {
- if len(value) == 0 {
- return false
- }
-
- switch b {
- case '\'': // single quote
- case '"': // quote
- case 'n': // newline
- case 't': // tab
- case '\\': // backslash
- default:
- return false
- }
-
- return value[len(value)-1] == '\\'
-}
-
-func getEscapedByte(b rune) (rune, error) {
- switch b {
- case '\'': // single quote
- return '\'', nil
- case '"': // quote
- return '"', nil
- case 'n': // newline
- return '\n', nil
- case 't': // table
- return '\t', nil
- case '\\': // backslash
- return '\\', nil
- default:
- return b, NewParseError(fmt.Sprintf("invalid escaped character %c", b))
- }
-}
-
-func removeEscapedCharacters(b []rune) []rune {
- for i := 0; i < len(b); i++ {
- if isEscaped(b[:i], b[i]) {
- c, err := getEscapedByte(b[i])
- if err != nil {
- return b
- }
-
- b[i-1] = c
- b = append(b[:i], b[i+1:]...)
- i--
- }
- }
-
- return b
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/visitor.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/visitor.go
deleted file mode 100644
index c124ad61..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/visitor.go
+++ /dev/null
@@ -1,288 +0,0 @@
-package ini
-
-import (
- "fmt"
- "sort"
- "strings"
-)
-
-// Visitor is an interface used by walkers that will
-// traverse an array of ASTs.
-type Visitor interface {
- VisitExpr(AST) error
- VisitStatement(AST) error
-}
-
-// DefaultVisitor is used to visit statements and expressions
-// and ensure that they are both of the correct format.
-// In addition, upon visiting this will build sections and populate
-// the Sections field which can be used to retrieve profile
-// configuration.
-type DefaultVisitor struct {
-
- // scope is the profile which is being visited
- scope string
-
- // path is the file path which the visitor is visiting
- path string
-
- // Sections defines list of the profile section
- Sections Sections
-}
-
-// NewDefaultVisitor returns a DefaultVisitor. It takes in a filepath
-// which points to the file it is visiting.
-func NewDefaultVisitor(filepath string) *DefaultVisitor {
- return &DefaultVisitor{
- Sections: Sections{
- container: map[string]Section{},
- },
- path: filepath,
- }
-}
-
-// VisitExpr visits expressions...
-func (v *DefaultVisitor) VisitExpr(expr AST) error {
- t := v.Sections.container[v.scope]
- if t.values == nil {
- t.values = values{}
- }
- if t.SourceFile == nil {
- t.SourceFile = make(map[string]string, 0)
- }
-
- switch expr.Kind {
- case ASTKindExprStatement:
- opExpr := expr.GetRoot()
- switch opExpr.Kind {
- case ASTKindEqualExpr:
- children := opExpr.GetChildren()
- if len(children) <= 1 {
- return NewParseError("unexpected token type")
- }
-
- rhs := children[1]
-
- // The right-hand value side the equality expression is allowed to contain '[', ']', ':', '=' in the values.
- // If the token is not either a literal or one of the token types that identifies those four additional
- // tokens then error.
- if !(rhs.Root.Type() == TokenLit || rhs.Root.Type() == TokenOp || rhs.Root.Type() == TokenSep) {
- return NewParseError("unexpected token type")
- }
-
- key := EqualExprKey(opExpr)
- val, err := newValue(rhs.Root.ValueType, rhs.Root.base, rhs.Root.Raw())
- if err != nil {
- return err
- }
-
- // lower case key to standardize
- k := strings.ToLower(key)
-
- // identify if the section already had this key, append log on section
- if t.Has(k) {
- t.Logs = append(t.Logs,
- fmt.Sprintf("For profile: %v, overriding %v value, "+
- "with a %v value found in a duplicate profile defined later in the same file %v. \n",
- t.Name, k, k, v.path))
- }
-
- // assign the value
- t.values[k] = val
- // update the source file path for region
- t.SourceFile[k] = v.path
- default:
- return NewParseError(fmt.Sprintf("unsupported expression %v", expr))
- }
- default:
- return NewParseError(fmt.Sprintf("unsupported expression %v", expr))
- }
-
- v.Sections.container[v.scope] = t
- return nil
-}
-
-// VisitStatement visits statements...
-func (v *DefaultVisitor) VisitStatement(stmt AST) error {
- switch stmt.Kind {
- case ASTKindCompletedSectionStatement:
- child := stmt.GetRoot()
- if child.Kind != ASTKindSectionStatement {
- return NewParseError(fmt.Sprintf("unsupported child statement: %T", child))
- }
-
- name := string(child.Root.Raw())
-
- // trim start and end space
- name = strings.TrimSpace(name)
-
- // if has prefix "profile " + [ws+] + "profile-name",
- // we standardize by removing the [ws+] between prefix and profile-name.
- if strings.HasPrefix(name, "profile ") {
- names := strings.SplitN(name, " ", 2)
- name = names[0] + " " + strings.TrimLeft(names[1], " ")
- }
-
- // attach profile name on section
- if !v.Sections.HasSection(name) {
- v.Sections.container[name] = NewSection(name)
- }
- v.scope = name
- default:
- return NewParseError(fmt.Sprintf("unsupported statement: %s", stmt.Kind))
- }
-
- return nil
-}
-
-// Sections is a map of Section structures that represent
-// a configuration.
-type Sections struct {
- container map[string]Section
-}
-
-// NewSections returns empty ini Sections
-func NewSections() Sections {
- return Sections{
- container: make(map[string]Section, 0),
- }
-}
-
-// GetSection will return section p. If section p does not exist,
-// false will be returned in the second parameter.
-func (t Sections) GetSection(p string) (Section, bool) {
- v, ok := t.container[p]
- return v, ok
-}
-
-// HasSection denotes if Sections consist of a section with
-// provided name.
-func (t Sections) HasSection(p string) bool {
- _, ok := t.container[p]
- return ok
-}
-
-// SetSection sets a section value for provided section name.
-func (t Sections) SetSection(p string, v Section) Sections {
- t.container[p] = v
- return t
-}
-
-// DeleteSection deletes a section entry/value for provided section name./
-func (t Sections) DeleteSection(p string) {
- delete(t.container, p)
-}
-
-// values represents a map of union values.
-type values map[string]Value
-
-// List will return a list of all sections that were successfully
-// parsed.
-func (t Sections) List() []string {
- keys := make([]string, len(t.container))
- i := 0
- for k := range t.container {
- keys[i] = k
- i++
- }
-
- sort.Strings(keys)
- return keys
-}
-
-// Section contains a name and values. This represent
-// a sectioned entry in a configuration file.
-type Section struct {
- // Name is the Section profile name
- Name string
-
- // values are the values within parsed profile
- values values
-
- // Errors is the list of errors
- Errors []error
-
- // Logs is the list of logs
- Logs []string
-
- // SourceFile is the INI Source file from where this section
- // was retrieved. They key is the property, value is the
- // source file the property was retrieved from.
- SourceFile map[string]string
-}
-
-// NewSection returns an initialize section for the name
-func NewSection(name string) Section {
- return Section{
- Name: name,
- values: values{},
- SourceFile: map[string]string{},
- }
-}
-
-// List will return a list of all
-// services in values
-func (t Section) List() []string {
- keys := make([]string, len(t.values))
- i := 0
- for k := range t.values {
- keys[i] = k
- i++
- }
-
- sort.Strings(keys)
- return keys
-}
-
-// UpdateSourceFile updates source file for a property to provided filepath.
-func (t Section) UpdateSourceFile(property string, filepath string) {
- t.SourceFile[property] = filepath
-}
-
-// UpdateValue updates value for a provided key with provided value
-func (t Section) UpdateValue(k string, v Value) error {
- t.values[k] = v
- return nil
-}
-
-// Has will return whether or not an entry exists in a given section
-func (t Section) Has(k string) bool {
- _, ok := t.values[k]
- return ok
-}
-
-// ValueType will returned what type the union is set to. If
-// k was not found, the NoneType will be returned.
-func (t Section) ValueType(k string) (ValueType, bool) {
- v, ok := t.values[k]
- return v.Type, ok
-}
-
-// Bool returns a bool value at k
-func (t Section) Bool(k string) (bool, bool) {
- return t.values[k].BoolValue()
-}
-
-// Int returns an integer value at k
-func (t Section) Int(k string) (int64, bool) {
- return t.values[k].IntValue()
-}
-
-// Map returns a map value at k
-func (t Section) Map(k string) map[string]string {
- return t.values[k].MapValue()
-}
-
-// Float64 returns a float value at k
-func (t Section) Float64(k string) (float64, bool) {
- return t.values[k].FloatValue()
-}
-
-// String returns the string value at k
-func (t Section) String(k string) string {
- _, ok := t.values[k]
- if !ok {
- return ""
- }
- return t.values[k].StringValue()
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/walker.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/walker.go
deleted file mode 100644
index 99915f7f..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/walker.go
+++ /dev/null
@@ -1,25 +0,0 @@
-package ini
-
-// Walk will traverse the AST using the v, the Visitor.
-func Walk(tree []AST, v Visitor) error {
- for _, node := range tree {
- switch node.Kind {
- case ASTKindExpr,
- ASTKindExprStatement:
-
- if err := v.VisitExpr(node); err != nil {
- return err
- }
- case ASTKindStatement,
- ASTKindCompletedSectionStatement,
- ASTKindNestedSectionStatement,
- ASTKindCompletedNestedSectionStatement:
-
- if err := v.VisitStatement(node); err != nil {
- return err
- }
- }
- }
-
- return nil
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ws_token.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ws_token.go
deleted file mode 100644
index 7ffb4ae0..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/ws_token.go
+++ /dev/null
@@ -1,24 +0,0 @@
-package ini
-
-import (
- "unicode"
-)
-
-// isWhitespace will return whether or not the character is
-// a whitespace character.
-//
-// Whitespace is defined as a space or tab.
-func isWhitespace(c rune) bool {
- return unicode.IsSpace(c) && c != '\n' && c != '\r'
-}
-
-func newWSToken(b []rune) (Token, int, error) {
- i := 0
- for ; i < len(b); i++ {
- if !isWhitespace(b[i]) {
- break
- }
- }
-
- return newToken(TokenWS, b[:i], NoneType), i, nil
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md
index bd0c9511..8aa94972 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md
@@ -1,3 +1,39 @@
+# v1.2.10 (2024-01-04)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.9 (2023-12-07)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.8 (2023-12-01)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.7 (2023-11-30)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.6 (2023-11-29)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.5 (2023-11-28.2)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.4 (2023-11-20)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.3 (2023-11-15)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.2 (2023-11-09)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
# v1.2.1 (2023-11-01)
* **Dependency Update**: Updated to the latest SDK module versions
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go
index ecaa3aa9..2a5888c1 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go
@@ -3,4 +3,4 @@
package v4a
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.2.1"
+const goModuleVersion = "1.2.10"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/smithy.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/smithy.go
new file mode 100644
index 00000000..516d459d
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/smithy.go
@@ -0,0 +1,86 @@
+package v4a
+
+import (
+ "context"
+ "fmt"
+ "time"
+
+ v4 "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
+ "github.com/aws/aws-sdk-go-v2/internal/sdk"
+ "github.com/aws/smithy-go"
+ "github.com/aws/smithy-go/auth"
+ "github.com/aws/smithy-go/logging"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+)
+
+// CredentialsAdapter adapts v4a.Credentials to smithy auth.Identity.
+type CredentialsAdapter struct {
+ Credentials Credentials
+}
+
+var _ auth.Identity = (*CredentialsAdapter)(nil)
+
+// Expiration returns the time of expiration for the credentials.
+func (v *CredentialsAdapter) Expiration() time.Time {
+ return v.Credentials.Expires
+}
+
+// CredentialsProviderAdapter adapts v4a.CredentialsProvider to
+// auth.IdentityResolver.
+type CredentialsProviderAdapter struct {
+ Provider CredentialsProvider
+}
+
+var _ (auth.IdentityResolver) = (*CredentialsProviderAdapter)(nil)
+
+// GetIdentity retrieves v4a credentials using the underlying provider.
+func (v *CredentialsProviderAdapter) GetIdentity(ctx context.Context, _ smithy.Properties) (
+ auth.Identity, error,
+) {
+ creds, err := v.Provider.RetrievePrivateKey(ctx)
+ if err != nil {
+ return nil, fmt.Errorf("get credentials: %w", err)
+ }
+
+ return &CredentialsAdapter{Credentials: creds}, nil
+}
+
+// SignerAdapter adapts v4a.HTTPSigner to smithy http.Signer.
+type SignerAdapter struct {
+ Signer HTTPSigner
+ Logger logging.Logger
+ LogSigning bool
+}
+
+var _ (smithyhttp.Signer) = (*SignerAdapter)(nil)
+
+// SignRequest signs the request with the provided identity.
+func (v *SignerAdapter) SignRequest(ctx context.Context, r *smithyhttp.Request, identity auth.Identity, props smithy.Properties) error {
+ ca, ok := identity.(*CredentialsAdapter)
+ if !ok {
+ return fmt.Errorf("unexpected identity type: %T", identity)
+ }
+
+ name, ok := smithyhttp.GetSigV4SigningName(&props)
+ if !ok {
+ return fmt.Errorf("sigv4a signing name is required")
+ }
+
+ regions, ok := smithyhttp.GetSigV4ASigningRegions(&props)
+ if !ok {
+ return fmt.Errorf("sigv4a signing region is required")
+ }
+
+ hash := v4.GetPayloadHash(ctx)
+ err := v.Signer.SignHTTP(ctx, ca.Credentials, r.Request, hash, name, regions, sdk.NowTime(), func(o *SignerOptions) {
+ o.DisableURIPathEscaping, _ = smithyhttp.GetDisableDoubleEncoding(&props)
+
+ o.Logger = v.Logger
+ o.LogSigning = v.LogSigning
+ })
+ if err != nil {
+ return fmt.Errorf("sign http: %w", err)
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/local-mod-replace.sh b/vendor/github.com/aws/aws-sdk-go-v2/local-mod-replace.sh
deleted file mode 100644
index 81a83612..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/local-mod-replace.sh
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/usr/bin/env bash
-
-PROJECT_DIR=""
-SDK_SOURCE_DIR=$(cd `dirname $0` && pwd)
-
-usage() {
- echo "Usage: $0 [-s SDK_SOURCE_DIR] [-d PROJECT_DIR]" 1>&2
- exit 1
-}
-
-while getopts "hs:d:" options; do
- case "${options}" in
- s)
- SDK_SOURCE_DIR=${OPTARG}
- if [ "$SDK_SOURCE_DIR" == "" ]; then
- echo "path to SDK source directory is required" || exit
- usage
- fi
- ;;
- d)
- PROJECT_DIR=${OPTARG}
- ;;
- h)
- usage
- ;;
- *)
- usage
- ;;
- esac
-done
-
-if [ "$PROJECT_DIR" != "" ]; then
- cd "$PROJECT_DIR" || exit
-fi
-
-go mod graph | awk '{print $1}' | cut -d '@' -f 1 | sort | uniq | grep "github.com/aws/aws-sdk-go-v2" | while read x; do
- repPath=${x/github.com\/aws\/aws-sdk-go-v2/${SDK_SOURCE_DIR}}
- echo -replace $x=$repPath
-done | xargs go mod edit
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/modman.toml b/vendor/github.com/aws/aws-sdk-go-v2/modman.toml
deleted file mode 100644
index 61c8da5c..00000000
--- a/vendor/github.com/aws/aws-sdk-go-v2/modman.toml
+++ /dev/null
@@ -1,78 +0,0 @@
-
-[dependencies]
- "github.com/aws/aws-sdk-go" = "v1.44.28"
- "github.com/aws/smithy-go" = "v1.16.0"
- "github.com/google/go-cmp" = "v0.5.8"
- "github.com/jmespath/go-jmespath" = "v0.4.0"
- "golang.org/x/net" = "v0.1.0"
-
-[modules]
-
- [modules."."]
- metadata_package = "aws"
-
- [modules.codegen]
- no_tag = true
-
- [modules."example/service/dynamodb/createTable"]
- no_tag = true
-
- [modules."example/service/dynamodb/scanItems"]
- no_tag = true
-
- [modules."example/service/s3/listObjects"]
- no_tag = true
-
- [modules."example/service/s3/usingPrivateLink"]
- no_tag = true
-
- [modules."feature/ec2/imds/internal/configtesting"]
- no_tag = true
-
- [modules."internal/codegen"]
- no_tag = true
-
- [modules."internal/configsources/configtesting"]
- no_tag = true
-
- [modules."internal/protocoltest/awsrestjson"]
- no_tag = true
-
- [modules."internal/protocoltest/ec2query"]
- no_tag = true
-
- [modules."internal/protocoltest/jsonrpc"]
- no_tag = true
-
- [modules."internal/protocoltest/jsonrpc10"]
- no_tag = true
-
- [modules."internal/protocoltest/query"]
- no_tag = true
-
- [modules."internal/protocoltest/restxml"]
- no_tag = true
-
- [modules."internal/protocoltest/restxmlwithnamespace"]
- no_tag = true
-
- [modules."internal/repotools"]
- no_tag = true
-
- [modules."internal/repotools/changes"]
- no_tag = true
-
- [modules."service/internal/benchmark"]
- no_tag = true
-
- [modules."service/internal/integrationtest"]
- no_tag = true
-
- [modules."service/kinesis/internal/testing"]
- no_tag = true
-
- [modules."service/s3/internal/configtesting"]
- no_tag = true
-
- [modules."service/transcribestreaming/internal/testing"]
- no_tag = true
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md
index 39326ead..c3525fd2 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/CHANGELOG.md
@@ -1,3 +1,19 @@
+# v1.10.4 (2023-12-07)
+
+* No change notes available for this release.
+
+# v1.10.3 (2023-11-30)
+
+* No change notes available for this release.
+
+# v1.10.2 (2023-11-29)
+
+* No change notes available for this release.
+
+# v1.10.1 (2023-11-15)
+
+* No change notes available for this release.
+
# v1.10.0 (2023-10-31)
* **Feature**: **BREAKING CHANGE**: Bump minimum go version to 1.19 per the revised [go version support policy](https://aws.amazon.com/blogs/developer/aws-sdk-for-go-aligns-with-go-release-policy-on-supported-runtimes/).
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/go_module_metadata.go
index e57bbab9..cc638400 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding/go_module_metadata.go
@@ -3,4 +3,4 @@
package acceptencoding
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.10.0"
+const goModuleVersion = "1.10.4"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md
index 260701f1..8f974036 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md
@@ -1,3 +1,39 @@
+# v1.2.10 (2024-01-04)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.9 (2023-12-07)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.8 (2023-12-01)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.7 (2023-11-30)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.6 (2023-11-29)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.5 (2023-11-28.2)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.4 (2023-11-20)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.3 (2023-11-15)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.2.2 (2023-11-09)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
# v1.2.1 (2023-11-01)
* **Dependency Update**: Updated to the latest SDK module versions
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go
index c3acd0ae..a88534d2 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go
@@ -3,4 +3,4 @@
package checksum
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.2.1"
+const goModuleVersion = "1.2.10"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_add.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_add.go
index 3e17d221..1b727acb 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_add.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_add.go
@@ -2,7 +2,6 @@ package checksum
import (
"github.com/aws/smithy-go/middleware"
- smithyhttp "github.com/aws/smithy-go/transport/http"
)
// InputMiddlewareOptions provides the options for the request
@@ -81,28 +80,25 @@ func AddInputMiddleware(stack *middleware.Stack, options InputMiddlewareOptions)
stack.Build.Remove("ContentChecksum")
- // Create the compute checksum middleware that will be added as both a
- // build and finalize handler.
inputChecksum := &computeInputPayloadChecksum{
RequireChecksum: options.RequireChecksum,
EnableTrailingChecksum: options.EnableTrailingChecksum,
EnableComputePayloadHash: options.EnableComputeSHA256PayloadHash,
EnableDecodedContentLengthHeader: options.EnableDecodedContentLengthHeader,
}
-
- // Insert header checksum after ComputeContentLength middleware, must also
- // be before the computePayloadHash middleware handlers.
- err = stack.Build.Insert(inputChecksum,
- (*smithyhttp.ComputeContentLength)(nil).ID(),
- middleware.After)
- if err != nil {
+ if err := stack.Finalize.Insert(inputChecksum, "ResolveEndpointV2", middleware.After); err != nil {
return err
}
// If trailing checksum is not supported no need for finalize handler to be added.
if options.EnableTrailingChecksum {
- err = stack.Finalize.Insert(inputChecksum, "Retry", middleware.After)
- if err != nil {
+ trailerMiddleware := &addInputChecksumTrailer{
+ EnableTrailingChecksum: inputChecksum.EnableTrailingChecksum,
+ RequireChecksum: inputChecksum.RequireChecksum,
+ EnableComputePayloadHash: inputChecksum.EnableComputePayloadHash,
+ EnableDecodedContentLengthHeader: inputChecksum.EnableDecodedContentLengthHeader,
+ }
+ if err := stack.Finalize.Insert(trailerMiddleware, "Retry", middleware.After); err != nil {
return err
}
}
@@ -117,7 +113,6 @@ func RemoveInputMiddleware(stack *middleware.Stack) {
stack.Initialize.Remove(id)
id = (*computeInputPayloadChecksum)(nil).ID()
- stack.Build.Remove(id)
stack.Finalize.Remove(id)
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_compute_input_checksum.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_compute_input_checksum.go
index 0b3c4891..7ffca33f 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_compute_input_checksum.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_compute_input_checksum.go
@@ -9,6 +9,8 @@ import (
"strconv"
v4 "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
+ internalcontext "github.com/aws/aws-sdk-go-v2/internal/context"
+ presignedurlcust "github.com/aws/aws-sdk-go-v2/service/internal/presigned-url"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -70,10 +72,11 @@ type computeInputPayloadChecksum struct {
// when used with trailing checksums, and aws-chunked content-encoding.
EnableDecodedContentLengthHeader bool
- buildHandlerRun bool
- deferToFinalizeHandler bool
+ useTrailer bool
}
+type useTrailer struct{}
+
// ID provides the middleware's identifier.
func (m *computeInputPayloadChecksum) ID() string {
return "AWSChecksum:ComputeInputPayloadChecksum"
@@ -102,13 +105,11 @@ func (e computeInputHeaderChecksumError) Unwrap() error { return e.Err }
//
// The build handler must be inserted in the stack before ContentPayloadHash
// and after ComputeContentLength.
-func (m *computeInputPayloadChecksum) HandleBuild(
- ctx context.Context, in middleware.BuildInput, next middleware.BuildHandler,
+func (m *computeInputPayloadChecksum) HandleFinalize(
+ ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler,
) (
- out middleware.BuildOutput, metadata middleware.Metadata, err error,
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
) {
- m.buildHandlerRun = true
-
req, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, computeInputHeaderChecksumError{
@@ -145,13 +146,13 @@ func (m *computeInputPayloadChecksum) HandleBuild(
}
algorithm = Algorithm("MD5")
}
- return next.HandleBuild(ctx, in)
+ return next.HandleFinalize(ctx, in)
}
// If the checksum header is already set nothing to do.
checksumHeader := AlgorithmHTTPHeader(algorithm)
if checksum = req.Header.Get(checksumHeader); checksum != "" {
- return next.HandleBuild(ctx, in)
+ return next.HandleFinalize(ctx, in)
}
computePayloadHash := m.EnableComputePayloadHash
@@ -169,22 +170,19 @@ func (m *computeInputPayloadChecksum) HandleBuild(
}
// If trailing checksums are supported, the request is HTTPS, and the
- // stream is not nil or empty, there is nothing to do in the build stage.
- // The checksum will be added to the request as a trailing checksum in the
- // finalize handler.
+ // stream is not nil or empty, instead switch to a trailing checksum.
//
// Nil and empty streams will always be handled as a request header,
// regardless if the operation supports trailing checksums or not.
- if req.IsHTTPS() {
+ if req.IsHTTPS() && !presignedurlcust.GetIsPresigning(ctx) {
if stream != nil && streamLength != 0 && m.EnableTrailingChecksum {
if m.EnableComputePayloadHash {
- // payload hash is set as header in Build middleware handler,
- // ContentSHA256Header.
+ // ContentSHA256Header middleware handles the header
ctx = v4.SetPayloadHash(ctx, streamingUnsignedPayloadTrailerPayloadHash)
}
-
- m.deferToFinalizeHandler = true
- return next.HandleBuild(ctx, in)
+ m.useTrailer = true
+ ctx = middleware.WithStackValue(ctx, useTrailer{}, true)
+ return next.HandleFinalize(ctx, in)
}
// If trailing checksums are not enabled but protocol is still HTTPS
@@ -225,7 +223,7 @@ func (m *computeInputPayloadChecksum) HandleBuild(
ctx = v4.SetPayloadHash(ctx, sha256Checksum)
}
- return next.HandleBuild(ctx, in)
+ return next.HandleFinalize(ctx, in)
}
type computeInputTrailingChecksumError struct {
@@ -244,26 +242,31 @@ func (e computeInputTrailingChecksumError) Error() string {
}
func (e computeInputTrailingChecksumError) Unwrap() error { return e.Err }
-// HandleFinalize handles computing the payload's checksum, in the following cases:
+// addInputChecksumTrailer
// - Is HTTPS, not HTTP
// - A checksum was specified via the Input
// - Trailing checksums are supported.
-//
-// The finalize handler must be inserted in the stack before Signing, and after Retry.
-func (m *computeInputPayloadChecksum) HandleFinalize(
+type addInputChecksumTrailer struct {
+ EnableTrailingChecksum bool
+ RequireChecksum bool
+ EnableComputePayloadHash bool
+ EnableDecodedContentLengthHeader bool
+}
+
+// ID identifies this middleware.
+func (*addInputChecksumTrailer) ID() string {
+ return "addInputChecksumTrailer"
+}
+
+// HandleFinalize wraps the request body to write the trailing checksum.
+func (m *addInputChecksumTrailer) HandleFinalize(
ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler,
) (
out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
) {
- if !m.deferToFinalizeHandler {
- if !m.buildHandlerRun {
- return out, metadata, computeInputTrailingChecksumError{
- Msg: "build handler was removed without also removing finalize handler",
- }
- }
+ if enabled, _ := middleware.GetStackValue(ctx, useTrailer{}).(bool); !enabled {
return next.HandleFinalize(ctx, in)
}
-
req, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, computeInputTrailingChecksumError{
@@ -374,7 +377,7 @@ func (m *computeInputPayloadChecksum) HandleFinalize(
}
func getInputAlgorithm(ctx context.Context) (Algorithm, bool, error) {
- ctxAlgorithm := getContextInputAlgorithm(ctx)
+ ctxAlgorithm := internalcontext.GetChecksumInputAlgorithm(ctx)
if ctxAlgorithm == "" {
return "", false, nil
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_setup_context.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_setup_context.go
index f7295254..3db73afe 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_setup_context.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/middleware_setup_context.go
@@ -3,6 +3,7 @@ package checksum
import (
"context"
+ internalcontext "github.com/aws/aws-sdk-go-v2/internal/context"
"github.com/aws/smithy-go/middleware"
)
@@ -35,33 +36,13 @@ func (m *setupInputContext) HandleInitialize(
// check is input resource has a checksum algorithm
algorithm, ok := m.GetAlgorithm(in.Parameters)
if ok && len(algorithm) != 0 {
- ctx = setContextInputAlgorithm(ctx, algorithm)
+ ctx = internalcontext.SetChecksumInputAlgorithm(ctx, algorithm)
}
}
return next.HandleInitialize(ctx, in)
}
-// inputAlgorithmKey is the key set on context used to identify, retrieves the
-// request checksum algorithm if present on the context.
-type inputAlgorithmKey struct{}
-
-// setContextInputAlgorithm sets the request checksum algorithm on the context.
-//
-// Scoped to stack values.
-func setContextInputAlgorithm(ctx context.Context, value string) context.Context {
- return middleware.WithStackValue(ctx, inputAlgorithmKey{}, value)
-}
-
-// getContextInputAlgorithm returns the checksum algorithm from the context if
-// one was specified. Empty string is returned if one is not specified.
-//
-// Scoped to stack values.
-func getContextInputAlgorithm(ctx context.Context) (v string) {
- v, _ = middleware.GetStackValue(ctx, inputAlgorithmKey{}).(string)
- return v
-}
-
type setupOutputContext struct {
// GetValidationMode is a function to get the checksum validation
// mode of the output payload from the input parameters.
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md
index b8338d32..a65890b5 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md
@@ -1,3 +1,39 @@
+# v1.10.10 (2024-01-04)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.10.9 (2023-12-07)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.10.8 (2023-12-01)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.10.7 (2023-11-30)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.10.6 (2023-11-29)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.10.5 (2023-11-28.2)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.10.4 (2023-11-20)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.10.3 (2023-11-15)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.10.2 (2023-11-09)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
# v1.10.1 (2023-11-01)
* **Dependency Update**: Updated to the latest SDK module versions
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go
index d4d780e2..073e8866 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go
@@ -3,4 +3,4 @@
package presignedurl
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.10.1"
+const goModuleVersion = "1.10.10"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md
index 6ac972d6..c4df2176 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md
@@ -1,3 +1,39 @@
+# v1.16.10 (2024-01-04)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.9 (2023-12-07)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.8 (2023-12-01)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.7 (2023-11-30)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.6 (2023-11-29)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.5 (2023-11-28.2)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.4 (2023-11-20)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.3 (2023-11-15)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.16.2 (2023-11-09)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
# v1.16.1 (2023-11-01)
* **Dependency Update**: Updated to the latest SDK module versions
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go
index 4f9ef632..986affe1 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go
@@ -3,4 +3,4 @@
package s3shared
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.16.1"
+const goModuleVersion = "1.16.10"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md
index 9f3eec74..f83de2a5 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md
@@ -1,3 +1,84 @@
+# v1.48.0 (2024-01-05)
+
+* **Feature**: Support smithy sigv4a trait for codegen.
+
+# v1.47.8 (2024-01-04)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.47.7 (2023-12-20)
+
+* No change notes available for this release.
+
+# v1.47.6 (2023-12-18)
+
+* No change notes available for this release.
+
+# v1.47.5 (2023-12-08)
+
+* **Bug Fix**: Add non-vhostable buckets to request path when using legacy V1 endpoint resolver.
+* **Bug Fix**: Improve uniqueness of default S3Express sesssion credentials cache keying to prevent collision in multi-credential scenarios.
+* **Bug Fix**: Reinstate presence of default Retryer in functional options, but still respect max attempts set therein.
+
+# v1.47.4 (2023-12-07)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.47.3 (2023-12-06)
+
+* **Bug Fix**: Restore pre-refactor auth behavior where all operations could technically be performed anonymously.
+
+# v1.47.2 (2023-12-01)
+
+* **Bug Fix**: Correct wrapping of errors in authentication workflow.
+* **Bug Fix**: Correctly recognize cache-wrapped instances of AnonymousCredentials at client construction.
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.47.1 (2023-11-30)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.47.0 (2023-11-29)
+
+* **Feature**: Expose Options() accessor on service clients.
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.46.0 (2023-11-28.2)
+
+* **Feature**: Add S3Express support.
+* **Feature**: Adds support for S3 Express One Zone.
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.45.1 (2023-11-28)
+
+* **Bug Fix**: Respect setting RetryMaxAttempts in functional options at client construction.
+
+# v1.45.0 (2023-11-27)
+
+* **Feature**: Adding new params - Key and Prefix, to S3 API operations for supporting S3 Access Grants. Note - These updates will not change any of the existing S3 API functionality.
+
+# v1.44.0 (2023-11-21)
+
+* **Feature**: Add support for automatic date based partitioning in S3 Server Access Logs.
+* **Bug Fix**: Don't send MaxKeys/MaxUploads=0 when unspecified in ListObjectVersions and ListMultipartUploads paginators.
+
+# v1.43.1 (2023-11-20)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.43.0 (2023-11-17)
+
+* **Feature**: **BREAKING CHANGE** Correct nullability of a large number of S3 structure fields. See https://github.com/aws/aws-sdk-go-v2/issues/2162.
+* **Feature**: Removes all default 0 values for numbers and false values for booleans
+
+# v1.42.2 (2023-11-15)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.42.1 (2023-11-09)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
# v1.42.0 (2023-11-01)
* **Feature**: Adds support for configured endpoints via environment variables and the AWS shared configuration file.
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_client.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_client.go
index e921189a..5e5f27b2 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_client.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_client.go
@@ -11,6 +11,8 @@ import (
"github.com/aws/aws-sdk-go-v2/aws/retry"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
awshttp "github.com/aws/aws-sdk-go-v2/aws/transport/http"
+ internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
+ internalauthsmithy "github.com/aws/aws-sdk-go-v2/internal/auth/smithy"
internalConfig "github.com/aws/aws-sdk-go-v2/internal/configsources"
"github.com/aws/aws-sdk-go-v2/internal/v4a"
acceptencodingcust "github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding"
@@ -56,187 +58,48 @@ func New(options Options, optFns ...func(*Options)) *Client {
resolveHTTPSignerV4a(&options)
+ resolveEndpointResolverV2(&options)
+
+ resolveAuthSchemeResolver(&options)
+
for _, fn := range optFns {
fn(&options)
}
- client := &Client{
- options: options,
- }
+ finalizeRetryMaxAttempts(&options)
resolveCredentialProvider(&options)
- return client
-}
-
-type Options struct {
- // Set of options to modify how an operation is invoked. These apply to all
- // operations invoked for this client. Use functional options on operation call to
- // modify this list for per operation behavior.
- APIOptions []func(*middleware.Stack) error
-
- // The optional application specific identifier appended to the User-Agent header.
- AppID string
-
- // This endpoint will be given as input to an EndpointResolverV2. It is used for
- // providing a custom base endpoint that is subject to modifications by the
- // processing EndpointResolverV2.
- BaseEndpoint *string
-
- // Configures the events that will be sent to the configured logger.
- ClientLogMode aws.ClientLogMode
-
- // The threshold ContentLength in bytes for HTTP PUT request to receive {Expect:
- // 100-continue} header. Setting to -1 will disable adding the Expect header to
- // requests; setting to 0 will set the threshold to default 2MB
- ContinueHeaderThresholdBytes int64
-
- // The credentials object to use when signing requests.
- Credentials aws.CredentialsProvider
-
- // The configuration DefaultsMode that the SDK should use when constructing the
- // clients initial default settings.
- DefaultsMode aws.DefaultsMode
-
- // Allows you to disable S3 Multi-Region access points feature.
- DisableMultiRegionAccessPoints bool
-
- // The endpoint options to be used when attempting to resolve an endpoint.
- EndpointOptions EndpointResolverOptions
-
- // The service endpoint resolver.
- //
- // Deprecated: Deprecated: EndpointResolver and WithEndpointResolver. Providing a
- // value for this field will likely prevent you from using any endpoint-related
- // service features released after the introduction of EndpointResolverV2 and
- // BaseEndpoint. To migrate an EndpointResolver implementation that uses a custom
- // endpoint, set the client option BaseEndpoint instead.
- EndpointResolver EndpointResolver
-
- // Resolves the endpoint used for a particular service. This should be used over
- // the deprecated EndpointResolver
- EndpointResolverV2 EndpointResolverV2
-
- // Signature Version 4 (SigV4) Signer
- HTTPSignerV4 HTTPSignerV4
-
- // The logger writer interface to write logging messages to.
- Logger logging.Logger
-
- // The region to send requests to. (Required)
- Region string
-
- // RetryMaxAttempts specifies the maximum number attempts an API client will call
- // an operation that fails with a retryable error. A value of 0 is ignored, and
- // will not be used to configure the API client created default retryer, or modify
- // per operation call's retry max attempts. When creating a new API Clients this
- // member will only be used if the Retryer Options member is nil. This value will
- // be ignored if Retryer is not nil. If specified in an operation call's functional
- // options with a value that is different than the constructed client's Options,
- // the Client's Retryer will be wrapped to use the operation's specific
- // RetryMaxAttempts value.
- RetryMaxAttempts int
-
- // RetryMode specifies the retry mode the API client will be created with, if
- // Retryer option is not also specified. When creating a new API Clients this
- // member will only be used if the Retryer Options member is nil. This value will
- // be ignored if Retryer is not nil. Currently does not support per operation call
- // overrides, may in the future.
- RetryMode aws.RetryMode
+ ignoreAnonymousAuth(&options)
- // Retryer guides how HTTP requests should be retried in case of recoverable
- // failures. When nil the API client will use a default retryer. The kind of
- // default retry created by the API client can be changed with the RetryMode
- // option.
- Retryer aws.Retryer
+ resolveExpressCredentials(&options)
- // The RuntimeEnvironment configuration, only populated if the DefaultsMode is set
- // to DefaultsModeAuto and is initialized using config.LoadDefaultConfig . You
- // should not populate this structure programmatically, or rely on the values here
- // within your applications.
- RuntimeEnvironment aws.RuntimeEnvironment
+ finalizeServiceEndpointAuthResolver(&options)
- // Allows you to enable arn region support for the service.
- UseARNRegion bool
+ resolveAuthSchemes(&options)
- // Allows you to enable S3 Accelerate feature. All operations compatible with S3
- // Accelerate will use the accelerate endpoint for requests. Requests not
- // compatible will fall back to normal S3 requests. The bucket must be enabled for
- // accelerate to be used with S3 client with accelerate enabled. If the bucket is
- // not enabled for accelerate an error will be returned. The bucket name must be
- // DNS compatible to work with accelerate.
- UseAccelerate bool
-
- // Allows you to enable dual-stack endpoint support for the service.
- //
- // Deprecated: Set dual-stack by setting UseDualStackEndpoint on
- // EndpointResolverOptions. When EndpointResolverOptions' UseDualStackEndpoint
- // field is set it overrides this field value.
- UseDualstack bool
-
- // Allows you to enable the client to use path-style addressing, i.e.,
- // https://s3.amazonaws.com/BUCKET/KEY . By default, the S3 client will use virtual
- // hosted bucket addressing when possible( https://BUCKET.s3.amazonaws.com/KEY ).
- UsePathStyle bool
-
- // Signature Version 4a (SigV4a) Signer
- httpSignerV4a httpSignerV4a
-
- // The initial DefaultsMode used when the client options were constructed. If the
- // DefaultsMode was set to aws.DefaultsModeAuto this will store what the resolved
- // value was at that point in time. Currently does not support per operation call
- // overrides, may in the future.
- resolvedDefaultsMode aws.DefaultsMode
-
- // The HTTP client to invoke API calls with. Defaults to client's default HTTP
- // implementation if nil.
- HTTPClient HTTPClient
-}
-
-// WithAPIOptions returns a functional option for setting the Client's APIOptions
-// option.
-func WithAPIOptions(optFns ...func(*middleware.Stack) error) func(*Options) {
- return func(o *Options) {
- o.APIOptions = append(o.APIOptions, optFns...)
- }
-}
-
-// Deprecated: EndpointResolver and WithEndpointResolver. Providing a value for
-// this field will likely prevent you from using any endpoint-related service
-// features released after the introduction of EndpointResolverV2 and BaseEndpoint.
-// To migrate an EndpointResolver implementation that uses a custom endpoint, set
-// the client option BaseEndpoint instead.
-func WithEndpointResolver(v EndpointResolver) func(*Options) {
- return func(o *Options) {
- o.EndpointResolver = v
+ client := &Client{
+ options: options,
}
-}
-// WithEndpointResolverV2 returns a functional option for setting the Client's
-// EndpointResolverV2 option.
-func WithEndpointResolverV2(v EndpointResolverV2) func(*Options) {
- return func(o *Options) {
- o.EndpointResolverV2 = v
- }
-}
+ finalizeExpressCredentials(&options, client)
-type HTTPClient interface {
- Do(*http.Request) (*http.Response, error)
+ return client
}
-// Copy creates a clone where the APIOptions list is deep copied.
-func (o Options) Copy() Options {
- to := o
- to.APIOptions = make([]func(*middleware.Stack) error, len(o.APIOptions))
- copy(to.APIOptions, o.APIOptions)
-
- return to
+// Options returns a copy of the client configuration.
+//
+// Callers SHOULD NOT perform mutations on any inner structures within client
+// config. Config overrides should instead be made on a per-operation basis through
+// functional options.
+func (c *Client) Options() Options {
+ return c.options.Copy()
}
+
func (c *Client) invokeOperation(ctx context.Context, opID string, params interface{}, optFns []func(*Options), stackFns ...func(*middleware.Stack, Options) error) (result interface{}, metadata middleware.Metadata, err error) {
ctx = middleware.ClearStackValues(ctx)
stack := middleware.NewStack(opID, smithyhttp.NewStackRequest)
options := c.options.Copy()
- resolveEndpointResolverV2(&options)
for _, fn := range optFns {
fn(&options)
@@ -244,12 +107,16 @@ func (c *Client) invokeOperation(ctx context.Context, opID string, params interf
setSafeEventStreamClientLogMode(&options, opID)
- finalizeRetryMaxAttemptOptions(&options, *c)
+ finalizeOperationRetryMaxAttempts(&options, *c)
finalizeClientEndpointResolverOptions(&options)
resolveCredentialProvider(&options)
+ finalizeOperationExpressCredentials(&options, *c)
+
+ finalizeOperationEndpointAuthResolver(&options)
+
for _, fn := range stackFns {
if err := fn(stack, options); err != nil {
return nil, metadata, err
@@ -274,6 +141,73 @@ func (c *Client) invokeOperation(ctx context.Context, opID string, params interf
return result, metadata, err
}
+type operationInputKey struct{}
+
+func setOperationInput(ctx context.Context, input interface{}) context.Context {
+ return middleware.WithStackValue(ctx, operationInputKey{}, input)
+}
+
+func getOperationInput(ctx context.Context) interface{} {
+ return middleware.GetStackValue(ctx, operationInputKey{})
+}
+
+type setOperationInputMiddleware struct {
+}
+
+func (*setOperationInputMiddleware) ID() string {
+ return "setOperationInput"
+}
+
+func (m *setOperationInputMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ ctx = setOperationInput(ctx, in.Parameters)
+ return next.HandleSerialize(ctx, in)
+}
+
+func addProtocolFinalizerMiddlewares(stack *middleware.Stack, options Options, operation string) error {
+ if err := stack.Finalize.Add(&resolveAuthSchemeMiddleware{operation: operation, options: options}, middleware.Before); err != nil {
+ return fmt.Errorf("add ResolveAuthScheme: %w", err)
+ }
+ if err := stack.Finalize.Insert(&getIdentityMiddleware{options: options}, "ResolveAuthScheme", middleware.After); err != nil {
+ return fmt.Errorf("add GetIdentity: %v", err)
+ }
+ if err := stack.Finalize.Insert(&resolveEndpointV2Middleware{options: options}, "GetIdentity", middleware.After); err != nil {
+ return fmt.Errorf("add ResolveEndpointV2: %v", err)
+ }
+ if err := stack.Finalize.Insert(&signRequestMiddleware{}, "ResolveEndpointV2", middleware.After); err != nil {
+ return fmt.Errorf("add Signing: %w", err)
+ }
+ return nil
+}
+func resolveAuthSchemeResolver(options *Options) {
+ if options.AuthSchemeResolver == nil {
+ options.AuthSchemeResolver = &defaultAuthSchemeResolver{}
+ }
+}
+
+func resolveAuthSchemes(options *Options) {
+ if options.AuthSchemes == nil {
+ options.AuthSchemes = []smithyhttp.AuthScheme{
+ internalauth.NewHTTPAuthScheme("aws.auth#sigv4", &internalauthsmithy.V4SignerAdapter{
+ Signer: options.HTTPSignerV4,
+ Logger: options.Logger,
+ LogSigning: options.ClientLogMode.IsSigning(),
+ }),
+ internalauth.NewHTTPAuthScheme("com.amazonaws.s3#sigv4express", &s3cust.ExpressSigner{
+ Signer: options.HTTPSignerV4,
+ Logger: options.Logger,
+ LogSigning: options.ClientLogMode.IsSigning(),
+ }),
+ internalauth.NewHTTPAuthScheme("aws.auth#sigv4a", &v4a.SignerAdapter{
+ Signer: options.httpSignerV4a,
+ Logger: options.Logger,
+ LogSigning: options.ClientLogMode.IsSigning(),
+ }),
+ }
+ }
+}
+
type noSmithyDocumentSerde = smithydocument.NoSerde
type legacyEndpointContextSetter struct {
@@ -345,6 +279,7 @@ func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client {
resolveAWSEndpointResolver(cfg, &opts)
resolveUseARNRegion(cfg, &opts)
resolveDisableMultiRegionAccessPoints(cfg, &opts)
+ resolveDisableExpressAuth(cfg, &opts)
resolveUseDualStackEndpoint(cfg, &opts)
resolveUseFIPSEndpoint(cfg, &opts)
resolveBaseEndpoint(cfg, &opts)
@@ -439,7 +374,15 @@ func resolveAWSRetryMaxAttempts(cfg aws.Config, o *Options) {
o.RetryMaxAttempts = cfg.RetryMaxAttempts
}
-func finalizeRetryMaxAttemptOptions(o *Options, client Client) {
+func finalizeRetryMaxAttempts(o *Options) {
+ if o.RetryMaxAttempts == 0 {
+ return
+ }
+
+ o.Retryer = retry.AddWithMaxAttempts(o.Retryer, o.RetryMaxAttempts)
+}
+
+func finalizeOperationRetryMaxAttempts(o *Options, client Client) {
if v := o.RetryMaxAttempts; v == 0 || v == client.options.RetryMaxAttempts {
return
}
@@ -466,15 +409,6 @@ func addClientUserAgent(stack *middleware.Stack, options Options) error {
return nil
}
-func addHTTPSignerV4Middleware(stack *middleware.Stack, o Options) error {
- mw := v4.NewSignHTTPRequestMiddleware(v4.SignHTTPRequestMiddlewareOptions{
- CredentialsProvider: o.Credentials,
- Signer: o.HTTPSignerV4,
- LogSigning: o.ClientLogMode.IsSigning(),
- })
- return stack.Finalize.Add(mw, middleware.After)
-}
-
type HTTPSignerV4 interface {
SignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time, optFns ...func(*v4.SignerOptions)) error
}
@@ -801,29 +735,77 @@ func withNopHTTPClientAPIOption(o *Options) {
o.HTTPClient = smithyhttp.NopClient{}
}
+type presignContextPolyfillMiddleware struct {
+}
+
+func (*presignContextPolyfillMiddleware) ID() string {
+ return "presignContextPolyfill"
+}
+
+func (m *presignContextPolyfillMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ rscheme := getResolvedAuthScheme(ctx)
+ if rscheme == nil {
+ return out, metadata, fmt.Errorf("no resolved auth scheme")
+ }
+
+ schemeID := rscheme.Scheme.SchemeID()
+ ctx = s3cust.SetSignerVersion(ctx, schemeID)
+ if schemeID == "aws.auth#sigv4" || schemeID == "com.amazonaws.s3#sigv4express" {
+ if sn, ok := smithyhttp.GetSigV4SigningName(&rscheme.SignerProperties); ok {
+ ctx = awsmiddleware.SetSigningName(ctx, sn)
+ }
+ if sr, ok := smithyhttp.GetSigV4SigningRegion(&rscheme.SignerProperties); ok {
+ ctx = awsmiddleware.SetSigningRegion(ctx, sr)
+ }
+ } else if schemeID == "aws.auth#sigv4a" {
+ if sn, ok := smithyhttp.GetSigV4ASigningName(&rscheme.SignerProperties); ok {
+ ctx = awsmiddleware.SetSigningName(ctx, sn)
+ }
+ if sr, ok := smithyhttp.GetSigV4ASigningRegions(&rscheme.SignerProperties); ok {
+ ctx = awsmiddleware.SetSigningRegion(ctx, sr[0])
+ }
+ }
+
+ return next.HandleFinalize(ctx, in)
+}
+
type presignConverter PresignOptions
func (c presignConverter) convertToPresignMiddleware(stack *middleware.Stack, options Options) (err error) {
- stack.Finalize.Clear()
+ if _, ok := stack.Finalize.Get((*acceptencodingcust.DisableGzip)(nil).ID()); ok {
+ stack.Finalize.Remove((*acceptencodingcust.DisableGzip)(nil).ID())
+ }
+ if _, ok := stack.Finalize.Get((*retry.Attempt)(nil).ID()); ok {
+ stack.Finalize.Remove((*retry.Attempt)(nil).ID())
+ }
+ if _, ok := stack.Finalize.Get((*retry.MetricsHeader)(nil).ID()); ok {
+ stack.Finalize.Remove((*retry.MetricsHeader)(nil).ID())
+ }
stack.Deserialize.Clear()
stack.Build.Remove((*awsmiddleware.ClientRequestID)(nil).ID())
stack.Build.Remove("UserAgent")
+ if err := stack.Finalize.Insert(&presignContextPolyfillMiddleware{}, "Signing", middleware.Before); err != nil {
+ return err
+ }
+
pmw := v4.NewPresignHTTPRequestMiddleware(v4.PresignHTTPRequestMiddlewareOptions{
CredentialsProvider: options.Credentials,
Presigner: c.Presigner,
LogSigning: options.ClientLogMode.IsSigning(),
})
- err = stack.Finalize.Add(pmw, middleware.After)
- if err != nil {
+ if _, err := stack.Finalize.Swap("Signing", pmw); err != nil {
return err
}
if err = smithyhttp.AddNoPayloadDefaultContentTypeRemover(stack); err != nil {
return err
}
- // add multi-region access point presigner
+ // extended s3 presigning
signermv := s3cust.NewPresignHTTPRequestMiddleware(s3cust.PresignHTTPRequestMiddlewareOptions{
CredentialsProvider: options.Credentials,
+ ExpressCredentials: options.ExpressCredentials,
V4Presigner: c.Presigner,
V4aPresigner: c.presignerV4a,
LogSigning: options.ClientLogMode.IsSigning(),
@@ -858,31 +840,31 @@ func addRequestResponseLogging(stack *middleware.Stack, o Options) error {
}, middleware.After)
}
-type endpointDisableHTTPSMiddleware struct {
- EndpointDisableHTTPS bool
+type disableHTTPSMiddleware struct {
+ DisableHTTPS bool
}
-func (*endpointDisableHTTPSMiddleware) ID() string {
- return "endpointDisableHTTPSMiddleware"
+func (*disableHTTPSMiddleware) ID() string {
+ return "disableHTTPS"
}
-func (m *endpointDisableHTTPSMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+func (m *disableHTTPSMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
) {
req, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
}
- if m.EndpointDisableHTTPS && !smithyhttp.GetHostnameImmutable(ctx) {
+ if m.DisableHTTPS && !smithyhttp.GetHostnameImmutable(ctx) {
req.URL.Scheme = "http"
}
- return next.HandleSerialize(ctx, in)
-
+ return next.HandleFinalize(ctx, in)
}
-func addendpointDisableHTTPSMiddleware(stack *middleware.Stack, o Options) error {
- return stack.Serialize.Insert(&endpointDisableHTTPSMiddleware{
- EndpointDisableHTTPS: o.EndpointOptions.DisableHTTPS,
- }, "OperationSerializer", middleware.Before)
+
+func addDisableHTTPSMiddleware(stack *middleware.Stack, o Options) error {
+ return stack.Finalize.Insert(&disableHTTPSMiddleware{
+ DisableHTTPS: o.EndpointOptions.DisableHTTPS,
+ }, "ResolveEndpointV2", middleware.After)
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_AbortMultipartUpload.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_AbortMultipartUpload.go
index 5932f1f2..d1e7dcea 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_AbortMultipartUpload.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_AbortMultipartUpload.go
@@ -4,32 +4,49 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// This action aborts a multipart upload. After a multipart upload is aborted, no
-// additional parts can be uploaded using that upload ID. The storage consumed by
-// any previously uploaded parts will be freed. However, if any part uploads are
+// This operation aborts a multipart upload. After a multipart upload is aborted,
+// no additional parts can be uploaded using that upload ID. The storage consumed
+// by any previously uploaded parts will be freed. However, if any part uploads are
// currently in progress, those part uploads might or might not succeed. As a
// result, it might be necessary to abort a given multipart upload multiple times
// in order to completely free all storage consumed by all parts. To verify that
-// all parts have been removed, so you don't get charged for the part storage, you
-// should call the ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html)
-// action and ensure that the parts list is empty. For information about
-// permissions required to use the multipart upload, see Multipart Upload and
-// Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
-// . The following operations are related to AbortMultipartUpload :
+// all parts have been removed and prevent getting charged for the part storage,
+// you should call the ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html)
+// API operation and ensure that the parts list is empty. Directory buckets - For
+// directory buckets, you must make requests for this API operation to the Zonal
+// endpoint. These endpoints support virtual-hosted-style requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style
+// requests are not supported. For more information, see Regional and Zonal
+// endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Permissions
+// - General purpose bucket permissions - For information about permissions
+// required to use the multipart upload, see Multipart Upload and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
+// in the Amazon S3 User Guide.
+// - Directory bucket permissions - To grant access to this API operation on a
+// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// API operation for session-based authorization. Specifically, you grant the
+// s3express:CreateSession permission to the directory bucket in a bucket policy
+// or an IAM identity-based policy. Then, you make the CreateSession API call on
+// the bucket to obtain a session token. With the session token in your request
+// header, you can make API requests to this operation. After the session token
+// expires, you make another CreateSession API call to generate a new session
+// token for use. Amazon Web Services CLI or SDKs create session and refresh the
+// session token automatically to avoid service interruptions when a session
+// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// .
+//
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// Bucket_name.s3express-az_id.region.amazonaws.com . The following operations are
+// related to AbortMultipartUpload :
// - CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
// - UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
// - CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
@@ -52,16 +69,26 @@ func (c *Client) AbortMultipartUpload(ctx context.Context, params *AbortMultipar
type AbortMultipartUploadInput struct {
- // The bucket name to which the upload was taking place. When using this action
- // with an access point, you must direct requests to the access point hostname. The
- // access point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // The bucket name to which the upload was taking place. Directory buckets - When
+ // you use this operation with a directory bucket, you must use
+ // virtual-hosted-style requests in the format
+ // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
+ // supported. Directory bucket names must be unique in the chosen Availability
+ // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
+ // example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 ). For information about bucket
+ // naming restrictions, see Directory bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Access points and Object Lambda access points are
+ // not supported by directory buckets. S3 on Outposts - When you use this action
+ // with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts
+ // hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -81,27 +108,34 @@ type AbortMultipartUploadInput struct {
// This member is required.
UploadId *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
noSmithyDocumentSerde
}
+func (in *AbortMultipartUploadInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.Key = in.Key
+
+}
+
type AbortMultipartUploadOutput struct {
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// Metadata pertaining to the operation's result.
@@ -111,6 +145,9 @@ type AbortMultipartUploadOutput struct {
}
func (c *Client) addOperationAbortMultipartUploadMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpAbortMultipartUpload{}, middleware.After)
if err != nil {
return err
@@ -119,6 +156,10 @@ func (c *Client) addOperationAbortMultipartUploadMiddlewares(stack *middleware.S
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "AbortMultipartUpload"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -140,9 +181,6 @@ func (c *Client) addOperationAbortMultipartUploadMiddlewares(stack *middleware.S
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -158,10 +196,10 @@ func (c *Client) addOperationAbortMultipartUploadMiddlewares(stack *middleware.S
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addAbortMultipartUploadResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpAbortMultipartUploadValidationMiddleware(stack); err != nil {
@@ -191,7 +229,7 @@ func (c *Client) addOperationAbortMultipartUploadMiddlewares(stack *middleware.S
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -211,7 +249,6 @@ func newServiceMetadataMiddleware_opAbortMultipartUpload(region string) *awsmidd
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "AbortMultipartUpload",
}
}
@@ -241,139 +278,3 @@ func addAbortMultipartUploadUpdateEndpoint(stack *middleware.Stack, options Opti
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opAbortMultipartUploadResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opAbortMultipartUploadResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opAbortMultipartUploadResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*AbortMultipartUploadInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addAbortMultipartUploadResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opAbortMultipartUploadResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CompleteMultipartUpload.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CompleteMultipartUpload.go
index babfebcc..b9f094f1 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CompleteMultipartUpload.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CompleteMultipartUpload.go
@@ -4,70 +4,92 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Completes a multipart upload by assembling previously uploaded parts. You first
// initiate the multipart upload and then upload all parts using the UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
+// operation or the UploadPartCopy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)
// operation. After successfully uploading all relevant parts of an upload, you
-// call this action to complete the upload. Upon receiving this request, Amazon S3
-// concatenates all the parts in ascending order by part number to create a new
-// object. In the Complete Multipart Upload request, you must provide the parts
-// list. You must ensure that the parts list is complete. This action concatenates
-// the parts that you provide in the list. For each part in the list, you must
-// provide the part number and the ETag value, returned after that part was
-// uploaded. Processing of a Complete Multipart Upload request could take several
-// 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
-// progress, Amazon S3 periodically sends white space characters to keep the
-// connection from timing out. A request could fail after the initial 200 OK
-// response has been sent. This means that a 200 OK response can contain either a
-// success or an error. If you call the S3 API directly, make sure to design your
-// 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 (https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html)
-// . You cannot use Content-Type: application/x-www-form-urlencoded with Complete
-// Multipart Upload requests. Also, if you do not provide a Content-Type header,
-// CompleteMultipartUpload returns a 200 OK response. For more information about
-// multipart uploads, see Uploading Objects Using Multipart Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html)
-// . For information about permissions required to use the multipart upload API,
-// see Multipart Upload and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
-// . CompleteMultipartUpload has the following special errors:
-// - Error code: EntityTooSmall
+// call this CompleteMultipartUpload operation to complete the upload. Upon
+// receiving this request, Amazon S3 concatenates all the parts in ascending order
+// by part number to create a new object. In the CompleteMultipartUpload request,
+// you must provide the parts list and ensure that the parts list is complete. The
+// CompleteMultipartUpload API operation concatenates the parts that you provide in
+// the list. For each part in the list, you must provide the PartNumber value and
+// the ETag value that are returned after that part was uploaded. The processing
+// of a CompleteMultipartUpload request could take several minutes to finalize.
+// After Amazon S3 begins processing the request, it sends an HTTP response header
+// that specifies a 200 OK response. While processing is in progress, Amazon S3
+// periodically sends white space characters to keep the connection from timing
+// out. A request could fail after the initial 200 OK response has been sent. This
+// means that a 200 OK response can contain either a success or an error. The
+// error response might be embedded in the 200 OK response. If you call this API
+// operation directly, make sure to design your 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 throw an
+// exception (or, for the SDKs that don't use exceptions, they return an error).
+// Note that if CompleteMultipartUpload fails, applications should be prepared to
+// retry the failed requests. For more information, see Amazon S3 Error Best
+// Practices (https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html)
+// . You can't use Content-Type: application/x-www-form-urlencoded for the
+// CompleteMultipartUpload requests. Also, if you don't provide a Content-Type
+// header, CompleteMultipartUpload can still return a 200 OK response. For more
+// information about multipart uploads, see Uploading Objects Using Multipart
+// Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html)
+// in the Amazon S3 User Guide. Directory buckets - For directory buckets, you must
+// make requests for this API operation to the Zonal endpoint. These endpoints
+// support virtual-hosted-style requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style
+// requests are not supported. For more information, see Regional and Zonal
+// endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Permissions
+// - General purpose bucket permissions - For information about permissions
+// required to use the multipart upload API, see Multipart Upload and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
+// in the Amazon S3 User Guide.
+// - Directory bucket permissions - To grant access to this API operation on a
+// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// API operation for session-based authorization. Specifically, you grant the
+// s3express:CreateSession permission to the directory bucket in a bucket policy
+// or an IAM identity-based policy. Then, you make the CreateSession API call on
+// the bucket to obtain a session token. With the session token in your request
+// header, you can make API requests to this operation. After the session token
+// expires, you make another CreateSession API call to generate a new session
+// token for use. Amazon Web Services CLI or SDKs create session and refresh the
+// session token automatically to avoid service interruptions when a session
+// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// .
+//
+// Special errors
+// - Error Code: EntityTooSmall
// - Description: Your proposed upload is smaller than the minimum allowed
// object size. Each part must be at least 5 MB in size, except the last part.
-// - 400 Bad Request
-// - Error code: InvalidPart
+// - HTTP Status Code: 400 Bad Request
+// - Error Code: InvalidPart
// - Description: One or more of the specified parts could not be found. The
-// part might not have been uploaded, or the specified entity tag might not have
-// matched the part's entity tag.
-// - 400 Bad Request
-// - Error code: InvalidPartOrder
+// part might not have been uploaded, or the specified ETag might not have matched
+// the uploaded part's ETag.
+// - HTTP Status Code: 400 Bad Request
+// - Error Code: InvalidPartOrder
// - Description: The list of parts was not in ascending order. The parts list
// must be specified in order by part number.
-// - 400 Bad Request
-// - Error code: NoSuchUpload
+// - HTTP Status Code: 400 Bad Request
+// - Error Code: NoSuchUpload
// - Description: The specified multipart upload does not exist. The upload ID
// might be invalid, or the multipart upload might have been aborted or completed.
-// - 404 Not Found
+// - HTTP Status Code: 404 Not Found
//
-// The following operations are related to CompleteMultipartUpload :
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// Bucket_name.s3express-az_id.region.amazonaws.com . The following operations are
+// related to CompleteMultipartUpload :
// - CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
// - UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
// - AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)
@@ -90,16 +112,26 @@ func (c *Client) CompleteMultipartUpload(ctx context.Context, params *CompleteMu
type CompleteMultipartUploadInput struct {
- // Name of the bucket to which the multipart upload was initiated. When using this
- // action with an access point, you must direct requests to the access point
- // hostname. The access point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // Name of the bucket to which the multipart upload was initiated. Directory
+ // buckets - When you use this operation with a directory bucket, you must use
+ // virtual-hosted-style requests in the format
+ // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
+ // supported. Directory bucket names must be unique in the chosen Availability
+ // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
+ // example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 ). For information about bucket
+ // naming restrictions, see Directory bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Access points and Object Lambda access points are
+ // not supported by directory buckets. S3 on Outposts - When you use this action
+ // with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts
+ // hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -147,9 +179,9 @@ type CompleteMultipartUploadInput struct {
// in the Amazon S3 User Guide.
ChecksumSHA256 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// The container for the multipart upload request information.
@@ -157,83 +189,90 @@ type CompleteMultipartUploadInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
// The server-side encryption (SSE) algorithm used to encrypt the object. This
- // parameter is needed only when the object was created using a checksum algorithm.
- // For more information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
- // in the Amazon S3 User Guide.
+ // parameter is required only when the object was created using a checksum
+ // algorithm or if your bucket policy requires the use of SSE-C. For more
+ // information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html#ssec-require-condition-key)
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
SSECustomerAlgorithm *string
// The server-side encryption (SSE) customer managed key. This parameter is needed
// only when the object was created using a checksum algorithm. For more
// information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
SSECustomerKey *string
// The MD5 server-side encryption (SSE) customer managed key. This parameter is
// needed only when the object was created using a checksum algorithm. For more
// information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
SSECustomerKeyMD5 *string
noSmithyDocumentSerde
}
+func (in *CompleteMultipartUploadInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.Key = in.Key
+
+}
+
type CompleteMultipartUploadOutput struct {
// The name of the bucket that contains the newly created object. Does not return
- // the access point ARN or access point alias if used. When using this action with
- // an access point, you must direct requests to the access point hostname. The
- // access point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
- // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
- // use this action with S3 on Outposts through the Amazon Web Services SDKs, you
- // provide the Outposts access point ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see What is S3 on Outposts? (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
- // in the Amazon S3 User Guide.
+ // the access point ARN or access point alias if used. Access points are not
+ // supported by directory buckets.
Bucket *string
// Indicates whether the multipart upload uses an S3 Bucket Key for server-side
- // encryption with Key Management Service (KMS) keys (SSE-KMS).
- BucketKeyEnabled bool
+ // encryption with Key Management Service (KMS) keys (SSE-KMS). This functionality
+ // is not supported for directory buckets.
+ BucketKeyEnabled *bool
// The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32 *string
// The base64-encoded, 32-bit CRC32C checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32C *string
// The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use the API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA1 *string
// The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA256 *string
@@ -249,6 +288,7 @@ type CompleteMultipartUploadOutput struct {
// If the object expiration is configured, this will contain the expiration date (
// expiry-date ) and rule ID ( rule-id ). The value of rule-id is URL-encoded.
+ // This functionality is not supported for directory buckets.
Expiration *string
// The object key of the newly created object.
@@ -258,19 +298,21 @@ type CompleteMultipartUploadOutput struct {
Location *string
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
- // If present, specifies the ID of the Key Management Service (KMS) symmetric
- // encryption customer managed key that was used for the object.
+ // If present, indicates the ID of the Key Management Service (KMS) symmetric
+ // encryption customer managed key that was used for the object. This functionality
+ // is not supported for directory buckets.
SSEKMSKeyId *string
// The server-side encryption algorithm used when storing this object in Amazon S3
- // (for example, AES256 , aws:kms ).
+ // (for example, AES256 , aws:kms ). For directory buckets, only server-side
+ // encryption with Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported.
ServerSideEncryption types.ServerSideEncryption
// Version ID of the newly created object, in case the bucket has versioning
- // turned on.
+ // turned on. This functionality is not supported for directory buckets.
VersionId *string
// Metadata pertaining to the operation's result.
@@ -280,6 +322,9 @@ type CompleteMultipartUploadOutput struct {
}
func (c *Client) addOperationCompleteMultipartUploadMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpCompleteMultipartUpload{}, middleware.After)
if err != nil {
return err
@@ -288,6 +333,10 @@ func (c *Client) addOperationCompleteMultipartUploadMiddlewares(stack *middlewar
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "CompleteMultipartUpload"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -309,9 +358,6 @@ func (c *Client) addOperationCompleteMultipartUploadMiddlewares(stack *middlewar
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -327,10 +373,10 @@ func (c *Client) addOperationCompleteMultipartUploadMiddlewares(stack *middlewar
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addCompleteMultipartUploadResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpCompleteMultipartUploadValidationMiddleware(stack); err != nil {
@@ -363,7 +409,7 @@ func (c *Client) addOperationCompleteMultipartUploadMiddlewares(stack *middlewar
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -383,7 +429,6 @@ func newServiceMetadataMiddleware_opCompleteMultipartUpload(region string) *awsm
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "CompleteMultipartUpload",
}
}
@@ -413,139 +458,3 @@ func addCompleteMultipartUploadUpdateEndpoint(stack *middleware.Stack, options O
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opCompleteMultipartUploadResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opCompleteMultipartUploadResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opCompleteMultipartUploadResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*CompleteMultipartUploadInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addCompleteMultipartUploadResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opCompleteMultipartUploadResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go
index 97516a25..deb21cee 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CopyObject.go
@@ -4,17 +4,13 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
"time"
)
@@ -25,135 +21,89 @@ import (
// object greater than 5 GB, you must use the multipart upload Upload Part - Copy
// (UploadPartCopy) API. For more information, see Copy Object Using the REST
// Multipart Upload API (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html)
-// . All copy requests must be authenticated. Additionally, you must have read
-// access to the source object and write access to the destination bucket. For more
-// information, see REST Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
-// . Both the Region that you want to copy the object from and the Region that you
-// want to copy the object to must be enabled for your account. A copy request
-// might return an error when Amazon S3 receives the copy request or while Amazon
-// S3 is copying 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 error response is embedded in the 200 OK response. This means
-// that a 200 OK response can contain either a success or an error. If you call
-// the S3 API directly, make sure to design your 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).
-// 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 entire body. The copy request charge is based on the storage
-// class and Region that you specify for the destination object. The request can
-// also result in a data retrieval charge for the source if the source storage
-// class bills for data retrieval. For pricing information, see Amazon S3 pricing (http://aws.amazon.com/s3/pricing/)
-// . Amazon S3 transfer acceleration does not support cross-Region copies. If you
-// request a cross-Region copy using a transfer acceleration endpoint, you get a
-// 400 Bad Request error. For more information, see Transfer Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html)
-// . Metadata When copying an object, you can preserve all metadata (the default)
-// or specify new metadata. However, the access control list (ACL) is not preserved
-// and is set to private for the user making the request. To override the default
-// ACL setting, specify a new ACL when generating a copy request. For more
-// information, see Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html)
-// . To specify whether you want the object metadata copied from the source object
-// or replaced with metadata provided in the request, you can optionally add the
-// x-amz-metadata-directive header. When you grant permissions, you can use the
-// s3:x-amz-metadata-directive condition key to enforce certain metadata behavior
-// when objects are uploaded. For more information, see Specifying Conditions in a
-// Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html)
-// in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition
-// keys, see Actions, Resources, and Condition Keys for Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html)
-// . x-amz-website-redirect-location is unique to each object and must be
-// specified in the request headers to copy the value. x-amz-copy-source-if Headers
-// To only 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-none-match
-// - x-amz-copy-source-if-unmodified-since
-// - x-amz-copy-source-if-modified-since
+// . You can copy individual objects between general purpose buckets, between
+// directory buckets, and between general purpose buckets and directory buckets.
+// Directory buckets - For directory buckets, you must make requests for this API
+// operation to the Zonal endpoint. These endpoints support virtual-hosted-style
+// requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style
+// requests are not supported. For more information, see Regional and Zonal
+// endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Both the Region that you want to copy the object
+// from and the Region that you want to copy the object to must be enabled for your
+// account. Amazon S3 transfer acceleration does not support cross-Region copies.
+// If you request a cross-Region copy using a transfer acceleration endpoint, you
+// get a 400 Bad Request error. For more information, see Transfer Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html)
+// . Authentication and authorization All CopyObject requests must be
+// authenticated and signed by using IAM credentials (access key ID and secret
+// access key for the IAM identities). All headers with the x-amz- prefix,
+// including x-amz-copy-source , must be signed. For more information, see REST
+// Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
+// . Directory buckets - You must use the IAM credentials to authenticate and
+// authorize your access to the CopyObject API operation, instead of using the
+// temporary security credentials through the CreateSession API operation. Amazon
+// Web Services CLI or SDKs handles authentication and authorization on your
+// behalf. Permissions You must have read access to the source object and write
+// access to the destination bucket.
+// - General purpose bucket permissions - You must have permissions in an IAM
+// policy based on the source and destination bucket types in a CopyObject
+// operation.
+// - If the source object is in a general purpose bucket, you must have
+// s3:GetObject permission to read the source object that is being copied.
+// - If the destination bucket is a general purpose bucket, you must have
+// s3:PubObject permission to write the object copy to the destination bucket.
+// - Directory bucket permissions - You must have permissions in a bucket policy
+// or an IAM identity-based policy based on the source and destination bucket types
+// in a CopyObject operation.
+// - If the source object that you want to copy is in a directory bucket, you
+// must have the s3express:CreateSession permission in the Action element of a
+// policy to read the object. By default, the session is in the ReadWrite mode.
+// If you want to restrict the access, you can explicitly set the
+// s3express:SessionMode condition key to ReadOnly on the copy source bucket.
+// - If the copy destination is a directory bucket, you must have the
+// s3express:CreateSession permission in the Action element of a policy to write
+// the object to the destination. The s3express:SessionMode condition key can't
+// be set to ReadOnly on the copy destination bucket. For example policies, see
+// Example bucket policies for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html)
+// and Amazon Web Services Identity and Access Management (IAM) identity-based
+// policies for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html)
+// in the Amazon S3 User Guide.
//
-// 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:
-// - x-amz-copy-source-if-match condition evaluates to true
-// - x-amz-copy-source-if-unmodified-since condition evaluates to false
+// Response and special errors When the request is an HTTP 1.1 request, the
+// response is chunk encoded. When the request is not an HTTP 1.1 request, the
+// response would not contain the Content-Length . You always need to read the
+// entire response body to check if the copy succeeds. to keep the connection alive
+// while we copy the data.
+// - If the copy is successful, you receive a response with information about
+// the copied object.
+// - A copy request might return an error when Amazon S3 receives the copy
+// request or while Amazon S3 is copying the files. A 200 OK response can contain
+// either a success or an error.
+// - 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 error response is
+// embedded in the 200 OK response. For example, in a cross-region copy, you may
+// encounter throttling and receive a 200 OK response. For more information, see
+// Resolve the Error 200 response when copying objects to Amazon S3 . The 200 OK
+// status code means the copy was accepted, but it doesn't mean the copy is
+// complete. Another example is when you disconnect from Amazon S3 before the copy
+// is complete, Amazon S3 might cancel the copy and you may receive a 200 OK
+// response. You must stay connected to Amazon S3 until the entire response is
+// successfully received and processed. If you call this API operation directly,
+// make sure to design your application to parse the content of the response and
+// handle it appropriately. If you use Amazon Web Services SDKs, SDKs 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 throw an exception (or, for
+// the SDKs that don't use exceptions, they return an error).
//
-// 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
-//
-// 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
-// that are copied to an S3 bucket. When copying an object, if you don't specify
-// encryption information in your copy request, the encryption setting of the
-// target object is set to the default encryption configuration of the destination
-// bucket. By default, all 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 Key Management Service (KMS) keys (SSE-KMS), dual-layer
-// server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or
-// server-side encryption with customer-provided encryption keys (SSE-C), Amazon S3
-// uses the corresponding KMS key, or a customer-provided key to encrypt the target
-// object copy. When you perform a CopyObject operation, if you want to use a
-// different type of encryption setting for the target object, you can use other
-// appropriate encryption-related headers to encrypt the target object with a KMS
-// key, an Amazon S3 managed key, or a customer-provided key. With server-side
-// encryption, Amazon S3 encrypts your data as it writes your data to disks in its
-// data centers and decrypts the data when you access it. 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
-// the source object for the copy is stored in Amazon S3 using SSE-C, you must
-// provide the necessary encryption information in your request so that Amazon S3
-// can decrypt the object 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 a target object uses SSE-KMS, you can enable an S3 Bucket Key for the
-// object. For more information, see Amazon S3 Bucket Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html)
-// in the Amazon S3 User Guide. Access Control List (ACL)-Specific Request Headers
-// When copying an object, you can optionally use 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 that are 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 ACLs Using the REST API (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html)
-// . If the bucket that you're copying objects to uses the bucket owner enforced
-// setting for S3 Object Ownership, ACLs are disabled and no longer affect
-// permissions. Buckets that use this setting only accept PUT requests that don't
-// specify an ACL or PUT requests that specify bucket owner full control ACLs,
-// such as the bucket-owner-full-control canned ACL or an equivalent form of this
-// ACL expressed in the XML format. For more information, see Controlling
-// ownership of objects and disabling ACLs (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
-// setting for Object Ownership, all objects written to the bucket by any account
-// will be owned by the bucket owner. Checksums When copying an object, if it has a
-// checksum, that checksum will be copied to the new object by default. When you
-// copy the object over, you can optionally specify a different checksum algorithm
-// to use with the x-amz-checksum-algorithm header. Storage Class Options You can
-// use the CopyObject action to change the storage class of an object that is
-// already stored in Amazon S3 by using the StorageClass parameter. For more
-// information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
-// in the Amazon S3 User Guide. If the source object's storage class is GLACIER or
-// DEEP_ARCHIVE, or the object's storage class is INTELLIGENT_TIERING and it's S3
-// Intelligent-Tiering access tier (https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering-overview.html#intel-tiering-tier-definition)
-// is Archive Access or Deep Archive Access, you must restore a copy of this object
-// before you can use it as a source object for the copy operation. For more
-// information, see RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)
-// . For more information, see Copying Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html)
-// . Versioning By default, x-amz-copy-source header identifies the current
-// version of an object to copy. If the current version is a delete marker, Amazon
-// S3 behaves as if the object was deleted. To copy a different version, use the
-// versionId subresource. If you enable versioning on the target bucket, Amazon S3
-// generates a unique version ID for the object being copied. This version ID is
-// different from the version ID of the source object. Amazon S3 returns the
-// version ID of the copied object in the x-amz-version-id response header in the
-// response. If you do not enable versioning or suspend it on the target bucket,
-// the version ID that Amazon S3 generates is always null. The following operations
-// are related to CopyObject :
+// Charge The copy request charge is based on the storage class and Region that
+// you specify for the destination object. The request can also result in a data
+// retrieval charge for the source if the source storage class bills for data
+// retrieval. For pricing information, see Amazon S3 pricing (http://aws.amazon.com/s3/pricing/)
+// . HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// Bucket_name.s3express-az_id.region.amazonaws.com . The following operations are
+// related to CopyObject :
// - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
func (c *Client) CopyObject(ctx context.Context, params *CopyObjectInput, optFns ...func(*Options)) (*CopyObjectOutput, error) {
@@ -173,16 +123,26 @@ func (c *Client) CopyObject(ctx context.Context, params *CopyObjectInput, optFns
type CopyObjectInput struct {
- // The name of the destination bucket. When using this action with an access
- // point, you must direct requests to the access point hostname. The access point
- // hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // The name of the destination bucket. Directory buckets - When you use this
+ // operation with a directory bucket, you must use virtual-hosted-style requests in
+ // the format Bucket_name.s3express-az_id.region.amazonaws.com . Path-style
+ // requests are not supported. Directory bucket names must be unique in the chosen
+ // Availability Zone. Bucket names must follow the format
+ // bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3
+ // ). For information about bucket naming restrictions, see Directory bucket
+ // naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Access points and Object Lambda access points are
+ // not supported by directory buckets. S3 on Outposts - When you use this action
+ // with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts
+ // hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -192,35 +152,52 @@ type CopyObjectInput struct {
// This member is required.
Bucket *string
- // Specifies the source object for the copy operation. You specify the value in
- // one of two formats, depending on whether you want to access the source object
- // through an access point (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html)
+ // Specifies the source object for the copy operation. The source object can be up
+ // to 5 GB. If the source object is an object that was uploaded by using a
+ // multipart upload, the object copy will be a single part object after the source
+ // object is copied to the destination bucket. You specify the value of the copy
+ // source in one of two formats, depending on whether you want to access the source
+ // object through an access point (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html)
// :
// - For objects not accessed through an access point, specify the name of the
// source bucket and the key of the source object, separated by a slash (/). For
- // example, to copy the object reports/january.pdf from the bucket
- // awsexamplebucket , use awsexamplebucket/reports/january.pdf . The value must
- // be URL-encoded.
+ // example, to copy the object reports/january.pdf from the general purpose
+ // bucket awsexamplebucket , use awsexamplebucket/reports/january.pdf . The value
+ // must be URL-encoded. To copy the object reports/january.pdf from the directory
+ // bucket awsexamplebucket--use1-az5--x-s3 , use
+ // awsexamplebucket--use1-az5--x-s3/reports/january.pdf . The value must be
+ // URL-encoded.
// - For objects accessed through access points, specify the Amazon Resource
// Name (ARN) of the object as accessed through the access point, in the format
// arn:aws:s3:::accesspoint//object/ . For example, to copy the object
// reports/january.pdf through access point my-access-point owned by account
// 123456789012 in Region us-west-2 , use the URL encoding of
// arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf
- // . The value must be URL encoded. Amazon S3 supports copy operations using access
- // points only when the source and destination buckets are in the same Amazon Web
- // Services Region. Alternatively, for objects accessed through Amazon S3 on
- // Outposts, specify the ARN of the object as accessed in the format
- // arn:aws:s3-outposts:::outpost//object/ . For example, to copy the object
- // reports/january.pdf through outpost my-outpost owned by account 123456789012
- // in Region us-west-2 , use the URL encoding of
+ // . The value must be URL encoded.
+ // - Amazon S3 supports copy operations using Access points only when the source
+ // and destination buckets are in the same Amazon Web Services Region.
+ // - Access points are not supported by directory buckets. Alternatively, for
+ // objects accessed through Amazon S3 on Outposts, specify the ARN of the object as
+ // accessed in the format arn:aws:s3-outposts:::outpost//object/ . For example,
+ // to copy the object reports/january.pdf through outpost my-outpost owned by
+ // account 123456789012 in Region us-west-2 , use the URL encoding of
// arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf
// . The value must be URL-encoded.
- // To copy a specific version of an object, append ?versionId= to the value (for
- // example,
+ // If your source bucket versioning is enabled, the x-amz-copy-source header by
+ // default identifies the current version of an object to copy. If the current
+ // version is a delete marker, Amazon S3 behaves as if the object was deleted. To
+ // copy a different version, use the versionId query parameter. Specifically,
+ // append ?versionId= to the value (for example,
// awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893
// ). If you don't specify a version ID, Amazon S3 copies the latest version of the
- // source object.
+ // source object. If you enable versioning on the destination bucket, Amazon S3
+ // generates a unique version ID for the copied object. This version ID is
+ // different from the version ID of the source object. Amazon S3 returns the
+ // version ID of the copied object in the x-amz-version-id response header in the
+ // response. If you do not enable versioning or suspend it on the destination
+ // bucket, the version ID that Amazon S3 generates in the x-amz-version-id
+ // response header is always null. Directory buckets - S3 Versioning isn't enabled
+ // and supported for directory buckets.
//
// This member is required.
CopySource *string
@@ -230,138 +207,230 @@ type CopyObjectInput struct {
// This member is required.
Key *string
- // The canned ACL to apply to the object. This action is not supported by Amazon
- // S3 on Outposts.
+ // The canned access control list (ACL) to apply to the object. When you copy an
+ // object, the ACL metadata is not preserved and is set to private by default.
+ // Only the owner has full access control. To override the default ACL setting,
+ // specify a new ACL when you generate a copy request. For more information, see
+ // Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html)
+ // . If the destination bucket that you're copying objects to uses the bucket owner
+ // enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect
+ // permissions. Buckets that use this setting only accept PUT requests that don't
+ // specify an ACL or PUT requests that specify bucket owner full control ACLs,
+ // such as the bucket-owner-full-control canned ACL or an equivalent form of this
+ // ACL expressed in the XML format. For more information, see Controlling
+ // ownership of objects and disabling ACLs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
+ // in the Amazon S3 User Guide.
+ // - If your destination bucket uses the bucket owner enforced setting for
+ // Object Ownership, all objects written to the bucket by any account will be owned
+ // by the bucket owner.
+ // - This functionality is not supported for directory buckets.
+ // - This functionality is not supported for Amazon S3 on Outposts.
ACL types.ObjectCannedACL
// Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption
// with server-side encryption using Key Management Service (KMS) keys (SSE-KMS).
+ // If a target object uses SSE-KMS, you can enable an S3 Bucket Key for the object.
// Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object
// encryption with SSE-KMS. Specifying this header with a COPY action doesn’t
- // affect bucket-level settings for S3 Bucket Key.
- BucketKeyEnabled bool
+ // affect bucket-level settings for S3 Bucket Key. For more information, see
+ // Amazon S3 Bucket Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html)
+ // in the Amazon S3 User Guide. This functionality is not supported when the
+ // destination bucket is a directory bucket.
+ BucketKeyEnabled *bool
- // Specifies caching behavior along the request/reply chain.
+ // Specifies the caching behavior along the request/reply chain.
CacheControl *string
- // Indicates the algorithm you want Amazon S3 to use to create the checksum for
- // the object. For more information, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
- // in the Amazon S3 User Guide.
+ // Indicates the algorithm that you want Amazon S3 to use to create the checksum
+ // for the object. For more information, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide. When you copy an object, if the source object has a
+ // checksum, that checksum value will be copied to the new object by default. If
+ // the CopyObject request does not include this x-amz-checksum-algorithm header,
+ // the checksum algorithm will be copied from the source object to the destination
+ // object (if it's present on the source object). You can optionally specify a
+ // different checksum algorithm to use with the x-amz-checksum-algorithm header.
+ // Unrecognized or unsupported values will respond with the HTTP status code 400
+ // Bad Request . For directory buckets, when you use Amazon Web Services SDKs,
+ // CRC32 is the default checksum algorithm that's used for performance.
ChecksumAlgorithm types.ChecksumAlgorithm
- // Specifies presentational information for the object.
+ // Specifies presentational information for the object. Indicates whether an
+ // object should be displayed in a web browser or downloaded as a file. It allows
+ // specifying the desired filename for the downloaded file.
ContentDisposition *string
// 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
- // Content-Type header field.
+ // Content-Type header field. For directory buckets, only the aws-chunked value is
+ // supported in this header field.
ContentEncoding *string
// The language the content is in.
ContentLanguage *string
- // A standard MIME type describing the format of the object data.
+ // A standard MIME type that describes the format of the object data.
ContentType *string
- // Copies the object if its entity tag (ETag) matches the specified tag.
+ // Copies the object if its entity tag (ETag) matches the specified tag. 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:
+ // - x-amz-copy-source-if-match condition evaluates to true
+ // - x-amz-copy-source-if-unmodified-since condition evaluates to false
CopySourceIfMatch *string
- // Copies the object if it has been modified since the specified time.
+ // Copies the object if it has been modified since the specified time. 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
CopySourceIfModifiedSince *time.Time
- // Copies the object if its entity tag (ETag) is different than the specified ETag.
+ // Copies the object if its entity tag (ETag) is different than the specified
+ // ETag. If both the x-amz-copy-source-if-none-match and
+ // x-amz-copy-source-if-modified-since headers are present in the request and
+ // evaluate as follows, Amazon S3 returns the 412 Precondition Failed response
+ // code:
+ // - x-amz-copy-source-if-none-match condition evaluates to false
+ // - x-amz-copy-source-if-modified-since condition evaluates to true
CopySourceIfNoneMatch *string
- // Copies the object if it hasn't been modified since the specified time.
+ // Copies the object if it hasn't been modified since the specified time. 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:
+ // - x-amz-copy-source-if-match condition evaluates to true
+ // - x-amz-copy-source-if-unmodified-since condition evaluates to false
CopySourceIfUnmodifiedSince *time.Time
// Specifies the algorithm to use when decrypting the source object (for example,
- // AES256).
+ // AES256 ). If the source object for the copy is stored in Amazon S3 using SSE-C,
+ // you must provide the necessary encryption information in your request so that
+ // Amazon S3 can decrypt the object for copying. This functionality is not
+ // supported when the source object is in a directory bucket.
CopySourceSSECustomerAlgorithm *string
// Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
- // the source object. The encryption key provided in this header must be one that
- // was used when the source object was created.
+ // the source object. The encryption key provided in this header must be the same
+ // one that was used when the source object was created. If the source object for
+ // the copy is stored in Amazon S3 using SSE-C, you must provide the necessary
+ // encryption information in your request so that Amazon S3 can decrypt the object
+ // for copying. This functionality is not supported when the source object is in a
+ // directory bucket.
CopySourceSSECustomerKey *string
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
// Amazon S3 uses this header for a message integrity check to ensure that the
- // encryption key was transmitted without error.
+ // encryption key was transmitted without error. If the source object for the copy
+ // is stored in Amazon S3 using SSE-C, you must provide the necessary encryption
+ // information in your request so that Amazon S3 can decrypt the object for
+ // copying. This functionality is not supported when the source object is in a
+ // directory bucket.
CopySourceSSECustomerKeyMD5 *string
- // The account ID of the expected destination bucket owner. If the destination
- // bucket is owned by a different account, the request fails with the HTTP status
- // code 403 Forbidden (access denied).
+ // The account ID of the expected destination bucket owner. If the account ID that
+ // you provide does not match the actual owner of the destination bucket, the
+ // request fails with the HTTP status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
- // The account ID of the expected source bucket owner. If the source bucket is
- // owned by a different account, the request fails with the HTTP status code 403
- // Forbidden (access denied).
+ // The account ID of the expected source bucket owner. If the account ID that you
+ // provide does not match the actual owner of the source bucket, the request fails
+ // with the HTTP status code 403 Forbidden (access denied).
ExpectedSourceBucketOwner *string
// The date and time at which the object is no longer cacheable.
Expires *time.Time
- // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. This
- // action is not supported by Amazon S3 on Outposts.
+ // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
+ // - This functionality is not supported for directory buckets.
+ // - This functionality is not supported for Amazon S3 on Outposts.
GrantFullControl *string
- // Allows grantee to read the object data and its metadata. This action is not
- // supported by Amazon S3 on Outposts.
+ // Allows grantee to read the object data and its metadata.
+ // - This functionality is not supported for directory buckets.
+ // - This functionality is not supported for Amazon S3 on Outposts.
GrantRead *string
- // Allows grantee to read the object ACL. This action is not supported by Amazon
- // S3 on Outposts.
+ // Allows grantee to read the object ACL.
+ // - This functionality is not supported for directory buckets.
+ // - This functionality is not supported for Amazon S3 on Outposts.
GrantReadACP *string
- // Allows grantee to write the ACL for the applicable object. This action is not
- // supported by Amazon S3 on Outposts.
+ // Allows grantee to write the ACL for the applicable object.
+ // - This functionality is not supported for directory buckets.
+ // - This functionality is not supported for Amazon S3 on Outposts.
GrantWriteACP *string
// A map of metadata to store with the object in S3.
Metadata map[string]string
// Specifies whether the metadata is copied from the source object or replaced
- // with metadata provided in the request.
+ // with metadata that's provided in the request. When copying an object, you can
+ // preserve all metadata (the default) or specify new metadata. If this header
+ // isn’t specified, COPY is the default behavior. General purpose bucket - For
+ // general purpose buckets, when you grant permissions, you can use the
+ // s3:x-amz-metadata-directive condition key to enforce certain metadata behavior
+ // when objects are uploaded. For more information, see Amazon S3 condition key
+ // examples (https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html)
+ // in the Amazon S3 User Guide. x-amz-website-redirect-location is unique to each
+ // object and is not copied when using the x-amz-metadata-directive header. To
+ // copy the value, you must specify x-amz-website-redirect-location in the request
+ // header.
MetadataDirective types.MetadataDirective
- // Specifies whether you want to apply a legal hold to the copied object.
+ // Specifies whether you want to apply a legal hold to the object copy. This
+ // functionality is not supported for directory buckets.
ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus
- // The Object Lock mode that you want to apply to the copied object.
+ // The Object Lock mode that you want to apply to the object copy. This
+ // functionality is not supported for directory buckets.
ObjectLockMode types.ObjectLockMode
- // The date and time when you want the copied object's Object Lock to expire.
+ // The date and time when you want the Object Lock of the object copy to expire.
+ // This functionality is not supported for directory buckets.
ObjectLockRetainUntilDate *time.Time
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
- // Specifies the algorithm to use to when encrypting the object (for example,
- // AES256).
+ // Specifies the algorithm to use when encrypting the object (for example, AES256
+ // ). When you perform a CopyObject operation, if you want to use a different type
+ // of encryption setting for the target object, you can specify appropriate
+ // encryption-related headers to encrypt the target object with an Amazon S3
+ // managed key, a KMS key, or a customer-provided key. If the encryption setting in
+ // your request is different from the default encryption configuration of the
+ // destination bucket, the encryption setting in your request takes precedence.
+ // This functionality is not supported when the destination bucket is a directory
+ // bucket.
SSECustomerAlgorithm *string
// Specifies the customer-provided encryption key for Amazon S3 to use in
// encrypting data. This value is used to store the object and then it is
- // discarded; Amazon S3 does not store the encryption key. The key must be
+ // discarded. Amazon S3 does not store the encryption key. The key must be
// appropriate for use with the algorithm specified in the
- // x-amz-server-side-encryption-customer-algorithm header.
+ // x-amz-server-side-encryption-customer-algorithm header. This functionality is
+ // not supported when the destination bucket is a directory bucket.
SSECustomerKey *string
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
// Amazon S3 uses this header for a message integrity check to ensure that the
- // encryption key was transmitted without error.
+ // encryption key was transmitted without error. This functionality is not
+ // supported when the destination bucket is a directory bucket.
SSECustomerKeyMD5 *string
// 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
- // JSON with the encryption context key-value pairs.
+ // JSON with the encryption context key-value pairs. This value must be explicitly
+ // added to specify encryption context for CopyObject requests. This functionality
+ // is not supported when the destination bucket is a directory bucket.
SSEKMSEncryptionContext *string
// Specifies the KMS ID (Key ID, Key ARN, or Key Alias) to use for object
@@ -369,83 +438,195 @@ type CopyObjectInput struct {
// they're not made via SSL or using SigV4. For information about configuring any
// of the officially supported Amazon Web Services SDKs and Amazon Web Services
// CLI, see Specifying the Signature Version in Request Authentication (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. This functionality is not supported when the
+ // destination bucket is a directory bucket.
SSEKMSKeyId *string
// The server-side encryption algorithm used when storing this object in Amazon S3
- // (for example, AES256 , aws:kms , aws:kms:dsse ).
+ // (for example, AES256 , aws:kms , aws:kms:dsse ). Unrecognized or unsupported
+ // values won’t write a destination object and will receive a 400 Bad Request
+ // response. Amazon S3 automatically encrypts all new objects that are copied to an
+ // S3 bucket. When copying an object, if you don't specify encryption information
+ // in your copy request, the encryption setting of the target object is set to the
+ // default encryption configuration of the destination bucket. By default, all
+ // 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 Key
+ // Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with
+ // Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with
+ // customer-provided encryption keys (SSE-C), Amazon S3 uses the corresponding KMS
+ // key, or a customer-provided key to encrypt the target object copy. When you
+ // perform a CopyObject operation, if you want to use a different type of
+ // encryption setting for the target object, you can specify appropriate
+ // encryption-related headers to encrypt the target object with an Amazon S3
+ // managed key, a KMS key, or a customer-provided key. If the encryption setting in
+ // your request is different from the default encryption configuration of the
+ // destination bucket, the encryption setting in your request takes precedence.
+ // With server-side encryption, Amazon S3 encrypts your data as it writes your data
+ // to disks in its data centers and decrypts the data when you access it. For more
+ // information about server-side encryption, see Using Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html)
+ // in the Amazon S3 User Guide. For directory buckets, only server-side encryption
+ // with Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported.
ServerSideEncryption types.ServerSideEncryption
// If the x-amz-storage-class header is not used, the copied object will be stored
// in the STANDARD Storage Class by default. The STANDARD storage class provides
// high durability and high availability. Depending on performance needs, you can
- // specify a different Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS
- // Storage Class. For more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
+ // specify a different Storage Class.
+ // - Directory buckets - For directory buckets, only the S3 Express One Zone
+ // storage class is supported to store newly created objects. Unsupported storage
+ // class values won't write a destination object and will respond with the HTTP
+ // status code 400 Bad Request .
+ // - Amazon S3 on Outposts - S3 on Outposts only uses the OUTPOSTS Storage Class.
+ // You can use the CopyObject action to change the storage class of an object that
+ // is already stored in Amazon S3 by using the x-amz-storage-class header. For
+ // more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
+ // in the Amazon S3 User Guide. Before using an object as a source object for the
+ // copy operation, you must restore a copy of it if it meets any of the following
+ // conditions:
+ // - The storage class of the source object is GLACIER or DEEP_ARCHIVE .
+ // - The storage class of the source object is INTELLIGENT_TIERING and it's S3
+ // Intelligent-Tiering access tier (https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering-overview.html#intel-tiering-tier-definition)
+ // is Archive Access or Deep Archive Access .
+ // For more information, see RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)
+ // and Copying Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjectsExamples.html)
// in the Amazon S3 User Guide.
StorageClass types.StorageClass
- // The tag-set for the object destination object this value must be used in
- // conjunction with the TaggingDirective . The tag-set must be encoded as URL Query
- // parameters.
+ // The tag-set for the object copy in the destination bucket. This value must be
+ // used in conjunction with the x-amz-tagging-directive if you choose REPLACE for
+ // the x-amz-tagging-directive . If you choose COPY for the x-amz-tagging-directive
+ // , you don't need to set the x-amz-tagging header, because the tag-set will be
+ // copied from the source object directly. The tag-set must be encoded as URL Query
+ // parameters. The default value is the empty value. Directory buckets - For
+ // directory buckets in a CopyObject operation, only the empty tag-set is
+ // supported. Any requests that attempt to write non-empty tags into directory
+ // buckets will receive a 501 Not Implemented status code. When the destination
+ // bucket is a directory bucket, you will receive a 501 Not Implemented response
+ // in any of the following situations:
+ // - When you attempt to COPY the tag-set from an S3 source object that has
+ // non-empty tags.
+ // - When you attempt to REPLACE the tag-set of a source object and set a
+ // non-empty value to x-amz-tagging .
+ // - When you don't set the x-amz-tagging-directive header and the source object
+ // has non-empty tags. This is because the default value of
+ // x-amz-tagging-directive is COPY .
+ // Because only the empty tag-set is supported for directory buckets in a
+ // CopyObject operation, the following situations are allowed:
+ // - When you attempt to COPY the tag-set from a directory bucket source object
+ // that has no tags to a general purpose bucket. It copies an empty tag-set to the
+ // destination object.
+ // - When you attempt to REPLACE the tag-set of a directory bucket source object
+ // and set the x-amz-tagging value of the directory bucket destination object to
+ // empty.
+ // - When you attempt to REPLACE the tag-set of a general purpose bucket source
+ // object that has non-empty tags and set the x-amz-tagging value of the
+ // directory bucket destination object to empty.
+ // - When you attempt to REPLACE the tag-set of a directory bucket source object
+ // and don't set the x-amz-tagging value of the directory bucket destination
+ // object. This is because the default value of x-amz-tagging is the empty value.
Tagging *string
- // Specifies whether the object tag-set are copied from the source object or
- // replaced with tag-set provided in the request.
+ // Specifies whether the object tag-set is copied from the source object or
+ // replaced with the tag-set that's provided in the request. The default value is
+ // COPY . Directory buckets - For directory buckets in a CopyObject operation,
+ // only the empty tag-set is supported. Any requests that attempt to write
+ // non-empty tags into directory buckets will receive a 501 Not Implemented status
+ // code. When the destination bucket is a directory bucket, you will receive a 501
+ // Not Implemented response in any of the following situations:
+ // - When you attempt to COPY the tag-set from an S3 source object that has
+ // non-empty tags.
+ // - When you attempt to REPLACE the tag-set of a source object and set a
+ // non-empty value to x-amz-tagging .
+ // - When you don't set the x-amz-tagging-directive header and the source object
+ // has non-empty tags. This is because the default value of
+ // x-amz-tagging-directive is COPY .
+ // Because only the empty tag-set is supported for directory buckets in a
+ // CopyObject operation, the following situations are allowed:
+ // - When you attempt to COPY the tag-set from a directory bucket source object
+ // that has no tags to a general purpose bucket. It copies an empty tag-set to the
+ // destination object.
+ // - When you attempt to REPLACE the tag-set of a directory bucket source object
+ // and set the x-amz-tagging value of the directory bucket destination object to
+ // empty.
+ // - When you attempt to REPLACE the tag-set of a general purpose bucket source
+ // object that has non-empty tags and set the x-amz-tagging value of the
+ // directory bucket destination object to empty.
+ // - When you attempt to REPLACE the tag-set of a directory bucket source object
+ // and don't set the x-amz-tagging value of the directory bucket destination
+ // object. This is because the default value of x-amz-tagging is the empty value.
TaggingDirective types.TaggingDirective
- // 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
- // 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.
+ // If the destination bucket is configured as a website, redirects requests for
+ // this object copy to another object in the same bucket or to an external URL.
+ // Amazon S3 stores the value of this header in the object metadata. This value is
+ // unique to each object and is not copied when using the x-amz-metadata-directive
+ // header. Instead, you may opt to provide this header in combination with the
+ // x-amz-metadata-directive header. This functionality is not supported for
+ // directory buckets.
WebsiteRedirectLocation *string
noSmithyDocumentSerde
}
+func (in *CopyObjectInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.DisableS3ExpressSessionAuth = ptr.Bool(true)
+}
+
type CopyObjectOutput struct {
// Indicates whether the copied object uses an S3 Bucket Key for server-side
- // encryption with Key Management Service (KMS) keys (SSE-KMS).
- BucketKeyEnabled bool
+ // encryption with Key Management Service (KMS) keys (SSE-KMS). This functionality
+ // is not supported for directory buckets.
+ BucketKeyEnabled *bool
// Container for all response elements.
CopyObjectResult *types.CopyObjectResult
- // Version of the copied object in the destination bucket.
+ // Version ID of the source object that was copied. This functionality is not
+ // supported when the source object is in a directory bucket.
CopySourceVersionId *string
- // If the object expiration is configured, the response includes this header.
+ // If the object expiration is configured, the response includes this header. This
+ // functionality is not supported for directory buckets.
Expiration *string
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// If server-side encryption with a customer-provided encryption key was
- // requested, the response will include this header confirming the encryption
- // algorithm used.
+ // requested, the response will include this header to confirm the encryption
+ // algorithm that's used. This functionality is not supported for directory
+ // buckets.
SSECustomerAlgorithm *string
// If server-side encryption with a customer-provided encryption key was
- // requested, the response will include this header to provide round-trip message
- // integrity verification of the customer-provided encryption key.
+ // requested, the response will include this header to provide the round-trip
+ // message integrity verification of the customer-provided encryption key. This
+ // functionality is not supported for directory buckets.
SSECustomerKeyMD5 *string
- // If present, specifies the Amazon Web Services KMS Encryption Context to use for
+ // If present, indicates the Amazon Web Services KMS Encryption Context to use for
// object encryption. The value of this header is a base64-encoded UTF-8 string
- // holding JSON with the encryption context key-value pairs.
+ // holding JSON with the encryption context key-value pairs. This functionality is
+ // not supported for directory buckets.
SSEKMSEncryptionContext *string
- // If present, specifies the ID of the Key Management Service (KMS) symmetric
- // encryption customer managed key that was used for the object.
+ // If present, indicates the ID of the Key Management Service (KMS) symmetric
+ // encryption customer managed key that was used for the object. This functionality
+ // is not supported for directory buckets.
SSEKMSKeyId *string
- // The server-side encryption algorithm used when storing this object in Amazon S3
- // (for example, AES256 , aws:kms , aws:kms:dsse ).
+ // The server-side encryption algorithm used when you store this object in Amazon
+ // S3 (for example, AES256 , aws:kms , aws:kms:dsse ). For directory buckets, only
+ // server-side encryption with Amazon S3 managed keys (SSE-S3) ( AES256 ) is
+ // supported.
ServerSideEncryption types.ServerSideEncryption
- // Version ID of the newly created copy.
+ // Version ID of the newly created copy. This functionality is not supported for
+ // directory buckets.
VersionId *string
// Metadata pertaining to the operation's result.
@@ -455,6 +636,9 @@ type CopyObjectOutput struct {
}
func (c *Client) addOperationCopyObjectMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpCopyObject{}, middleware.After)
if err != nil {
return err
@@ -463,6 +647,10 @@ func (c *Client) addOperationCopyObjectMiddlewares(stack *middleware.Stack, opti
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "CopyObject"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -484,9 +672,6 @@ func (c *Client) addOperationCopyObjectMiddlewares(stack *middleware.Stack, opti
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -502,10 +687,10 @@ func (c *Client) addOperationCopyObjectMiddlewares(stack *middleware.Stack, opti
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addCopyObjectResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpCopyObjectValidationMiddleware(stack); err != nil {
@@ -538,7 +723,7 @@ func (c *Client) addOperationCopyObjectMiddlewares(stack *middleware.Stack, opti
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -558,7 +743,6 @@ func newServiceMetadataMiddleware_opCopyObject(region string) *awsmiddleware.Reg
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "CopyObject",
}
}
@@ -588,139 +772,3 @@ func addCopyObjectUpdateEndpoint(stack *middleware.Stack, options Options) error
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opCopyObjectResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opCopyObjectResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opCopyObjectResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*CopyObjectInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addCopyObjectResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opCopyObjectResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateBucket.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateBucket.go
index 9da6f8b9..6357444b 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateBucket.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateBucket.go
@@ -4,79 +4,90 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
"github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Creates a new S3 bucket. To create a bucket, you must register with Amazon S3
-// and have a valid Amazon Web Services Access Key ID to authenticate requests.
+// This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts
+// bucket, see CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html)
+// . Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and
+// have a valid Amazon Web Services Access Key ID to authenticate requests.
// Anonymous requests are never allowed to create buckets. By creating the bucket,
-// you become the bucket owner. Not every string is an acceptable bucket name. For
-// information about bucket naming restrictions, see Bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html)
-// . If you want to create an Amazon S3 on Outposts bucket, see Create Bucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html)
-// . By default, the bucket is created in the US East (N. Virginia) Region. You can
-// optionally specify a Region in the request body. To constrain the bucket
-// creation to a specific Region, you can use LocationConstraint (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucketConfiguration.html)
-// condition key. You might choose a Region to optimize latency, minimize costs, or
-// address regulatory requirements. For example, if you reside in Europe, you will
-// probably find it advantageous to create buckets in the Europe (Ireland) Region.
-// For more information, see Accessing a bucket (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro)
-// . If you send your create bucket request to the s3.amazonaws.com endpoint, the
-// request goes to the us-east-1 Region. Accordingly, the signature calculations
-// in Signature Version 4 must use us-east-1 as the Region, even if the location
-// constraint in the request specifies another Region where the bucket is to be
-// created. If you create a bucket in a Region other than US East (N. Virginia),
-// your application must be able to handle 307 redirect. For more information, see
-// Virtual hosting of buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html)
-// . Permissions In addition to s3:CreateBucket , the following permissions are
-// required when your CreateBucket request includes specific headers:
-// - Access control lists (ACLs) - If your CreateBucket request specifies access
-// control list (ACL) permissions and the ACL is public-read, public-read-write,
-// authenticated-read, or if you specify access permissions explicitly through any
-// other ACL, both s3:CreateBucket and s3:PutBucketAcl permissions are needed. If
-// the ACL for the CreateBucket request is private or if the request doesn't
-// specify any ACLs, only s3:CreateBucket permission is needed.
-// - Object Lock - If ObjectLockEnabledForBucket is set to true in your
-// CreateBucket request, s3:PutBucketObjectLockConfiguration and
-// s3:PutBucketVersioning permissions are required.
+// you become the bucket owner. There are two types of buckets: general purpose
+// buckets and directory buckets. For more information about these bucket types,
+// see Creating, configuring, and working with Amazon S3 buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html)
+// in the Amazon S3 User Guide.
+// - General purpose buckets - If you send your CreateBucket request to the
+// s3.amazonaws.com global endpoint, the request goes to the us-east-1 Region. So
+// the signature calculations in Signature Version 4 must use us-east-1 as the
+// Region, even if the location constraint in the request specifies another Region
+// where the bucket is to be created. If you create a bucket in a Region other than
+// US East (N. Virginia), your application must be able to handle 307 redirect. For
+// more information, see Virtual hosting of buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html)
+// in the Amazon S3 User Guide.
+// - Directory buckets - For directory buckets, you must make requests for this
+// API operation to the Regional endpoint. These endpoints support path-style
+// requests in the format
+// https://s3express-control.region_code.amazonaws.com/bucket-name .
+// Virtual-hosted-style requests aren't supported. For more information, see
+// Regional and Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide.
+//
+// Permissions
+// - General purpose bucket permissions - In addition to the s3:CreateBucket
+// permission, the following permissions are required in a policy when your
+// CreateBucket request includes specific headers:
+// - Access control lists (ACLs) - In your CreateBucket request, if you specify
+// an access control list (ACL) and set it to public-read , public-read-write ,
+// authenticated-read , or if you explicitly specify any other custom ACLs, both
+// s3:CreateBucket and s3:PutBucketAcl permissions are required. In your
+// CreateBucket request, if you set the ACL to private , or if you don't specify
+// any ACLs, only the s3:CreateBucket permission is required.
+// - Object Lock - In your CreateBucket request, if you set
+// x-amz-bucket-object-lock-enabled to true, the
+// s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions are
+// required.
// - S3 Object Ownership - If your CreateBucket request includes the
// x-amz-object-ownership header, then the s3:PutBucketOwnershipControls
-// permission is required. By default, ObjectOwnership is set to
-// BucketOWnerEnforced and ACLs are disabled. We recommend keeping ACLs disabled,
-// except in uncommon use cases where you must control access for each object
-// individually. If you want to change the ObjectOwnership setting, you can use
-// the x-amz-object-ownership header in your CreateBucket request to set the
-// ObjectOwnership setting of your choice. For more information about S3 Object
-// Ownership, see Controlling object ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
+// permission is required. If your CreateBucket request sets BucketOwnerEnforced
+// for Amazon S3 Object Ownership and specifies a bucket ACL that provides access
+// to an external Amazon Web Services account, your request fails with a 400
+// error and returns the InvalidBucketAcLWithObjectOwnership error code. For more
+// information, see Setting Object Ownership on an existing bucket (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html)
// in the Amazon S3 User Guide.
// - S3 Block Public Access - If your specific use case requires granting public
-// access to your S3 resources, you can disable Block Public Access. You can create
-// a new bucket with Block Public Access enabled, then separately call the
-// DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html)
+// access to your S3 resources, you can disable Block Public Access. Specifically,
+// you can create a new bucket with Block Public Access enabled, then separately
+// call the DeletePublicAccessBlock (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html)
// API. To use this operation, you must have the s3:PutBucketPublicAccessBlock
-// permission. By default, all Block Public Access settings are enabled for new
-// buckets. To avoid inadvertent exposure of your resources, we recommend keeping
-// the S3 Block Public Access settings enabled. For more information about S3 Block
-// Public Access, see Blocking public access to your Amazon S3 storage (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
+// permission. For more information about S3 Block Public Access, see Blocking
+// public access to your Amazon S3 storage (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html)
+// in the Amazon S3 User Guide.
+// - Directory bucket permissions - You must have the s3express:CreateBucket
+// permission in an IAM identity-based policy instead of a bucket policy.
+// Cross-account access to this API operation isn't supported. This operation can
+// only be performed by the Amazon Web Services account that owns the resource. For
+// more information about directory bucket policies and permissions, see Amazon
+// Web Services Identity and Access Management (IAM) for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html)
+// in the Amazon S3 User Guide. The permissions for ACLs, Object Lock, S3 Object
+// Ownership, and S3 Block Public Access are not supported for directory buckets.
+// For directory buckets, all Block Public Access settings are enabled at the
+// bucket level and S3 Object Ownership is set to Bucket owner enforced (ACLs
+// disabled). These settings can't be modified. For more information about
+// permissions for creating and working with directory buckets, see Directory
+// buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html)
+// in the Amazon S3 User Guide. For more information about supported S3 features
+// for directory buckets, see Features of S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-one-zone.html#s3-express-features)
// in the Amazon S3 User Guide.
//
-// If your CreateBucket request sets BucketOwnerEnforced for Amazon S3 Object
-// Ownership and specifies a bucket ACL that provides access to an external Amazon
-// Web Services account, your request fails with a 400 error and returns the
-// InvalidBucketAcLWithObjectOwnership error code. For more information, see
-// Setting Object Ownership on an existing bucket (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-ownership-existing-bucket.html)
-// in the Amazon S3 User Guide. The following operations are related to
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// s3express-control.region.amazonaws.com . The following operations are related to
// CreateBucket :
// - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
// - DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html)
@@ -97,37 +108,52 @@ func (c *Client) CreateBucket(ctx context.Context, params *CreateBucketInput, op
type CreateBucketInput struct {
- // The name of the bucket to create.
+ // The name of the bucket to create. General purpose buckets - For information
+ // about bucket naming restrictions, see Bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucketnamingrules.html)
+ // in the Amazon S3 User Guide. Directory buckets - When you use this operation
+ // with a directory bucket, you must use path-style requests in the format
+ // https://s3express-control.region_code.amazonaws.com/bucket-name .
+ // Virtual-hosted-style requests aren't supported. Directory bucket names must be
+ // unique in the chosen Availability Zone. Bucket names must also follow the format
+ // bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3
+ // ). For information about bucket naming restrictions, see Directory bucket
+ // naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide
//
// This member is required.
Bucket *string
- // The canned ACL to apply to the bucket.
+ // The canned ACL to apply to the bucket. This functionality is not supported for
+ // directory buckets.
ACL types.BucketCannedACL
// The configuration information for the bucket.
CreateBucketConfiguration *types.CreateBucketConfiguration
// Allows grantee the read, write, read ACP, and write ACP permissions on the
- // bucket.
+ // bucket. This functionality is not supported for directory buckets.
GrantFullControl *string
- // Allows grantee to list the objects in the bucket.
+ // Allows grantee to list the objects in the bucket. This functionality is not
+ // supported for directory buckets.
GrantRead *string
- // Allows grantee to read the bucket ACL.
+ // Allows grantee to read the bucket ACL. This functionality is not supported for
+ // directory buckets.
GrantReadACP *string
// Allows grantee to create new objects in the bucket. For the bucket and object
// owners of existing objects, also allows deletions and overwrites of those
- // objects.
+ // objects. This functionality is not supported for directory buckets.
GrantWrite *string
- // Allows grantee to write the ACL for the applicable bucket.
+ // Allows grantee to write the ACL for the applicable bucket. This functionality
+ // is not supported for directory buckets.
GrantWriteACP *string
// Specifies whether you want S3 Object Lock to be enabled for the new bucket.
- ObjectLockEnabledForBucket bool
+ // This functionality is not supported for directory buckets.
+ ObjectLockEnabledForBucket *bool
// The container element for object ownership for a bucket's ownership controls.
// BucketOwnerPreferred - Objects uploaded to the bucket change ownership to the
@@ -137,14 +163,27 @@ type CreateBucketInput struct {
// BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer
// affect permissions. The bucket owner automatically owns and has full control
// over every object in the bucket. The bucket only accepts PUT requests that don't
- // specify an ACL or bucket owner full control ACLs, such as the
- // bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed
- // in the XML format.
+ // specify an ACL or specify bucket owner full control ACLs (such as the predefined
+ // bucket-owner-full-control canned ACL or a custom ACL in XML format that grants
+ // the same permissions). By default, ObjectOwnership is set to BucketOwnerEnforced
+ // and ACLs are disabled. We recommend keeping ACLs disabled, except in uncommon
+ // use cases where you must control access for each object individually. For more
+ // information about S3 Object Ownership, see Controlling ownership of objects and
+ // disabling ACLs for your bucket (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets. Directory buckets use the bucket owner enforced setting for S3 Object
+ // Ownership.
ObjectOwnership types.ObjectOwnership
noSmithyDocumentSerde
}
+func (in *CreateBucketInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+ p.DisableAccessPoints = ptr.Bool(true)
+}
+
type CreateBucketOutput struct {
// A forward slash followed by the name of the bucket.
@@ -157,6 +196,9 @@ type CreateBucketOutput struct {
}
func (c *Client) addOperationCreateBucketMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpCreateBucket{}, middleware.After)
if err != nil {
return err
@@ -165,6 +207,10 @@ func (c *Client) addOperationCreateBucketMiddlewares(stack *middleware.Stack, op
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "CreateBucket"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -186,9 +232,6 @@ func (c *Client) addOperationCreateBucketMiddlewares(stack *middleware.Stack, op
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -204,10 +247,10 @@ func (c *Client) addOperationCreateBucketMiddlewares(stack *middleware.Stack, op
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addCreateBucketResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpCreateBucketValidationMiddleware(stack); err != nil {
@@ -237,7 +280,7 @@ func (c *Client) addOperationCreateBucketMiddlewares(stack *middleware.Stack, op
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -257,7 +300,6 @@ func newServiceMetadataMiddleware_opCreateBucket(region string) *awsmiddleware.R
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "CreateBucket",
}
}
@@ -287,141 +329,3 @@ func addCreateBucketUpdateEndpoint(stack *middleware.Stack, options Options) err
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opCreateBucketResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opCreateBucketResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opCreateBucketResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*CreateBucketInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- params.DisableAccessPoints = ptr.Bool(true)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addCreateBucketResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opCreateBucketResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateMultipartUpload.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateMultipartUpload.go
index 2831c54c..4f24e11c 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateMultipartUpload.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateMultipartUpload.go
@@ -4,16 +4,11 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"time"
@@ -26,97 +21,111 @@ import (
// ). You also include this upload ID in the final request to either complete or
// abort the multipart upload request. For more information about multipart
// uploads, see Multipart Upload Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html)
-// . If you have configured a lifecycle rule to abort incomplete multipart uploads,
-// the upload must complete within the number of days specified in the bucket
-// lifecycle configuration. Otherwise, the incomplete multipart upload becomes
-// eligible for an abort action and Amazon S3 aborts the multipart upload. For more
-// information, see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle
-// Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
-// . For information about the permissions required to use the multipart upload
-// API, see Multipart Upload and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
-// . For request signing, multipart upload is just a series of regular requests.
-// You initiate a multipart upload, send one or more requests to upload parts, and
-// then complete the multipart upload process. You sign each request individually.
-// There is nothing special about signing multipart upload requests. For more
-// information about signing, see Authenticating Requests (Amazon Web Services
-// Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html)
-// . After you initiate a multipart upload and upload one or more parts, to stop
-// 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
-// stop charging you for storing them only after you either complete or abort a
-// multipart upload. 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 decrypts
-// it when you access it. Amazon S3 automatically encrypts all new objects that are
-// uploaded to an S3 bucket. When doing a multipart upload, if you don't specify
-// encryption information in your request, the encryption setting of the uploaded
-// 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 UploadPartCopy (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
-// by using CreateMultipartUpload . You can request that Amazon S3 save the
-// uploaded 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 required because Amazon S3 must decrypt and read data from
-// the encrypted file parts before it completes the multipart upload. For more
-// information, see Multipart upload API and permissions (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
-// 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
-// different account than the key, then you must have the permissions on both the
-// key policy and your IAM user or role. For more information, see Protecting Data
-// Using Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html)
-// . Access Permissions When copying an object, you can optionally specify the
-// accounts or groups that should be granted specific permissions on the new
-// object. There are two ways to grant the permissions using the request headers:
-// - Specify a canned ACL with the x-amz-acl request header. For more
-// information, see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL)
-// .
-// - Specify access permissions explicitly with the x-amz-grant-read ,
-// x-amz-grant-read-acp , x-amz-grant-write-acp , and x-amz-grant-full-control
-// headers. These parameters map to the set of permissions that Amazon S3 supports
-// in an ACL. For more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
+// in the Amazon S3 User Guide. After you initiate a multipart upload and upload
+// one or more parts, to stop 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 stops charging you for storing them only after you
+// either complete or abort a multipart upload. If you have configured a lifecycle
+// rule to abort incomplete multipart uploads, the created multipart upload must be
+// completed within the number of days specified in the bucket lifecycle
+// configuration. Otherwise, the incomplete multipart upload becomes eligible for
+// an abort action and Amazon S3 aborts the multipart upload. For more information,
+// see Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
+// .
+// - Directory buckets - S3 Lifecycle is not supported by directory buckets.
+// - Directory buckets - For directory buckets, you must make requests for this
+// API operation to the Zonal endpoint. These endpoints support
+// virtual-hosted-style requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name .
+// Path-style requests are not supported. For more information, see Regional and
+// Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide.
+//
+// Request signing For request signing, multipart upload is just a series of
+// regular requests. You initiate a multipart upload, send one or more requests to
+// upload parts, and then complete the multipart upload process. You sign each
+// request individually. There is nothing special about signing multipart upload
+// requests. For more information about signing, see Authenticating Requests
+// (Amazon Web Services Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sig-v4-authenticating-requests.html)
+// in the Amazon S3 User Guide. Permissions
+// - General purpose bucket permissions - For information about the permissions
+// required to use the multipart upload API, see Multipart upload and permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
+// in the Amazon S3 User Guide. To perform a multipart upload with encryption by
+// using an Amazon Web Services KMS key, the requester must have permission to the
+// 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
+// parts before it completes the multipart upload. For more information, see
+// Multipart upload API and permissions (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.
+// - Directory bucket permissions - To grant access to this API operation on a
+// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// API operation for session-based authorization. Specifically, you grant the
+// s3express:CreateSession permission to the directory bucket in a bucket policy
+// or an IAM identity-based policy. Then, you make the CreateSession API call on
+// the bucket to obtain a session token. With the session token in your request
+// header, you can make API requests to this operation. After the session token
+// expires, you make another CreateSession API call to generate a new session
+// token for use. Amazon Web Services CLI or SDKs create session and refresh the
+// session token automatically to avoid service interruptions when a session
+// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
// .
//
-// You can use either a canned ACL or specify access permissions explicitly. You
-// cannot do both. Server-Side- Encryption-Specific Request Headers Amazon S3
-// encrypts data by using server-side encryption with an Amazon S3 managed key
-// (SSE-S3) by default. 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
-// decrypts it when you access it. You can request that Amazon S3 encrypts data at
-// rest by 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).
+// Encryption
+// - General purpose buckets - Server-side encryption is for data encryption at
+// rest. Amazon S3 encrypts your data as it writes it to disks in its data centers
+// and decrypts it when you access it. Amazon S3 automatically encrypts all new
+// objects that are uploaded to an S3 bucket. When doing a multipart upload, if you
+// don't specify encryption information in your request, the encryption setting of
+// the uploaded 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 different encryption key (such as an Amazon S3
+// managed key, a KMS key, or a customer-provided key). When 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 UploadPartCopy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)
+// requests must match the headers you used in the CreateMultipartUpload request.
// - Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key (
// aws/s3 ) and KMS customer managed keys stored in Key Management Service (KMS)
// – If you want Amazon Web Services to manage the keys used to encrypt data,
// specify the following headers in the request.
// - x-amz-server-side-encryption
// - x-amz-server-side-encryption-aws-kms-key-id
-// - x-amz-server-side-encryption-context If you specify
-// x-amz-server-side-encryption:aws:kms , but don't provide
+// - x-amz-server-side-encryption-context
+// - If you specify x-amz-server-side-encryption:aws:kms , but don't provide
// x-amz-server-side-encryption-aws-kms-key-id , Amazon S3 uses the Amazon Web
-// Services managed key ( aws/s3 key) in KMS to protect the data. All GET and PUT
-// requests for an object protected by KMS fail if you don't make them by using
-// Secure Sockets Layer (SSL), Transport Layer Security (TLS), or Signature Version
-// 4. For more information about server-side encryption with KMS keys (SSE-KMS),
-// see Protecting Data Using Server-Side Encryption with KMS keys (https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)
-// .
+// Services managed key ( aws/s3 key) in KMS to protect the data.
+// - 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 required
+// because Amazon S3 must decrypt and read data from the encrypted file parts
+// before it completes the multipart upload. For more information, see Multipart
+// upload API and permissions (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 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 is in a different account from the
+// key, then you must have the permissions on both the key policy and your IAM user
+// or role.
+// - All GET and PUT requests for an object protected by KMS fail if you don't
+// make them by using Secure Sockets Layer (SSL), Transport Layer Security (TLS),
+// or Signature Version 4. For information about configuring any of the officially
+// supported Amazon Web Services SDKs and Amazon Web Services CLI, see
+// Specifying the Signature Version in Request Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version)
+// in the Amazon S3 User Guide. For more information about server-side
+// encryption with KMS keys (SSE-KMS), see Protecting Data Using Server-Side
+// Encryption with KMS keys (https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html)
+// in the Amazon S3 User Guide.
// - Use customer-provided encryption keys (SSE-C) – If you want to manage your
// own encryption keys, provide all the following headers in the request.
// - x-amz-server-side-encryption-customer-algorithm
@@ -125,55 +134,13 @@ import (
// server-side encryption with customer-provided encryption keys (SSE-C), see
// Protecting data using server-side encryption with customer-provided encryption
// keys (SSE-C) (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerSideEncryptionCustomerKeys.html)
-// .
+// in the Amazon S3 User Guide.
+// - Directory buckets -For directory buckets, only server-side encryption with
+// Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported.
//
-// Access-Control-List (ACL)-Specific Request Headers You also can use the
-// following access control–related headers with this operation. 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 access control list (ACL) on the object. For more information, see Using
-// ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html) .
-// With this operation, you can grant access permissions using one of the following
-// two methods:
-// - Specify a canned ACL ( x-amz-acl ) — Amazon S3 supports a set of predefined
-// ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and
-// permissions. For more information, see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL)
-// .
-// - Specify access permissions explicitly — To explicitly grant access
-// permissions to specific Amazon Web Services accounts or groups, use the
-// following headers. Each header maps to specific permissions that Amazon S3
-// supports in an ACL. For more information, see Access Control List (ACL)
-// Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) .
-// In the header, you specify a list of grantees who get the specific permission.
-// To grant permissions explicitly, use:
-// - x-amz-grant-read
-// - x-amz-grant-write
-// - x-amz-grant-read-acp
-// - x-amz-grant-write-acp
-// - x-amz-grant-full-control You specify each grantee as a type=value pair,
-// where the type is one of the following:
-// - id – if the value specified is the canonical user ID of an Amazon Web
-// Services account
-// - uri – if you are granting permissions to a predefined group
-// - emailAddress – if the value specified is the email address of an Amazon Web
-// Services account Using email addresses to specify a grantee is only supported in
-// the following Amazon Web Services Regions:
-// - US East (N. Virginia)
-// - US West (N. California)
-// - US West (Oregon)
-// - Asia Pacific (Singapore)
-// - Asia Pacific (Sydney)
-// - Asia Pacific (Tokyo)
-// - Europe (Ireland)
-// - South America (São Paulo) For a list of all the Amazon S3 supported Regions
-// and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
-// in the Amazon Web Services General Reference. For example, the following
-// x-amz-grant-read header grants the Amazon Web Services accounts identified by
-// account IDs permissions to read object data and its metadata:
-// x-amz-grant-read: id="11112222333", id="444455556666"
-//
-// The following operations are related to CreateMultipartUpload :
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// Bucket_name.s3express-az_id.region.amazonaws.com . The following operations are
+// related to CreateMultipartUpload :
// - UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
// - CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
// - AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)
@@ -196,16 +163,26 @@ func (c *Client) CreateMultipartUpload(ctx context.Context, params *CreateMultip
type CreateMultipartUploadInput struct {
- // The name of the bucket to which to initiate the upload When using this action
- // with an access point, you must direct requests to the access point hostname. The
- // access point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // The name of the bucket where the multipart upload is initiated and where the
+ // object is uploaded. Directory buckets - When you use this operation with a
+ // directory bucket, you must use virtual-hosted-style requests in the format
+ // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
+ // supported. Directory bucket names must be unique in the chosen Availability
+ // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
+ // example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 ). For information about bucket
+ // naming restrictions, see Directory bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Access points and Object Lambda access points are
+ // not supported by directory buckets. S3 on Outposts - When you use this action
+ // with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts
+ // hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -220,22 +197,33 @@ type CreateMultipartUploadInput struct {
// This member is required.
Key *string
- // The canned ACL to apply to the object. This action is not supported by Amazon
- // S3 on Outposts.
+ // The canned ACL to apply to the object. Amazon S3 supports a set of predefined
+ // ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and
+ // permissions. For more information, see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL)
+ // in the Amazon S3 User Guide. By default, all objects are private. Only the owner
+ // has full access control. When uploading an object, you can grant access
+ // permissions to individual Amazon Web Services accounts or to predefined groups
+ // defined by Amazon S3. These permissions are then added to the access control
+ // list (ACL) on the new object. For more information, see Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html)
+ // . One way to grant the permissions using the request headers is to specify a
+ // canned ACL with the x-amz-acl request header.
+ // - This functionality is not supported for directory buckets.
+ // - This functionality is not supported for Amazon S3 on Outposts.
ACL types.ObjectCannedACL
// Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption
// with server-side encryption using Key Management Service (KMS) keys (SSE-KMS).
// Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object
// encryption with SSE-KMS. Specifying this header with an object action doesn’t
- // affect bucket-level settings for S3 Bucket Key.
- BucketKeyEnabled bool
+ // affect bucket-level settings for S3 Bucket Key. This functionality is not
+ // supported for directory buckets.
+ BucketKeyEnabled *bool
// Specifies caching behavior along the request/reply chain.
CacheControl *string
- // Indicates the algorithm you want Amazon S3 to use to create the checksum for
- // the object. For more information, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm that you want Amazon S3 to use to create the checksum
+ // for the object. For more information, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -244,113 +232,237 @@ type CreateMultipartUploadInput struct {
// 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
- // Content-Type header field.
+ // Content-Type header field. For directory buckets, only the aws-chunked value is
+ // supported in this header field.
ContentEncoding *string
- // The language the content is in.
+ // The language that the content is in.
ContentLanguage *string
// A standard MIME type describing the format of the object data.
ContentType *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// The date and time at which the object is no longer cacheable.
Expires *time.Time
- // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. This
- // action is not supported by Amazon S3 on Outposts.
+ // Specify access permissions explicitly to give the grantee READ, READ_ACP, and
+ // WRITE_ACP permissions on the object. By default, all objects are private. Only
+ // the owner has full access control. When uploading an object, you can use this
+ // header to explicitly grant access permissions to specific Amazon Web Services
+ // accounts or groups. This header maps to specific permissions that Amazon S3
+ // supports in an ACL. For more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
+ // in the Amazon S3 User Guide. You specify each grantee as a type=value pair,
+ // where the type is one of the following:
+ // - id – if the value specified is the canonical user ID of an Amazon Web
+ // Services account
+ // - uri – if you are granting permissions to a predefined group
+ // - emailAddress – if the value specified is the email address of an Amazon Web
+ // Services account Using email addresses to specify a grantee is only supported in
+ // the following Amazon Web Services Regions:
+ // - US East (N. Virginia)
+ // - US West (N. California)
+ // - US West (Oregon)
+ // - Asia Pacific (Singapore)
+ // - Asia Pacific (Sydney)
+ // - Asia Pacific (Tokyo)
+ // - Europe (Ireland)
+ // - South America (São Paulo) For a list of all the Amazon S3 supported Regions
+ // and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
+ // in the Amazon Web Services General Reference.
+ // For example, the following x-amz-grant-read header grants the Amazon Web
+ // Services accounts identified by account IDs permissions to read object data and
+ // its metadata: x-amz-grant-read: id="11112222333", id="444455556666"
+ // - This functionality is not supported for directory buckets.
+ // - This functionality is not supported for Amazon S3 on Outposts.
GrantFullControl *string
- // Allows grantee to read the object data and its metadata. This action is not
- // supported by Amazon S3 on Outposts.
+ // Specify access permissions explicitly to allow grantee to read the object data
+ // and its metadata. By default, all objects are private. Only the owner has full
+ // access control. When uploading an object, you can use this header to explicitly
+ // grant access permissions to specific Amazon Web Services accounts or groups.
+ // This header maps to specific permissions that Amazon S3 supports in an ACL. For
+ // more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
+ // in the Amazon S3 User Guide. You specify each grantee as a type=value pair,
+ // where the type is one of the following:
+ // - id – if the value specified is the canonical user ID of an Amazon Web
+ // Services account
+ // - uri – if you are granting permissions to a predefined group
+ // - emailAddress – if the value specified is the email address of an Amazon Web
+ // Services account Using email addresses to specify a grantee is only supported in
+ // the following Amazon Web Services Regions:
+ // - US East (N. Virginia)
+ // - US West (N. California)
+ // - US West (Oregon)
+ // - Asia Pacific (Singapore)
+ // - Asia Pacific (Sydney)
+ // - Asia Pacific (Tokyo)
+ // - Europe (Ireland)
+ // - South America (São Paulo) For a list of all the Amazon S3 supported Regions
+ // and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
+ // in the Amazon Web Services General Reference.
+ // For example, the following x-amz-grant-read header grants the Amazon Web
+ // Services accounts identified by account IDs permissions to read object data and
+ // its metadata: x-amz-grant-read: id="11112222333", id="444455556666"
+ // - This functionality is not supported for directory buckets.
+ // - This functionality is not supported for Amazon S3 on Outposts.
GrantRead *string
- // Allows grantee to read the object ACL. This action is not supported by Amazon
- // S3 on Outposts.
+ // Specify access permissions explicitly to allows grantee to read the object ACL.
+ // By default, all objects are private. Only the owner has full access control.
+ // When uploading an object, you can use this header to explicitly grant access
+ // permissions to specific Amazon Web Services accounts or groups. This header maps
+ // to specific permissions that Amazon S3 supports in an ACL. For more information,
+ // see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
+ // in the Amazon S3 User Guide. You specify each grantee as a type=value pair,
+ // where the type is one of the following:
+ // - id – if the value specified is the canonical user ID of an Amazon Web
+ // Services account
+ // - uri – if you are granting permissions to a predefined group
+ // - emailAddress – if the value specified is the email address of an Amazon Web
+ // Services account Using email addresses to specify a grantee is only supported in
+ // the following Amazon Web Services Regions:
+ // - US East (N. Virginia)
+ // - US West (N. California)
+ // - US West (Oregon)
+ // - Asia Pacific (Singapore)
+ // - Asia Pacific (Sydney)
+ // - Asia Pacific (Tokyo)
+ // - Europe (Ireland)
+ // - South America (São Paulo) For a list of all the Amazon S3 supported Regions
+ // and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
+ // in the Amazon Web Services General Reference.
+ // For example, the following x-amz-grant-read header grants the Amazon Web
+ // Services accounts identified by account IDs permissions to read object data and
+ // its metadata: x-amz-grant-read: id="11112222333", id="444455556666"
+ // - This functionality is not supported for directory buckets.
+ // - This functionality is not supported for Amazon S3 on Outposts.
GrantReadACP *string
- // Allows grantee to write the ACL for the applicable object. This action is not
- // supported by Amazon S3 on Outposts.
+ // Specify access permissions explicitly to allows grantee to allow grantee to
+ // write the ACL for the applicable object. By default, all objects are private.
+ // Only the owner has full access control. When uploading an object, you can use
+ // this header to explicitly grant access permissions to specific Amazon Web
+ // Services accounts or groups. This header maps to specific permissions that
+ // Amazon S3 supports in an ACL. For more information, see Access Control List
+ // (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
+ // in the Amazon S3 User Guide. You specify each grantee as a type=value pair,
+ // where the type is one of the following:
+ // - id – if the value specified is the canonical user ID of an Amazon Web
+ // Services account
+ // - uri – if you are granting permissions to a predefined group
+ // - emailAddress – if the value specified is the email address of an Amazon Web
+ // Services account Using email addresses to specify a grantee is only supported in
+ // the following Amazon Web Services Regions:
+ // - US East (N. Virginia)
+ // - US West (N. California)
+ // - US West (Oregon)
+ // - Asia Pacific (Singapore)
+ // - Asia Pacific (Sydney)
+ // - Asia Pacific (Tokyo)
+ // - Europe (Ireland)
+ // - South America (São Paulo) For a list of all the Amazon S3 supported Regions
+ // and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
+ // in the Amazon Web Services General Reference.
+ // For example, the following x-amz-grant-read header grants the Amazon Web
+ // Services accounts identified by account IDs permissions to read object data and
+ // its metadata: x-amz-grant-read: id="11112222333", id="444455556666"
+ // - This functionality is not supported for directory buckets.
+ // - This functionality is not supported for Amazon S3 on Outposts.
GrantWriteACP *string
// A map of metadata to store with the object in S3.
Metadata map[string]string
- // Specifies whether you want to apply a legal hold to the uploaded object.
+ // Specifies whether you want to apply a legal hold to the uploaded object. This
+ // functionality is not supported for directory buckets.
ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus
// Specifies the Object Lock mode that you want to apply to the uploaded object.
+ // This functionality is not supported for directory buckets.
ObjectLockMode types.ObjectLockMode
- // Specifies the date and time when you want the Object Lock to expire.
+ // Specifies the date and time when you want the Object Lock to expire. This
+ // functionality is not supported for directory buckets.
ObjectLockRetainUntilDate *time.Time
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
- // Specifies the algorithm to use to when encrypting the object (for example,
- // AES256).
+ // Specifies the algorithm to use when encrypting the object (for example,
+ // AES256). This functionality is not supported for directory buckets.
SSECustomerAlgorithm *string
// Specifies the customer-provided encryption key for Amazon S3 to use in
// encrypting data. This value is used to store the object and then it is
// discarded; Amazon S3 does not store the encryption key. The key must be
// appropriate for use with the algorithm specified in the
- // x-amz-server-side-encryption-customer-algorithm header.
+ // x-amz-server-side-encryption-customer-algorithm header. This functionality is
+ // not supported for directory buckets.
SSECustomerKey *string
- // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
- // Amazon S3 uses this header for a message integrity check to ensure that the
- // encryption key was transmitted without error.
+ // Specifies the 128-bit MD5 digest of the customer-provided encryption key
+ // according to RFC 1321. Amazon S3 uses this header for a message integrity check
+ // to ensure that the encryption key was transmitted without error. This
+ // functionality is not supported for directory buckets.
SSECustomerKeyMD5 *string
// 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
- // JSON with the encryption context key-value pairs.
+ // JSON with the encryption context key-value pairs. This functionality is not
+ // supported for directory buckets.
SSEKMSEncryptionContext *string
// Specifies the ID (Key ID, Key ARN, or Key Alias) of the symmetric encryption
- // customer managed key to use for object encryption. All GET and PUT requests for
- // an object protected by KMS will fail if they're not made via SSL or using SigV4.
- // For information about configuring any of the officially supported Amazon Web
- // Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version
- // in Request Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.html#specify-signature-version)
- // in the Amazon S3 User Guide.
+ // customer managed key to use for object encryption. This functionality is not
+ // supported for directory buckets.
SSEKMSKeyId *string
- // The server-side encryption algorithm used when storing this object in Amazon S3
- // (for example, AES256 , aws:kms ).
+ // The server-side encryption algorithm used when you store this object in Amazon
+ // S3 (for example, AES256 , aws:kms ). For directory buckets, only server-side
+ // encryption with Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported.
ServerSideEncryption types.ServerSideEncryption
// By default, Amazon S3 uses the STANDARD Storage Class to store newly created
// objects. The STANDARD storage class provides high durability and high
// availability. Depending on performance needs, you can specify a different
- // Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For
- // more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
+ // Storage Class. For more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
// in the Amazon S3 User Guide.
+ // - For directory buckets, only the S3 Express One Zone storage class is
+ // supported to store newly created objects.
+ // - Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
StorageClass types.StorageClass
- // The tag-set for the object. The tag-set must be encoded as URL Query parameters.
+ // The tag-set for the object. The tag-set must be encoded as URL Query
+ // parameters. This functionality is not supported for directory buckets.
Tagging *string
// 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
- // value of this header in the object metadata.
+ // value of this header in the object metadata. This functionality is not supported
+ // for directory buckets.
WebsiteRedirectLocation *string
noSmithyDocumentSerde
}
+func (in *CreateMultipartUploadInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.Key = in.Key
+
+}
+
type CreateMultipartUploadOutput struct {
// If the bucket has a lifecycle rule configured with an action to abort
@@ -359,36 +471,26 @@ type CreateMultipartUploadOutput struct {
// indicates when the initiated multipart upload becomes eligible for an abort
// operation. For more information, see Aborting Incomplete Multipart Uploads
// Using a Bucket Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
- // . The response also includes the x-amz-abort-rule-id header that provides the
- // ID of the lifecycle configuration rule that defines this action.
+ // in the Amazon S3 User Guide. The response also includes the x-amz-abort-rule-id
+ // header that provides the ID of the lifecycle configuration rule that defines the
+ // abort action. This functionality is not supported for directory buckets.
AbortDate *time.Time
// This header is returned along with the x-amz-abort-date header. It identifies
// the applicable lifecycle configuration rule that defines the action to abort
- // incomplete multipart uploads.
+ // incomplete multipart uploads. This functionality is not supported for directory
+ // buckets.
AbortRuleId *string
// The name of the bucket to which the multipart upload was initiated. Does not
- // return the access point ARN or access point alias if used. When using this
- // action with an access point, you must direct requests to the access point
- // hostname. The access point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
- // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
- // use this action with S3 on Outposts through the Amazon Web Services SDKs, you
- // provide the Outposts access point ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see What is S3 on Outposts? (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
- // in the Amazon S3 User Guide.
+ // return the access point ARN or access point alias if used. Access points are not
+ // supported by directory buckets.
Bucket *string
// Indicates whether the multipart upload uses an S3 Bucket Key for server-side
- // encryption with Key Management Service (KMS) keys (SSE-KMS).
- BucketKeyEnabled bool
+ // encryption with Key Management Service (KMS) keys (SSE-KMS). This functionality
+ // is not supported for directory buckets.
+ BucketKeyEnabled *bool
// The algorithm that was used to create a checksum of the object.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -397,30 +499,35 @@ type CreateMultipartUploadOutput struct {
Key *string
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// If server-side encryption with a customer-provided encryption key was
- // requested, the response will include this header confirming the encryption
- // algorithm used.
+ // requested, the response will include this header to confirm the encryption
+ // algorithm that's used. This functionality is not supported for directory
+ // buckets.
SSECustomerAlgorithm *string
// If server-side encryption with a customer-provided encryption key was
- // requested, the response will include this header to provide round-trip message
- // integrity verification of the customer-provided encryption key.
+ // requested, the response will include this header to provide the round-trip
+ // message integrity verification of the customer-provided encryption key. This
+ // functionality is not supported for directory buckets.
SSECustomerKeyMD5 *string
- // If present, specifies the Amazon Web Services KMS Encryption Context to use for
+ // If present, indicates the Amazon Web Services KMS Encryption Context to use for
// object encryption. The value of this header is a base64-encoded UTF-8 string
- // holding JSON with the encryption context key-value pairs.
+ // holding JSON with the encryption context key-value pairs. This functionality is
+ // not supported for directory buckets.
SSEKMSEncryptionContext *string
- // If present, specifies the ID of the Key Management Service (KMS) symmetric
- // encryption customer managed key that was used for the object.
+ // If present, indicates the ID of the Key Management Service (KMS) symmetric
+ // encryption customer managed key that was used for the object. This functionality
+ // is not supported for directory buckets.
SSEKMSKeyId *string
- // The server-side encryption algorithm used when storing this object in Amazon S3
- // (for example, AES256 , aws:kms ).
+ // The server-side encryption algorithm used when you store this object in Amazon
+ // S3 (for example, AES256 , aws:kms ). For directory buckets, only server-side
+ // encryption with Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported.
ServerSideEncryption types.ServerSideEncryption
// ID for the initiated multipart upload.
@@ -433,6 +540,9 @@ type CreateMultipartUploadOutput struct {
}
func (c *Client) addOperationCreateMultipartUploadMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpCreateMultipartUpload{}, middleware.After)
if err != nil {
return err
@@ -441,6 +551,10 @@ func (c *Client) addOperationCreateMultipartUploadMiddlewares(stack *middleware.
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "CreateMultipartUpload"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -462,9 +576,6 @@ func (c *Client) addOperationCreateMultipartUploadMiddlewares(stack *middleware.
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -480,10 +591,10 @@ func (c *Client) addOperationCreateMultipartUploadMiddlewares(stack *middleware.
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addCreateMultipartUploadResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpCreateMultipartUploadValidationMiddleware(stack); err != nil {
@@ -513,12 +624,15 @@ func (c *Client) addOperationCreateMultipartUploadMiddlewares(stack *middleware.
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = addSetCreateMPUChecksumAlgorithm(stack); err != nil {
+ return err
+ }
return nil
}
@@ -533,7 +647,6 @@ func newServiceMetadataMiddleware_opCreateMultipartUpload(region string) *awsmid
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "CreateMultipartUpload",
}
}
@@ -563,139 +676,3 @@ func addCreateMultipartUploadUpdateEndpoint(stack *middleware.Stack, options Opt
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opCreateMultipartUploadResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opCreateMultipartUploadResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opCreateMultipartUploadResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*CreateMultipartUploadInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addCreateMultipartUploadResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opCreateMultipartUploadResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateSession.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateSession.go
new file mode 100644
index 00000000..1cb1f151
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_CreateSession.go
@@ -0,0 +1,260 @@
+// Code generated by smithy-go-codegen DO NOT EDIT.
+
+package s3
+
+import (
+ "context"
+ "fmt"
+ awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
+ "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
+ s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
+ "github.com/aws/aws-sdk-go-v2/service/s3/types"
+ "github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+)
+
+// Creates a session that establishes temporary security credentials to support
+// fast authentication and authorization for the Zonal endpoint APIs on directory
+// buckets. For more information about Zonal endpoint APIs that include the
+// Availability Zone in the request endpoint, see S3 Express One Zone APIs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-APIs.html)
+// in the Amazon S3 User Guide. To make Zonal endpoint API requests on a directory
+// bucket, use the CreateSession API operation. Specifically, you grant
+// s3express:CreateSession permission to a bucket in a bucket policy or an IAM
+// identity-based policy. Then, you use IAM credentials to make the CreateSession
+// API request on the bucket, which returns temporary security credentials that
+// include the access key ID, secret access key, session token, and expiration.
+// These credentials have associated permissions to access the Zonal endpoint APIs.
+// After the session is created, you don’t need to use other policies to grant
+// permissions to each Zonal endpoint API individually. Instead, in your Zonal
+// endpoint API requests, you sign your requests by applying the temporary security
+// credentials of the session to the request headers and following the SigV4
+// protocol for authentication. You also apply the session token to the
+// x-amz-s3session-token request header for authorization. Temporary security
+// credentials are scoped to the bucket and expire after 5 minutes. After the
+// expiration time, any calls that you make with those credentials will fail. You
+// must use IAM credentials again to make a CreateSession API request that
+// generates a new set of temporary credentials for use. Temporary credentials
+// cannot be extended or refreshed beyond the original specified interval. If you
+// use Amazon Web Services SDKs, SDKs handle the session token refreshes
+// automatically to avoid service interruptions when a session expires. We
+// recommend that you use the Amazon Web Services SDKs to initiate and manage
+// requests to the CreateSession API. For more information, see Performance
+// guidelines and design patterns (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-optimizing-performance-guidelines-design-patterns.html#s3-express-optimizing-performance-session-authentication)
+// in the Amazon S3 User Guide.
+// - You must make requests for this API operation to the Zonal endpoint. These
+// endpoints support virtual-hosted-style requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests
+// are not supported. For more information, see Regional and Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide.
+// - CopyObject API operation - Unlike other Zonal endpoint APIs, the CopyObject
+// API operation doesn't use the temporary security credentials returned from the
+// CreateSession API operation for authentication and authorization. For
+// information about authentication and authorization of the CopyObject API
+// operation on directory buckets, see CopyObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)
+// .
+// - HeadBucket API operation - Unlike other Zonal endpoint APIs, the HeadBucket
+// API operation doesn't use the temporary security credentials returned from the
+// CreateSession API operation for authentication and authorization. For
+// information about authentication and authorization of the HeadBucket API
+// operation on directory buckets, see HeadBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html)
+// .
+//
+// Permissions To obtain temporary security credentials, you must create a bucket
+// policy or an IAM identity-based policy that grants s3express:CreateSession
+// permission to the bucket. In a policy, you can have the s3express:SessionMode
+// condition key to control who can create a ReadWrite or ReadOnly session. For
+// more information about ReadWrite or ReadOnly sessions, see
+// x-amz-create-session-mode (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html#API_CreateSession_RequestParameters)
+// . For example policies, see Example bucket policies for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html)
+// and Amazon Web Services Identity and Access Management (IAM) identity-based
+// policies for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html)
+// in the Amazon S3 User Guide. To grant cross-account access to Zonal endpoint
+// APIs, the bucket policy should also grant both accounts the
+// s3express:CreateSession permission. HTTP Host header syntax Directory buckets -
+// The HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com .
+func (c *Client) CreateSession(ctx context.Context, params *CreateSessionInput, optFns ...func(*Options)) (*CreateSessionOutput, error) {
+ if params == nil {
+ params = &CreateSessionInput{}
+ }
+
+ result, metadata, err := c.invokeOperation(ctx, "CreateSession", params, optFns, c.addOperationCreateSessionMiddlewares)
+ if err != nil {
+ return nil, err
+ }
+
+ out := result.(*CreateSessionOutput)
+ out.ResultMetadata = metadata
+ return out, nil
+}
+
+type CreateSessionInput struct {
+
+ // The name of the bucket that you create a session for.
+ //
+ // This member is required.
+ Bucket *string
+
+ // Specifies the mode of the session that will be created, either ReadWrite or
+ // ReadOnly . By default, a ReadWrite session is created. A ReadWrite session is
+ // capable of executing all the Zonal endpoint APIs on a directory bucket. A
+ // ReadOnly session is constrained to execute the following Zonal endpoint APIs:
+ // GetObject , HeadObject , ListObjectsV2 , GetObjectAttributes , ListParts , and
+ // ListMultipartUploads .
+ SessionMode types.SessionMode
+
+ noSmithyDocumentSerde
+}
+
+func (in *CreateSessionInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.DisableS3ExpressSessionAuth = ptr.Bool(true)
+}
+
+type CreateSessionOutput struct {
+
+ // The established temporary security credentials for the created session..
+ //
+ // This member is required.
+ Credentials *types.SessionCredentials
+
+ // Metadata pertaining to the operation's result.
+ ResultMetadata middleware.Metadata
+
+ noSmithyDocumentSerde
+}
+
+func (c *Client) addOperationCreateSessionMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
+ err = stack.Serialize.Add(&awsRestxml_serializeOpCreateSession{}, middleware.After)
+ if err != nil {
+ return err
+ }
+ err = stack.Deserialize.Add(&awsRestxml_deserializeOpCreateSession{}, middleware.After)
+ if err != nil {
+ return err
+ }
+ if err := addProtocolFinalizerMiddlewares(stack, options, "CreateSession"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
+ if err = addlegacyEndpointContextSetter(stack, options); err != nil {
+ return err
+ }
+ if err = addSetLoggerMiddleware(stack, options); err != nil {
+ return err
+ }
+ if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
+ return err
+ }
+ if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
+ return err
+ }
+ if err = addResolveEndpointMiddleware(stack, options); err != nil {
+ return err
+ }
+ if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
+ return err
+ }
+ if err = addRetryMiddlewares(stack, options); err != nil {
+ return err
+ }
+ if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
+ return err
+ }
+ if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
+ return err
+ }
+ if err = addClientUserAgent(stack, options); err != nil {
+ return err
+ }
+ if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
+ return err
+ }
+ if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
+ return err
+ }
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
+ return err
+ }
+ if err = addPutBucketContextMiddleware(stack); err != nil {
+ return err
+ }
+ if err = addOpCreateSessionValidationMiddleware(stack); err != nil {
+ return err
+ }
+ if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateSession(options.Region), middleware.Before); err != nil {
+ return err
+ }
+ if err = addMetadataRetrieverMiddleware(stack); err != nil {
+ return err
+ }
+ if err = awsmiddleware.AddRecursionDetection(stack); err != nil {
+ return err
+ }
+ if err = addCreateSessionUpdateEndpoint(stack, options); err != nil {
+ return err
+ }
+ if err = addResponseErrorMiddleware(stack); err != nil {
+ return err
+ }
+ if err = v4.AddContentSHA256HeaderMiddleware(stack); err != nil {
+ return err
+ }
+ if err = disableAcceptEncodingGzip(stack); err != nil {
+ return err
+ }
+ if err = addRequestResponseLogging(stack, options); err != nil {
+ return err
+ }
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
+ return err
+ }
+ if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (v *CreateSessionInput) bucket() (string, bool) {
+ if v.Bucket == nil {
+ return "", false
+ }
+ return *v.Bucket, true
+}
+
+func newServiceMetadataMiddleware_opCreateSession(region string) *awsmiddleware.RegisterServiceMetadata {
+ return &awsmiddleware.RegisterServiceMetadata{
+ Region: region,
+ ServiceID: ServiceID,
+ OperationName: "CreateSession",
+ }
+}
+
+// getCreateSessionBucketMember returns a pointer to string denoting a provided
+// bucket member valueand a boolean indicating if the input has a modeled bucket
+// name,
+func getCreateSessionBucketMember(input interface{}) (*string, bool) {
+ in := input.(*CreateSessionInput)
+ if in.Bucket == nil {
+ return nil, false
+ }
+ return in.Bucket, true
+}
+func addCreateSessionUpdateEndpoint(stack *middleware.Stack, options Options) error {
+ return s3cust.UpdateEndpoint(stack, s3cust.UpdateEndpointOptions{
+ Accessor: s3cust.UpdateEndpointParameterAccessor{
+ GetBucketFromInput: getCreateSessionBucketMember,
+ },
+ UsePathStyle: options.UsePathStyle,
+ UseAccelerate: options.UseAccelerate,
+ SupportsAccelerate: true,
+ TargetS3ObjectLambda: false,
+ EndpointResolver: options.EndpointResolver,
+ EndpointResolverOptions: options.EndpointOptions,
+ UseARNRegion: options.UseARNRegion,
+ DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
+ })
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucket.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucket.go
index ba163363..34645bb9 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucket.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucket.go
@@ -4,22 +4,42 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// Deletes the S3 bucket. All objects (including all object versions and delete
// markers) in the bucket must be deleted before the bucket itself can be deleted.
-// The following operations are related to DeleteBucket :
+// - Directory buckets - If multipart uploads in a directory bucket are in
+// progress, you can't delete the bucket until all the in-progress multipart
+// uploads are aborted or completed.
+// - Directory buckets - For directory buckets, you must make requests for this
+// API operation to the Regional endpoint. These endpoints support path-style
+// requests in the format
+// https://s3express-control.region_code.amazonaws.com/bucket-name .
+// Virtual-hosted-style requests aren't supported. For more information, see
+// Regional and Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide.
+//
+// Permissions
+// - General purpose bucket permissions - You must have the s3:DeleteBucket
+// permission on the specified bucket in a policy.
+// - Directory bucket permissions - You must have the s3express:DeleteBucket
+// permission in an IAM identity-based policy instead of a bucket policy.
+// Cross-account access to this API operation isn't supported. This operation can
+// only be performed by the Amazon Web Services account that owns the resource. For
+// more information about directory bucket policies and permissions, see Amazon
+// Web Services Identity and Access Management (IAM) for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html)
+// in the Amazon S3 User Guide.
+//
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// s3express-control.region.amazonaws.com . The following operations are related to
+// DeleteBucket :
// - CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)
// - DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)
func (c *Client) DeleteBucket(ctx context.Context, params *DeleteBucketInput, optFns ...func(*Options)) (*DeleteBucketOutput, error) {
@@ -39,19 +59,34 @@ func (c *Client) DeleteBucket(ctx context.Context, params *DeleteBucketInput, op
type DeleteBucketInput struct {
- // Specifies the bucket being deleted.
+ // Specifies the bucket being deleted. Directory buckets - When you use this
+ // operation with a directory bucket, you must use path-style requests in the
+ // format https://s3express-control.region_code.amazonaws.com/bucket-name .
+ // Virtual-hosted-style requests aren't supported. Directory bucket names must be
+ // unique in the chosen Availability Zone. Bucket names must also follow the format
+ // bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3
+ // ). For information about bucket naming restrictions, see Directory bucket
+ // naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide
//
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied). For directory buckets, this header
+ // is not supported in this API operation. If you specify this header, the request
+ // fails with the HTTP status code 501 Not Implemented .
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *DeleteBucketInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type DeleteBucketOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -60,6 +95,9 @@ type DeleteBucketOutput struct {
}
func (c *Client) addOperationDeleteBucketMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteBucket{}, middleware.After)
if err != nil {
return err
@@ -68,6 +106,10 @@ func (c *Client) addOperationDeleteBucketMiddlewares(stack *middleware.Stack, op
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteBucket"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -89,9 +131,6 @@ func (c *Client) addOperationDeleteBucketMiddlewares(stack *middleware.Stack, op
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -107,10 +146,10 @@ func (c *Client) addOperationDeleteBucketMiddlewares(stack *middleware.Stack, op
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteBucketResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteBucketValidationMiddleware(stack); err != nil {
@@ -140,7 +179,7 @@ func (c *Client) addOperationDeleteBucketMiddlewares(stack *middleware.Stack, op
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -160,7 +199,6 @@ func newServiceMetadataMiddleware_opDeleteBucket(region string) *awsmiddleware.R
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteBucket",
}
}
@@ -221,139 +259,3 @@ func addDeleteBucketPayloadAsUnsigned(stack *middleware.Stack, options Options)
v4.RemoveComputePayloadSHA256Middleware(stack)
return v4.AddUnsignedPayloadMiddleware(stack)
}
-
-type opDeleteBucketResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteBucketResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteBucketResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteBucketInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteBucketResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteBucketResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketAnalyticsConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketAnalyticsConfiguration.go
index 12d12e6c..55d8fc1c 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketAnalyticsConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketAnalyticsConfiguration.go
@@ -4,23 +4,20 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Deletes an analytics configuration for the bucket (specified by the analytics
-// configuration ID). To use this operation, you must have permissions to perform
-// the s3:PutAnalyticsConfiguration action. The bucket owner has this permission
-// by default. The bucket owner can grant this permission to others. For more
+// This operation is not supported by directory buckets. Deletes an analytics
+// configuration for the bucket (specified by the analytics configuration ID). To
+// use this operation, you must have permissions to perform the
+// s3:PutAnalyticsConfiguration action. The bucket owner has this permission by
+// default. The bucket owner can grant this permission to others. For more
// information about permissions, see Permissions Related to Bucket Subresource
// Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
@@ -57,14 +54,19 @@ type DeleteBucketAnalyticsConfigurationInput struct {
// This member is required.
Id *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *DeleteBucketAnalyticsConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type DeleteBucketAnalyticsConfigurationOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -73,6 +75,9 @@ type DeleteBucketAnalyticsConfigurationOutput struct {
}
func (c *Client) addOperationDeleteBucketAnalyticsConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteBucketAnalyticsConfiguration{}, middleware.After)
if err != nil {
return err
@@ -81,6 +86,10 @@ func (c *Client) addOperationDeleteBucketAnalyticsConfigurationMiddlewares(stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteBucketAnalyticsConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -102,9 +111,6 @@ func (c *Client) addOperationDeleteBucketAnalyticsConfigurationMiddlewares(stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -120,10 +126,10 @@ func (c *Client) addOperationDeleteBucketAnalyticsConfigurationMiddlewares(stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteBucketAnalyticsConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteBucketAnalyticsConfigurationValidationMiddleware(stack); err != nil {
@@ -153,7 +159,7 @@ func (c *Client) addOperationDeleteBucketAnalyticsConfigurationMiddlewares(stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -173,7 +179,6 @@ func newServiceMetadataMiddleware_opDeleteBucketAnalyticsConfiguration(region st
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteBucketAnalyticsConfiguration",
}
}
@@ -203,139 +208,3 @@ func addDeleteBucketAnalyticsConfigurationUpdateEndpoint(stack *middleware.Stack
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opDeleteBucketAnalyticsConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteBucketAnalyticsConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteBucketAnalyticsConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteBucketAnalyticsConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteBucketAnalyticsConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteBucketAnalyticsConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketCors.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketCors.go
index ae90a906..9a544922 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketCors.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketCors.go
@@ -4,23 +4,20 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Deletes the cors configuration information set for the bucket. To use this
-// operation, you must have permission to perform the s3:PutBucketCORS action. The
-// bucket owner has this permission by default and can grant this permission to
-// others. For information about cors , see Enabling Cross-Origin Resource Sharing (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html)
+// This operation is not supported by directory buckets. Deletes the cors
+// configuration information set for the bucket. To use this operation, you must
+// have permission to perform the s3:PutBucketCORS action. The bucket owner has
+// this permission by default and can grant this permission to others. For
+// information about cors , see Enabling Cross-Origin Resource Sharing (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html)
// in the Amazon S3 User Guide. Related Resources
// - PutBucketCors (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html)
// - RESTOPTIONSobject (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html)
@@ -46,14 +43,19 @@ type DeleteBucketCorsInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *DeleteBucketCorsInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type DeleteBucketCorsOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -62,6 +64,9 @@ type DeleteBucketCorsOutput struct {
}
func (c *Client) addOperationDeleteBucketCorsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteBucketCors{}, middleware.After)
if err != nil {
return err
@@ -70,6 +75,10 @@ func (c *Client) addOperationDeleteBucketCorsMiddlewares(stack *middleware.Stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteBucketCors"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -91,9 +100,6 @@ func (c *Client) addOperationDeleteBucketCorsMiddlewares(stack *middleware.Stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -109,10 +115,10 @@ func (c *Client) addOperationDeleteBucketCorsMiddlewares(stack *middleware.Stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteBucketCorsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteBucketCorsValidationMiddleware(stack); err != nil {
@@ -142,7 +148,7 @@ func (c *Client) addOperationDeleteBucketCorsMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -162,7 +168,6 @@ func newServiceMetadataMiddleware_opDeleteBucketCors(region string) *awsmiddlewa
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteBucketCors",
}
}
@@ -192,139 +197,3 @@ func addDeleteBucketCorsUpdateEndpoint(stack *middleware.Stack, options Options)
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opDeleteBucketCorsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteBucketCorsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteBucketCorsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteBucketCorsInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteBucketCorsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteBucketCorsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketEncryption.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketEncryption.go
index 754ae6a5..0ef6f93e 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketEncryption.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketEncryption.go
@@ -4,23 +4,19 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// This implementation of the DELETE action resets the default encryption for the
-// bucket as server-side encryption with Amazon S3 managed keys (SSE-S3). For
-// information about the bucket default encryption feature, see Amazon S3 Bucket
-// Default Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html)
+// This operation is not supported by directory buckets. This implementation of
+// the DELETE action resets the default encryption for the bucket as server-side
+// encryption with Amazon S3 managed keys (SSE-S3). For information about the
+// bucket default encryption feature, see Amazon S3 Bucket Default Encryption (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
// perform the s3:PutEncryptionConfiguration action. The bucket owner has this
// permission by default. The bucket owner can grant this permission to others. For
@@ -54,14 +50,19 @@ type DeleteBucketEncryptionInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *DeleteBucketEncryptionInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type DeleteBucketEncryptionOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -70,6 +71,9 @@ type DeleteBucketEncryptionOutput struct {
}
func (c *Client) addOperationDeleteBucketEncryptionMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteBucketEncryption{}, middleware.After)
if err != nil {
return err
@@ -78,6 +82,10 @@ func (c *Client) addOperationDeleteBucketEncryptionMiddlewares(stack *middleware
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteBucketEncryption"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -99,9 +107,6 @@ func (c *Client) addOperationDeleteBucketEncryptionMiddlewares(stack *middleware
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -117,10 +122,10 @@ func (c *Client) addOperationDeleteBucketEncryptionMiddlewares(stack *middleware
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteBucketEncryptionResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteBucketEncryptionValidationMiddleware(stack); err != nil {
@@ -150,7 +155,7 @@ func (c *Client) addOperationDeleteBucketEncryptionMiddlewares(stack *middleware
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -170,7 +175,6 @@ func newServiceMetadataMiddleware_opDeleteBucketEncryption(region string) *awsmi
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteBucketEncryption",
}
}
@@ -200,139 +204,3 @@ func addDeleteBucketEncryptionUpdateEndpoint(stack *middleware.Stack, options Op
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opDeleteBucketEncryptionResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteBucketEncryptionResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteBucketEncryptionResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteBucketEncryptionInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteBucketEncryptionResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteBucketEncryptionResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketIntelligentTieringConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketIntelligentTieringConfiguration.go
index e71e5fb8..eeaefc5f 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketIntelligentTieringConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketIntelligentTieringConfiguration.go
@@ -4,21 +4,18 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Deletes the S3 Intelligent-Tiering configuration from the specified bucket. The
-// S3 Intelligent-Tiering storage class is designed to optimize storage costs by
+// This operation is not supported by directory buckets. Deletes the S3
+// Intelligent-Tiering configuration from the specified bucket. The S3
+// Intelligent-Tiering storage class is designed to optimize storage costs by
// automatically moving data to the most cost-effective storage access tier,
// without performance impact or operational overhead. S3 Intelligent-Tiering
// delivers automatic cost savings in three low latency and high throughput access
@@ -66,6 +63,11 @@ type DeleteBucketIntelligentTieringConfigurationInput struct {
noSmithyDocumentSerde
}
+func (in *DeleteBucketIntelligentTieringConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type DeleteBucketIntelligentTieringConfigurationOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -74,6 +76,9 @@ type DeleteBucketIntelligentTieringConfigurationOutput struct {
}
func (c *Client) addOperationDeleteBucketIntelligentTieringConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteBucketIntelligentTieringConfiguration{}, middleware.After)
if err != nil {
return err
@@ -82,6 +87,10 @@ func (c *Client) addOperationDeleteBucketIntelligentTieringConfigurationMiddlewa
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteBucketIntelligentTieringConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -103,9 +112,6 @@ func (c *Client) addOperationDeleteBucketIntelligentTieringConfigurationMiddlewa
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -121,10 +127,10 @@ func (c *Client) addOperationDeleteBucketIntelligentTieringConfigurationMiddlewa
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteBucketIntelligentTieringConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteBucketIntelligentTieringConfigurationValidationMiddleware(stack); err != nil {
@@ -154,7 +160,7 @@ func (c *Client) addOperationDeleteBucketIntelligentTieringConfigurationMiddlewa
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -174,7 +180,6 @@ func newServiceMetadataMiddleware_opDeleteBucketIntelligentTieringConfiguration(
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteBucketIntelligentTieringConfiguration",
}
}
@@ -204,139 +209,3 @@ func addDeleteBucketIntelligentTieringConfigurationUpdateEndpoint(stack *middlew
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opDeleteBucketIntelligentTieringConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteBucketIntelligentTieringConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteBucketIntelligentTieringConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteBucketIntelligentTieringConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteBucketIntelligentTieringConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteBucketIntelligentTieringConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketInventoryConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketInventoryConfiguration.go
index 4788ce85..28a93e0d 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketInventoryConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketInventoryConfiguration.go
@@ -4,25 +4,21 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Deletes an inventory configuration (identified by the inventory ID) from the
-// bucket. To use this operation, you must have permissions to perform the
-// s3:PutInventoryConfiguration action. The bucket owner has this permission by
-// default. The bucket owner can grant this permission to others. For more
-// information about permissions, see Permissions Related to Bucket Subresource
-// Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
+// This operation is not supported by directory buckets. Deletes an inventory
+// configuration (identified by the inventory ID) from the bucket. To use this
+// operation, you must have permissions to perform the s3:PutInventoryConfiguration
+// action. The bucket owner has this permission by default. The bucket owner can
+// grant this permission to others. For more information about permissions, see
+// Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
// . For information about the Amazon S3 inventory feature, see Amazon S3 Inventory (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html)
// . Operations related to DeleteBucketInventoryConfiguration include:
@@ -56,14 +52,19 @@ type DeleteBucketInventoryConfigurationInput struct {
// This member is required.
Id *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *DeleteBucketInventoryConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type DeleteBucketInventoryConfigurationOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -72,6 +73,9 @@ type DeleteBucketInventoryConfigurationOutput struct {
}
func (c *Client) addOperationDeleteBucketInventoryConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteBucketInventoryConfiguration{}, middleware.After)
if err != nil {
return err
@@ -80,6 +84,10 @@ func (c *Client) addOperationDeleteBucketInventoryConfigurationMiddlewares(stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteBucketInventoryConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -101,9 +109,6 @@ func (c *Client) addOperationDeleteBucketInventoryConfigurationMiddlewares(stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -119,10 +124,10 @@ func (c *Client) addOperationDeleteBucketInventoryConfigurationMiddlewares(stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteBucketInventoryConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteBucketInventoryConfigurationValidationMiddleware(stack); err != nil {
@@ -152,7 +157,7 @@ func (c *Client) addOperationDeleteBucketInventoryConfigurationMiddlewares(stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -172,7 +177,6 @@ func newServiceMetadataMiddleware_opDeleteBucketInventoryConfiguration(region st
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteBucketInventoryConfiguration",
}
}
@@ -202,139 +206,3 @@ func addDeleteBucketInventoryConfigurationUpdateEndpoint(stack *middleware.Stack
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opDeleteBucketInventoryConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteBucketInventoryConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteBucketInventoryConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteBucketInventoryConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteBucketInventoryConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteBucketInventoryConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketLifecycle.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketLifecycle.go
index f265ec36..d7b8eb58 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketLifecycle.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketLifecycle.go
@@ -4,27 +4,24 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Deletes the lifecycle configuration from the specified bucket. Amazon S3
-// removes all the lifecycle configuration rules in the lifecycle subresource
-// associated with the bucket. Your objects never expire, and Amazon S3 no longer
-// automatically deletes any objects on the basis of rules contained in the deleted
-// lifecycle configuration. To use this operation, you must have permission to
-// perform the s3:PutLifecycleConfiguration action. By default, the bucket owner
-// has this permission and the bucket owner can grant this permission to others.
-// There is usually some time lag before lifecycle configuration deletion is fully
+// This operation is not supported by directory buckets. Deletes the lifecycle
+// configuration from the specified bucket. Amazon S3 removes all the lifecycle
+// configuration rules in the lifecycle subresource associated with the bucket.
+// Your objects never expire, and Amazon S3 no longer automatically deletes any
+// objects on the basis of rules contained in the deleted lifecycle configuration.
+// To use this operation, you must have permission to perform the
+// s3:PutLifecycleConfiguration action. By default, the bucket owner has this
+// permission and the bucket owner can grant this permission to others. There is
+// usually some time lag before lifecycle configuration deletion is fully
// propagated to all the Amazon S3 systems. For more information about the object
// expiration, see Elements to Describe Lifecycle Actions (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#intro-lifecycle-rules-actions)
// . Related actions include:
@@ -52,14 +49,19 @@ type DeleteBucketLifecycleInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *DeleteBucketLifecycleInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type DeleteBucketLifecycleOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -68,6 +70,9 @@ type DeleteBucketLifecycleOutput struct {
}
func (c *Client) addOperationDeleteBucketLifecycleMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteBucketLifecycle{}, middleware.After)
if err != nil {
return err
@@ -76,6 +81,10 @@ func (c *Client) addOperationDeleteBucketLifecycleMiddlewares(stack *middleware.
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteBucketLifecycle"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -97,9 +106,6 @@ func (c *Client) addOperationDeleteBucketLifecycleMiddlewares(stack *middleware.
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -115,10 +121,10 @@ func (c *Client) addOperationDeleteBucketLifecycleMiddlewares(stack *middleware.
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteBucketLifecycleResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteBucketLifecycleValidationMiddleware(stack); err != nil {
@@ -148,7 +154,7 @@ func (c *Client) addOperationDeleteBucketLifecycleMiddlewares(stack *middleware.
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -168,7 +174,6 @@ func newServiceMetadataMiddleware_opDeleteBucketLifecycle(region string) *awsmid
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteBucketLifecycle",
}
}
@@ -198,139 +203,3 @@ func addDeleteBucketLifecycleUpdateEndpoint(stack *middleware.Stack, options Opt
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opDeleteBucketLifecycleResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteBucketLifecycleResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteBucketLifecycleResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteBucketLifecycleInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteBucketLifecycleResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteBucketLifecycleResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketMetricsConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketMetricsConfiguration.go
index 51e57ca7..a6675a88 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketMetricsConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketMetricsConfiguration.go
@@ -4,26 +4,23 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Deletes a metrics configuration for the Amazon CloudWatch request metrics
-// (specified by the metrics configuration ID) from the bucket. Note that this
-// doesn't include the daily storage metrics. To use this operation, you must have
-// permissions to perform the s3:PutMetricsConfiguration action. The bucket owner
-// has this permission by default. The bucket owner can grant this permission to
-// others. For more information about permissions, see Permissions Related to
-// Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
+// This operation is not supported by directory buckets. Deletes a metrics
+// configuration for the Amazon CloudWatch request metrics (specified by the
+// metrics configuration ID) from the bucket. Note that this doesn't include the
+// daily storage metrics. To use this operation, you must have permissions to
+// perform the s3:PutMetricsConfiguration action. The bucket owner has this
+// permission by default. The bucket owner can grant this permission to others. For
+// more information about permissions, see Permissions Related to Bucket
+// Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
// . For information about CloudWatch request metrics for Amazon S3, see
// Monitoring Metrics with Amazon CloudWatch (https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html)
@@ -60,14 +57,19 @@ type DeleteBucketMetricsConfigurationInput struct {
// This member is required.
Id *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *DeleteBucketMetricsConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type DeleteBucketMetricsConfigurationOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -76,6 +78,9 @@ type DeleteBucketMetricsConfigurationOutput struct {
}
func (c *Client) addOperationDeleteBucketMetricsConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteBucketMetricsConfiguration{}, middleware.After)
if err != nil {
return err
@@ -84,6 +89,10 @@ func (c *Client) addOperationDeleteBucketMetricsConfigurationMiddlewares(stack *
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteBucketMetricsConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -105,9 +114,6 @@ func (c *Client) addOperationDeleteBucketMetricsConfigurationMiddlewares(stack *
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -123,10 +129,10 @@ func (c *Client) addOperationDeleteBucketMetricsConfigurationMiddlewares(stack *
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteBucketMetricsConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteBucketMetricsConfigurationValidationMiddleware(stack); err != nil {
@@ -156,7 +162,7 @@ func (c *Client) addOperationDeleteBucketMetricsConfigurationMiddlewares(stack *
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -176,7 +182,6 @@ func newServiceMetadataMiddleware_opDeleteBucketMetricsConfiguration(region stri
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteBucketMetricsConfiguration",
}
}
@@ -206,139 +211,3 @@ func addDeleteBucketMetricsConfigurationUpdateEndpoint(stack *middleware.Stack,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opDeleteBucketMetricsConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteBucketMetricsConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteBucketMetricsConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteBucketMetricsConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteBucketMetricsConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteBucketMetricsConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketOwnershipControls.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketOwnershipControls.go
index ad99b661..1b53e08e 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketOwnershipControls.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketOwnershipControls.go
@@ -4,22 +4,19 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Removes OwnershipControls for an Amazon S3 bucket. To use this operation, you
-// must have the s3:PutBucketOwnershipControls permission. For more information
-// about Amazon S3 permissions, see Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
+// This operation is not supported by directory buckets. Removes OwnershipControls
+// for an Amazon S3 bucket. To use this operation, you must have the
+// s3:PutBucketOwnershipControls permission. For more information about Amazon S3
+// permissions, see Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
// . For information about Amazon S3 Object Ownership, see Using Object Ownership (https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html)
// . The following operations are related to DeleteBucketOwnershipControls :
// - GetBucketOwnershipControls
@@ -46,14 +43,19 @@ type DeleteBucketOwnershipControlsInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *DeleteBucketOwnershipControlsInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type DeleteBucketOwnershipControlsOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -62,6 +64,9 @@ type DeleteBucketOwnershipControlsOutput struct {
}
func (c *Client) addOperationDeleteBucketOwnershipControlsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteBucketOwnershipControls{}, middleware.After)
if err != nil {
return err
@@ -70,6 +75,10 @@ func (c *Client) addOperationDeleteBucketOwnershipControlsMiddlewares(stack *mid
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteBucketOwnershipControls"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -91,9 +100,6 @@ func (c *Client) addOperationDeleteBucketOwnershipControlsMiddlewares(stack *mid
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -109,10 +115,10 @@ func (c *Client) addOperationDeleteBucketOwnershipControlsMiddlewares(stack *mid
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteBucketOwnershipControlsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteBucketOwnershipControlsValidationMiddleware(stack); err != nil {
@@ -142,7 +148,7 @@ func (c *Client) addOperationDeleteBucketOwnershipControlsMiddlewares(stack *mid
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -162,7 +168,6 @@ func newServiceMetadataMiddleware_opDeleteBucketOwnershipControls(region string)
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteBucketOwnershipControls",
}
}
@@ -192,139 +197,3 @@ func addDeleteBucketOwnershipControlsUpdateEndpoint(stack *middleware.Stack, opt
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opDeleteBucketOwnershipControlsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteBucketOwnershipControlsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteBucketOwnershipControlsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteBucketOwnershipControlsInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteBucketOwnershipControlsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteBucketOwnershipControlsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketPolicy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketPolicy.go
index 1718b471..0d8e77ff 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketPolicy.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketPolicy.go
@@ -4,36 +4,51 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// This implementation of the DELETE action uses the policy subresource to delete
-// the policy of a specified bucket. If you are using an identity other than the
-// root user of the Amazon Web Services account that owns the bucket, the calling
-// identity must have the DeleteBucketPolicy permissions on the specified bucket
-// and belong to the bucket owner's account to use this operation. If you don't
-// have DeleteBucketPolicy permissions, Amazon S3 returns a 403 Access Denied
-// error. If you have the correct permissions, but you're not using an identity
-// that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not
-// Allowed error. To ensure that bucket owners don't inadvertently lock themselves
-// out of their own buckets, the root principal in a bucket owner's Amazon Web
-// Services account can perform the GetBucketPolicy , PutBucketPolicy , and
-// DeleteBucketPolicy API actions, even if their bucket policy explicitly denies
-// the root principal's access. Bucket owner root principals can only be blocked
-// from performing these API actions by VPC endpoint policies and Amazon Web
-// Services Organizations policies. For more information about bucket policies, see
-// Using Bucket Policies and UserPolicies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html)
-// . The following operations are related to DeleteBucketPolicy
+// Deletes the policy of a specified bucket. Directory buckets - For directory
+// buckets, you must make requests for this API operation to the Regional endpoint.
+// These endpoints support path-style requests in the format
+// https://s3express-control.region_code.amazonaws.com/bucket-name .
+// Virtual-hosted-style requests aren't supported. For more information, see
+// Regional and Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Permissions If you are using an identity other than
+// the root user of the Amazon Web Services account that owns the bucket, the
+// calling identity must both have the DeleteBucketPolicy permissions on the
+// specified bucket and belong to the bucket owner's account in order to use this
+// operation. If you don't have DeleteBucketPolicy permissions, Amazon S3 returns
+// a 403 Access Denied error. If you have the correct permissions, but you're not
+// using an identity that belongs to the bucket owner's account, Amazon S3 returns
+// a 405 Method Not Allowed error. To ensure that bucket owners don't
+// inadvertently lock themselves out of their own buckets, the root principal in a
+// bucket owner's Amazon Web Services account can perform the GetBucketPolicy ,
+// PutBucketPolicy , and DeleteBucketPolicy API actions, even if their bucket
+// policy explicitly denies the root principal's access. Bucket owner root
+// principals can only be blocked from performing these API actions by VPC endpoint
+// policies and Amazon Web Services Organizations policies.
+// - General purpose bucket permissions - The s3:DeleteBucketPolicy permission is
+// required in a policy. For more information about general purpose buckets bucket
+// policies, see Using Bucket Policies and User Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html)
+// in the Amazon S3 User Guide.
+// - Directory bucket permissions - To grant access to this API operation, you
+// must have the s3express:DeleteBucketPolicy permission in an IAM identity-based
+// policy instead of a bucket policy. Cross-account access to this API operation
+// isn't supported. This operation can only be performed by the Amazon Web Services
+// account that owns the resource. For more information about directory bucket
+// policies and permissions, see Amazon Web Services Identity and Access
+// Management (IAM) for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html)
+// in the Amazon S3 User Guide.
+//
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// s3express-control.region.amazonaws.com . The following operations are related to
+// DeleteBucketPolicy
// - CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)
// - DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)
func (c *Client) DeleteBucketPolicy(ctx context.Context, params *DeleteBucketPolicyInput, optFns ...func(*Options)) (*DeleteBucketPolicyOutput, error) {
@@ -53,19 +68,34 @@ func (c *Client) DeleteBucketPolicy(ctx context.Context, params *DeleteBucketPol
type DeleteBucketPolicyInput struct {
- // The bucket name.
+ // The bucket name. Directory buckets - When you use this operation with a
+ // directory bucket, you must use path-style requests in the format
+ // https://s3express-control.region_code.amazonaws.com/bucket-name .
+ // Virtual-hosted-style requests aren't supported. Directory bucket names must be
+ // unique in the chosen Availability Zone. Bucket names must also follow the format
+ // bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3
+ // ). For information about bucket naming restrictions, see Directory bucket
+ // naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide
//
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied). For directory buckets, this header
+ // is not supported in this API operation. If you specify this header, the request
+ // fails with the HTTP status code 501 Not Implemented .
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *DeleteBucketPolicyInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type DeleteBucketPolicyOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -74,6 +104,9 @@ type DeleteBucketPolicyOutput struct {
}
func (c *Client) addOperationDeleteBucketPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteBucketPolicy{}, middleware.After)
if err != nil {
return err
@@ -82,6 +115,10 @@ func (c *Client) addOperationDeleteBucketPolicyMiddlewares(stack *middleware.Sta
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteBucketPolicy"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -103,9 +140,6 @@ func (c *Client) addOperationDeleteBucketPolicyMiddlewares(stack *middleware.Sta
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -121,10 +155,10 @@ func (c *Client) addOperationDeleteBucketPolicyMiddlewares(stack *middleware.Sta
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteBucketPolicyResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteBucketPolicyValidationMiddleware(stack); err != nil {
@@ -154,7 +188,7 @@ func (c *Client) addOperationDeleteBucketPolicyMiddlewares(stack *middleware.Sta
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -174,7 +208,6 @@ func newServiceMetadataMiddleware_opDeleteBucketPolicy(region string) *awsmiddle
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteBucketPolicy",
}
}
@@ -204,139 +237,3 @@ func addDeleteBucketPolicyUpdateEndpoint(stack *middleware.Stack, options Option
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opDeleteBucketPolicyResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteBucketPolicyResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteBucketPolicyResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteBucketPolicyInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteBucketPolicyResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteBucketPolicyResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketReplication.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketReplication.go
index 441adcea..7ac11a7b 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketReplication.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketReplication.go
@@ -4,24 +4,20 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Deletes the replication configuration from the bucket. To use this operation,
-// you must have permissions to perform the s3:PutReplicationConfiguration action.
-// The bucket owner has these permissions by default and can grant it to others.
-// For more information about permissions, see Permissions Related to Bucket
-// Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
+// This operation is not supported by directory buckets. Deletes the replication
+// configuration from the bucket. To use this operation, you must have permissions
+// to perform the s3:PutReplicationConfiguration action. The bucket owner has
+// these permissions by default and can grant it to others. For more information
+// about permissions, see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
// . It can take a while for the deletion of a replication configuration to fully
// propagate. For information about replication configuration, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html)
@@ -51,14 +47,19 @@ type DeleteBucketReplicationInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *DeleteBucketReplicationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type DeleteBucketReplicationOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -67,6 +68,9 @@ type DeleteBucketReplicationOutput struct {
}
func (c *Client) addOperationDeleteBucketReplicationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteBucketReplication{}, middleware.After)
if err != nil {
return err
@@ -75,6 +79,10 @@ func (c *Client) addOperationDeleteBucketReplicationMiddlewares(stack *middlewar
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteBucketReplication"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -96,9 +104,6 @@ func (c *Client) addOperationDeleteBucketReplicationMiddlewares(stack *middlewar
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -114,10 +119,10 @@ func (c *Client) addOperationDeleteBucketReplicationMiddlewares(stack *middlewar
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteBucketReplicationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteBucketReplicationValidationMiddleware(stack); err != nil {
@@ -147,7 +152,7 @@ func (c *Client) addOperationDeleteBucketReplicationMiddlewares(stack *middlewar
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -167,7 +172,6 @@ func newServiceMetadataMiddleware_opDeleteBucketReplication(region string) *awsm
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteBucketReplication",
}
}
@@ -197,139 +201,3 @@ func addDeleteBucketReplicationUpdateEndpoint(stack *middleware.Stack, options O
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opDeleteBucketReplicationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteBucketReplicationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteBucketReplicationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteBucketReplicationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteBucketReplicationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteBucketReplicationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketTagging.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketTagging.go
index 1aeef1de..5a75a1f4 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketTagging.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketTagging.go
@@ -4,23 +4,20 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Deletes the tags from the bucket. To use this operation, you must have
-// permission to perform the s3:PutBucketTagging action. By default, the bucket
-// owner has this permission and can grant this permission to others. The following
-// operations are related to DeleteBucketTagging :
+// This operation is not supported by directory buckets. Deletes the tags from the
+// bucket. To use this operation, you must have permission to perform the
+// s3:PutBucketTagging action. By default, the bucket owner has this permission and
+// can grant this permission to others. The following operations are related to
+// DeleteBucketTagging :
// - GetBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketTagging.html)
// - PutBucketTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html)
func (c *Client) DeleteBucketTagging(ctx context.Context, params *DeleteBucketTaggingInput, optFns ...func(*Options)) (*DeleteBucketTaggingOutput, error) {
@@ -45,14 +42,19 @@ type DeleteBucketTaggingInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *DeleteBucketTaggingInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type DeleteBucketTaggingOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -61,6 +63,9 @@ type DeleteBucketTaggingOutput struct {
}
func (c *Client) addOperationDeleteBucketTaggingMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteBucketTagging{}, middleware.After)
if err != nil {
return err
@@ -69,6 +74,10 @@ func (c *Client) addOperationDeleteBucketTaggingMiddlewares(stack *middleware.St
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteBucketTagging"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -90,9 +99,6 @@ func (c *Client) addOperationDeleteBucketTaggingMiddlewares(stack *middleware.St
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -108,10 +114,10 @@ func (c *Client) addOperationDeleteBucketTaggingMiddlewares(stack *middleware.St
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteBucketTaggingResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteBucketTaggingValidationMiddleware(stack); err != nil {
@@ -141,7 +147,7 @@ func (c *Client) addOperationDeleteBucketTaggingMiddlewares(stack *middleware.St
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -161,7 +167,6 @@ func newServiceMetadataMiddleware_opDeleteBucketTagging(region string) *awsmiddl
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteBucketTagging",
}
}
@@ -191,139 +196,3 @@ func addDeleteBucketTaggingUpdateEndpoint(stack *middleware.Stack, options Optio
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opDeleteBucketTaggingResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteBucketTaggingResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteBucketTaggingResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteBucketTaggingInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteBucketTaggingResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteBucketTaggingResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketWebsite.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketWebsite.go
index e7fc64b5..dbe84fbb 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketWebsite.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteBucketWebsite.go
@@ -4,30 +4,26 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// This action removes the website configuration for a bucket. Amazon S3 returns a
-// 200 OK response upon successfully deleting a website configuration on the
-// specified bucket. You will get a 200 OK response if the website configuration
-// you are trying to delete does not exist on the bucket. Amazon S3 returns a 404
-// response if the bucket specified in the request does not exist. This DELETE
-// action requires the S3:DeleteBucketWebsite permission. By default, only the
-// bucket owner can delete the website configuration attached to a bucket. However,
-// bucket owners can grant other users permission to delete the website
-// configuration by writing a bucket policy granting them the
-// S3:DeleteBucketWebsite permission. For more information about hosting websites,
-// see Hosting Websites on Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html)
+// This operation is not supported by directory buckets. This action removes the
+// website configuration for a bucket. Amazon S3 returns a 200 OK response upon
+// successfully deleting a website configuration on the specified bucket. You will
+// get a 200 OK response if the website configuration you are trying to delete
+// does not exist on the bucket. Amazon S3 returns a 404 response if the bucket
+// specified in the request does not exist. This DELETE action requires the
+// S3:DeleteBucketWebsite permission. By default, only the bucket owner can delete
+// the website configuration attached to a bucket. However, bucket owners can grant
+// other users permission to delete the website configuration by writing a bucket
+// policy granting them the S3:DeleteBucketWebsite permission. For more
+// information about hosting websites, see Hosting Websites on Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html)
// . The following operations are related to DeleteBucketWebsite :
// - GetBucketWebsite (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketWebsite.html)
// - PutBucketWebsite (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html)
@@ -53,14 +49,19 @@ type DeleteBucketWebsiteInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *DeleteBucketWebsiteInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type DeleteBucketWebsiteOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -69,6 +70,9 @@ type DeleteBucketWebsiteOutput struct {
}
func (c *Client) addOperationDeleteBucketWebsiteMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteBucketWebsite{}, middleware.After)
if err != nil {
return err
@@ -77,6 +81,10 @@ func (c *Client) addOperationDeleteBucketWebsiteMiddlewares(stack *middleware.St
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteBucketWebsite"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -98,9 +106,6 @@ func (c *Client) addOperationDeleteBucketWebsiteMiddlewares(stack *middleware.St
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -116,10 +121,10 @@ func (c *Client) addOperationDeleteBucketWebsiteMiddlewares(stack *middleware.St
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteBucketWebsiteResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteBucketWebsiteValidationMiddleware(stack); err != nil {
@@ -149,7 +154,7 @@ func (c *Client) addOperationDeleteBucketWebsiteMiddlewares(stack *middleware.St
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -169,7 +174,6 @@ func newServiceMetadataMiddleware_opDeleteBucketWebsite(region string) *awsmiddl
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteBucketWebsite",
}
}
@@ -199,139 +203,3 @@ func addDeleteBucketWebsiteUpdateEndpoint(stack *middleware.Stack, options Optio
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opDeleteBucketWebsiteResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteBucketWebsiteResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteBucketWebsiteResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteBucketWebsiteInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteBucketWebsiteResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteBucketWebsiteResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObject.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObject.go
index 5b5cbf18..cd00e599 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObject.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObject.go
@@ -4,38 +4,78 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// 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
-// version, Amazon S3 does not remove any objects but will still respond that the
-// command was successful. To remove a specific version, you must use the version
-// Id subresource. Using this subresource permanently deletes the version. If the
-// object deleted is a delete marker, Amazon S3 sets the response header,
-// x-amz-delete-marker , to true. If the object you want to delete is in a bucket
-// where the bucket versioning configuration is MFA Delete enabled, you must
-// include the x-amz-mfa request header in the DELETE versionId request. Requests
-// that include x-amz-mfa must use HTTPS. For more information about MFA Delete,
-// see Using MFA Delete (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html)
-// . To see sample requests that use versioning, see Sample Request (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete)
-// . You can delete objects by explicitly calling DELETE Object or configure its
-// lifecycle ( PutBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html)
+// Removes an object from a bucket. The behavior depends on the bucket's
+// versioning state:
+//
+// - If versioning is enabled, the operation 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 version, Amazon S3 does not remove
+// any objects but will still respond that the command was successful.
+//
+// - If versioning is suspended or not enabled, the operation permanently
+// deletes the object.
+//
+// - Directory buckets - S3 Versioning isn't enabled and supported for directory
+// buckets. For this API operation, only the null value of the version ID is
+// supported by directory buckets. You can only specify null to the versionId
+// query parameter in the request.
+//
+// - Directory buckets - For directory buckets, you must make requests for this
+// API operation to the Zonal endpoint. These endpoints support
+// virtual-hosted-style requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name .
+// Path-style requests are not supported. For more information, see Regional and
+// Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide.
+//
+// To remove a specific version, you must use the versionId query parameter. Using
+// this query parameter permanently deletes the version. If the object deleted is a
+// delete marker, Amazon S3 sets the response header x-amz-delete-marker to true.
+// If the object you want to delete is in a bucket where the bucket versioning
+// configuration is MFA Delete enabled, you must include the x-amz-mfa request
+// header in the DELETE versionId request. Requests that include x-amz-mfa must
+// use HTTPS. For more information about MFA Delete, see Using MFA Delete (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMFADelete.html)
+// in the Amazon S3 User Guide. To see sample requests that use versioning, see
+// Sample Request (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectDELETE.html#ExampleVersionObjectDelete)
+// . Directory buckets - MFA delete is not supported by directory buckets. You can
+// delete objects by explicitly calling DELETE Object or calling (
+// PutBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycle.html)
// ) to enable Amazon S3 to remove them for you. If you want to block users or
// accounts from removing or deleting objects from your bucket, you must deny them
// the s3:DeleteObject , s3:DeleteObjectVersion , and s3:PutLifeCycleConfiguration
-// actions. The following action is related to DeleteObject :
+// actions. Directory buckets - S3 Lifecycle is not supported by directory buckets.
+// Permissions
+// - General purpose bucket permissions - The following permissions are required
+// in your policies when your DeleteObjects request includes specific headers.
+// - s3:DeleteObject - To delete an object from a bucket, you must always have
+// the s3:DeleteObject permission.
+// - s3:DeleteObjectVersion - To delete a specific version of an object from a
+// versiong-enabled bucket, you must have the s3:DeleteObjectVersion permission.
+// - Directory bucket permissions - To grant access to this API operation on a
+// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// API operation for session-based authorization. Specifically, you grant the
+// s3express:CreateSession permission to the directory bucket in a bucket policy
+// or an IAM identity-based policy. Then, you make the CreateSession API call on
+// the bucket to obtain a session token. With the session token in your request
+// header, you can make API requests to this operation. After the session token
+// expires, you make another CreateSession API call to generate a new session
+// token for use. Amazon Web Services CLI or SDKs create session and refresh the
+// session token automatically to avoid service interruptions when a session
+// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// .
+//
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// Bucket_name.s3express-az_id.region.amazonaws.com . The following action is
+// related to DeleteObject :
// - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
func (c *Client) DeleteObject(ctx context.Context, params *DeleteObjectInput, optFns ...func(*Options)) (*DeleteObjectOutput, error) {
if params == nil {
@@ -54,16 +94,26 @@ func (c *Client) DeleteObject(ctx context.Context, params *DeleteObjectInput, op
type DeleteObjectInput struct {
- // The bucket name of the bucket containing the object. When using this action
- // with an access point, you must direct requests to the access point hostname. The
- // access point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // The bucket name of the bucket containing the object. Directory buckets - When
+ // you use this operation with a directory bucket, you must use
+ // virtual-hosted-style requests in the format
+ // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
+ // supported. Directory bucket names must be unique in the chosen Availability
+ // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
+ // example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 ). For information about bucket
+ // naming restrictions, see Directory bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Access points and Object Lambda access points are
+ // not supported by directory buckets. S3 on Outposts - When you use this action
+ // with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts
+ // hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -80,49 +130,60 @@ type DeleteObjectInput struct {
// Indicates whether S3 Object Lock should bypass Governance-mode restrictions to
// process this operation. To use this header, you must have the
- // s3:BypassGovernanceRetention permission.
- BypassGovernanceRetention bool
+ // s3:BypassGovernanceRetention permission. This functionality is not supported for
+ // directory buckets.
+ BypassGovernanceRetention *bool
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// The concatenation of the authentication device's serial number, a space, and
// the value that is displayed on your authentication device. Required to
// permanently delete a versioned object if versioning is configured with MFA
- // delete enabled.
+ // delete enabled. This functionality is not supported for directory buckets.
MFA *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
- // VersionId used to reference a specific version of the object.
+ // Version ID used to reference a specific version of the object. For directory
+ // buckets in this API operation, only the null value of the version ID is
+ // supported.
VersionId *string
noSmithyDocumentSerde
}
+func (in *DeleteObjectInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.Key = in.Key
+
+}
+
type DeleteObjectOutput struct {
// Indicates whether the specified object version that was permanently deleted was
// (true) or was not (false) a delete marker before deletion. In a simple DELETE,
// this header indicates whether (true) or not (false) the current version of the
- // object is a delete marker.
- DeleteMarker bool
+ // object is a delete marker. This functionality is not supported for directory
+ // buckets.
+ DeleteMarker *bool
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// Returns the version ID of the delete marker created as a result of the DELETE
- // operation.
+ // operation. This functionality is not supported for directory buckets.
VersionId *string
// Metadata pertaining to the operation's result.
@@ -132,6 +193,9 @@ type DeleteObjectOutput struct {
}
func (c *Client) addOperationDeleteObjectMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteObject{}, middleware.After)
if err != nil {
return err
@@ -140,6 +204,10 @@ func (c *Client) addOperationDeleteObjectMiddlewares(stack *middleware.Stack, op
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteObject"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -161,9 +229,6 @@ func (c *Client) addOperationDeleteObjectMiddlewares(stack *middleware.Stack, op
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -179,10 +244,10 @@ func (c *Client) addOperationDeleteObjectMiddlewares(stack *middleware.Stack, op
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteObjectResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteObjectValidationMiddleware(stack); err != nil {
@@ -212,7 +277,7 @@ func (c *Client) addOperationDeleteObjectMiddlewares(stack *middleware.Stack, op
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -232,7 +297,6 @@ func newServiceMetadataMiddleware_opDeleteObject(region string) *awsmiddleware.R
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteObject",
}
}
@@ -293,139 +357,3 @@ func addDeleteObjectPayloadAsUnsigned(stack *middleware.Stack, options Options)
v4.RemoveComputePayloadSHA256Middleware(stack)
return v4.AddUnsignedPayloadMiddleware(stack)
}
-
-type opDeleteObjectResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteObjectResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteObjectResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteObjectInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteObjectResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteObjectResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObjectTagging.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObjectTagging.go
index 41d46e48..961b9459 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObjectTagging.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObjectTagging.go
@@ -4,21 +4,17 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Removes the entire tag set from the specified object. For more information
-// about managing object tags, see Object Tagging (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html)
+// This operation is not supported by directory buckets. Removes the entire tag
+// set from the specified object. For more information about managing object tags,
+// see Object Tagging (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html)
// . To use this operation, you must have permission to perform the
// s3:DeleteObjectTagging action. To delete tags of a specific object version, add
// the versionId query parameter in the request. You will need permission for the
@@ -43,16 +39,18 @@ func (c *Client) DeleteObjectTagging(ctx context.Context, params *DeleteObjectTa
type DeleteObjectTaggingInput struct {
- // The bucket name containing the objects from which to remove the tags. When
- // using this action with an access point, you must direct requests to the access
- // point hostname. The access point hostname takes the form
+ // The bucket name containing the objects from which to remove the tags. Access
+ // points - When you use this action with an access point, you must provide the
+ // alias of the access point in place of the bucket name or specify the access
+ // point ARN. When using the access point ARN, you must direct requests to the
+ // access point hostname. The access point hostname takes the form
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide
// the access point ARN in place of the bucket name. For more information about
// access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // in the Amazon S3 User Guide. S3 on Outposts - When you use this action with
+ // Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname.
+ // The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -67,9 +65,9 @@ type DeleteObjectTaggingInput struct {
// This member is required.
Key *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// The versionId of the object that the tag-set will be removed from.
@@ -78,6 +76,11 @@ type DeleteObjectTaggingInput struct {
noSmithyDocumentSerde
}
+func (in *DeleteObjectTaggingInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type DeleteObjectTaggingOutput struct {
// The versionId of the object the tag-set was removed from.
@@ -90,6 +93,9 @@ type DeleteObjectTaggingOutput struct {
}
func (c *Client) addOperationDeleteObjectTaggingMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteObjectTagging{}, middleware.After)
if err != nil {
return err
@@ -98,6 +104,10 @@ func (c *Client) addOperationDeleteObjectTaggingMiddlewares(stack *middleware.St
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteObjectTagging"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -119,9 +129,6 @@ func (c *Client) addOperationDeleteObjectTaggingMiddlewares(stack *middleware.St
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -137,10 +144,10 @@ func (c *Client) addOperationDeleteObjectTaggingMiddlewares(stack *middleware.St
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteObjectTaggingResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteObjectTaggingValidationMiddleware(stack); err != nil {
@@ -170,7 +177,7 @@ func (c *Client) addOperationDeleteObjectTaggingMiddlewares(stack *middleware.St
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -190,7 +197,6 @@ func newServiceMetadataMiddleware_opDeleteObjectTagging(region string) *awsmiddl
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteObjectTagging",
}
}
@@ -220,139 +226,3 @@ func addDeleteObjectTaggingUpdateEndpoint(stack *middleware.Stack, options Optio
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opDeleteObjectTaggingResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteObjectTaggingResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteObjectTaggingResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteObjectTaggingInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteObjectTaggingResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteObjectTaggingResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObjects.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObjects.go
index b494c18a..1d1fa432 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObjects.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeleteObjects.go
@@ -4,46 +4,82 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// This action enables you to delete multiple objects from a bucket using a single
-// HTTP request. If you know the object keys that you want to delete, then this
-// action provides a suitable alternative to sending individual delete requests,
-// reducing per-request overhead. The request contains a list of up to 1000 keys
-// that you want to delete. In the XML, you provide the object key names, and
-// optionally, version IDs if you want to delete a specific version of the object
-// from a versioning-enabled bucket. For each key, Amazon S3 performs a delete
-// action and returns the result of that delete, success, or failure, in the
-// response. Note that if the object specified in the request is not found, Amazon
-// S3 returns the result as deleted. The action supports two modes for the
-// response: verbose and quiet. By default, the action uses verbose mode in which
-// the response includes the result of deletion of each key in your request. In
-// quiet mode the response includes only keys where the delete action encountered
-// an error. For a successful deletion, the action does not return any information
-// about the delete in the response body. When performing this action on an MFA
-// Delete enabled bucket, that attempts to delete any versioned objects, you must
-// include an MFA token. If you do not provide one, the entire request will fail,
-// even if there are non-versioned objects you are trying to delete. If you provide
-// an invalid token, whether there are versioned keys in the request or not, the
-// entire Multi-Object Delete request will fail. For information about MFA Delete,
-// see MFA Delete (https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete)
-// . Finally, the Content-MD5 header is required for all Multi-Object Delete
-// requests. Amazon S3 uses the header value to ensure that your request body has
-// not been altered in transit. The following operations are related to
-// DeleteObjects :
+// This operation enables you to delete multiple objects from a bucket using a
+// single HTTP request. If you know the object keys that you want to delete, then
+// this operation provides a suitable alternative to sending individual delete
+// requests, reducing per-request overhead. The request can contain a list of up to
+// 1000 keys that you want to delete. In the XML, you provide the object key names,
+// and optionally, version IDs if you want to delete a specific version of the
+// object from a versioning-enabled bucket. For each key, Amazon S3 performs a
+// delete operation and returns the result of that delete, success or failure, in
+// the response. Note that if the object specified in the request is not found,
+// Amazon S3 returns the result as deleted.
+// - Directory buckets - S3 Versioning isn't enabled and supported for directory
+// buckets.
+// - Directory buckets - For directory buckets, you must make requests for this
+// API operation to the Zonal endpoint. These endpoints support
+// virtual-hosted-style requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name .
+// Path-style requests are not supported. For more information, see Regional and
+// Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide.
+//
+// The operation supports two modes for the response: verbose and quiet. By
+// default, the operation uses verbose mode in which the response includes the
+// result of deletion of each key in your request. In quiet mode the response
+// includes only keys where the delete operation encountered an error. For a
+// successful deletion in a quiet mode, the operation does not return any
+// information about the delete in the response body. When performing this action
+// on an MFA Delete enabled bucket, that attempts to delete any versioned objects,
+// you must include an MFA token. If you do not provide one, the entire request
+// will fail, even if there are non-versioned objects you are trying to delete. If
+// you provide an invalid token, whether there are versioned keys in the request or
+// not, the entire Multi-Object Delete request will fail. For information about MFA
+// Delete, see MFA Delete (https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete)
+// in the Amazon S3 User Guide. Directory buckets - MFA delete is not supported by
+// directory buckets. Permissions
+// - General purpose bucket permissions - The following permissions are required
+// in your policies when your DeleteObjects request includes specific headers.
+// - s3:DeleteObject - To delete an object from a bucket, you must always specify
+// the s3:DeleteObject permission.
+// - s3:DeleteObjectVersion - To delete a specific version of an object from a
+// versiong-enabled bucket, you must specify the s3:DeleteObjectVersion
+// permission.
+// - Directory bucket permissions - To grant access to this API operation on a
+// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// API operation for session-based authorization. Specifically, you grant the
+// s3express:CreateSession permission to the directory bucket in a bucket policy
+// or an IAM identity-based policy. Then, you make the CreateSession API call on
+// the bucket to obtain a session token. With the session token in your request
+// header, you can make API requests to this operation. After the session token
+// expires, you make another CreateSession API call to generate a new session
+// token for use. Amazon Web Services CLI or SDKs create session and refresh the
+// session token automatically to avoid service interruptions when a session
+// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// .
+//
+// Content-MD5 request header
+// - General purpose bucket - The Content-MD5 request header is required for all
+// Multi-Object Delete requests. Amazon S3 uses the header value to ensure that
+// your request body has not been altered in transit.
+// - Directory bucket - The Content-MD5 request header or a additional checksum
+// request header (including x-amz-checksum-crc32 , x-amz-checksum-crc32c ,
+// x-amz-checksum-sha1 , or x-amz-checksum-sha256 ) is required for all
+// Multi-Object Delete requests.
+//
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// Bucket_name.s3express-az_id.region.amazonaws.com . The following operations are
+// related to DeleteObjects :
// - CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
// - UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
// - CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
@@ -66,16 +102,26 @@ func (c *Client) DeleteObjects(ctx context.Context, params *DeleteObjectsInput,
type DeleteObjectsInput struct {
- // The bucket name containing the objects to delete. When using this action with
- // an access point, you must direct requests to the access point hostname. The
- // access point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // The bucket name containing the objects to delete. Directory buckets - When you
+ // use this operation with a directory bucket, you must use virtual-hosted-style
+ // requests in the format Bucket_name.s3express-az_id.region.amazonaws.com .
+ // Path-style requests are not supported. Directory bucket names must be unique in
+ // the chosen Availability Zone. Bucket names must follow the format
+ // bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3
+ // ). For information about bucket naming restrictions, see Directory bucket
+ // naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Access points and Object Lambda access points are
+ // not supported by directory buckets. S3 on Outposts - When you use this action
+ // with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts
+ // hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -92,44 +138,67 @@ type DeleteObjectsInput struct {
// Specifies whether you want to delete this object even if it has a
// Governance-type Object Lock in place. To use this header, you must have the
- // s3:BypassGovernanceRetention permission.
- BypassGovernanceRetention bool
-
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
- // in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
- // ignores any provided ChecksumAlgorithm parameter. This checksum algorithm must
- // be the same for all parts and it match the checksum value supplied in the
- // CreateMultipartUpload request.
+ // s3:BypassGovernanceRetention permission. This functionality is not supported for
+ // directory buckets.
+ BypassGovernanceRetention *bool
+
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum-algorithm or x-amz-trailer header sent. Otherwise, Amazon S3
+ // fails the request with the HTTP status code 400 Bad Request . For the
+ // x-amz-checksum-algorithm header, replace algorithm with the supported
+ // algorithm from the following list:
+ // - CRC32
+ // - CRC32C
+ // - SHA1
+ // - SHA256
+ // For more information, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide. If the individual checksum value you provide
+ // through x-amz-checksum-algorithm doesn't match the checksum algorithm you set
+ // through x-amz-sdk-checksum-algorithm , Amazon S3 ignores any provided
+ // ChecksumAlgorithm parameter and uses the checksum algorithm that matches the
+ // provided value in x-amz-checksum-algorithm . If you provide an individual
+ // checksum, Amazon S3 ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// The concatenation of the authentication device's serial number, a space, and
// the value that is displayed on your authentication device. Required to
// permanently delete a versioned object if versioning is configured with MFA
- // delete enabled.
+ // delete enabled. When performing the DeleteObjects operation on an MFA delete
+ // enabled bucket, which attempts to delete the specified versioned objects, you
+ // must include an MFA token. If you don't provide an MFA token, the entire request
+ // will fail, even if there are non-versioned objects that you are trying to
+ // delete. If you provide an invalid token, whether there are versioned object keys
+ // in the request or not, the entire Multi-Object Delete request will fail. For
+ // information about MFA Delete, see MFA Delete (https://docs.aws.amazon.com/AmazonS3/latest/dev/Versioning.html#MultiFactorAuthenticationDelete)
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
MFA *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
noSmithyDocumentSerde
}
+func (in *DeleteObjectsInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type DeleteObjectsOutput struct {
// Container element for a successful delete. It identifies the object that was
@@ -141,7 +210,7 @@ type DeleteObjectsOutput struct {
Errors []types.Error
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// Metadata pertaining to the operation's result.
@@ -151,6 +220,9 @@ type DeleteObjectsOutput struct {
}
func (c *Client) addOperationDeleteObjectsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeleteObjects{}, middleware.After)
if err != nil {
return err
@@ -159,6 +231,10 @@ func (c *Client) addOperationDeleteObjectsMiddlewares(stack *middleware.Stack, o
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeleteObjects"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -180,9 +256,6 @@ func (c *Client) addOperationDeleteObjectsMiddlewares(stack *middleware.Stack, o
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -198,10 +271,10 @@ func (c *Client) addOperationDeleteObjectsMiddlewares(stack *middleware.Stack, o
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeleteObjectsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteObjectsValidationMiddleware(stack); err != nil {
@@ -234,12 +307,15 @@ func (c *Client) addOperationDeleteObjectsMiddlewares(stack *middleware.Stack, o
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -254,7 +330,6 @@ func newServiceMetadataMiddleware_opDeleteObjects(region string) *awsmiddleware.
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeleteObjects",
}
}
@@ -304,139 +379,3 @@ func addDeleteObjectsUpdateEndpoint(stack *middleware.Stack, options Options) er
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opDeleteObjectsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeleteObjectsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeleteObjectsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeleteObjectsInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeleteObjectsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeleteObjectsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeletePublicAccessBlock.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeletePublicAccessBlock.go
index 2bdbe421..488d2a79 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeletePublicAccessBlock.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_DeletePublicAccessBlock.go
@@ -4,23 +4,20 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Removes the PublicAccessBlock configuration for an Amazon S3 bucket. To use
-// this operation, you must have the s3:PutBucketPublicAccessBlock permission. 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)
+// This operation is not supported by directory buckets. Removes the
+// PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation,
+// you must have the s3:PutBucketPublicAccessBlock permission. 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)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
// . The following operations are related to DeletePublicAccessBlock :
// - Using Amazon S3 Block Public Access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html)
@@ -49,14 +46,19 @@ type DeletePublicAccessBlockInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *DeletePublicAccessBlockInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type DeletePublicAccessBlockOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -65,6 +67,9 @@ type DeletePublicAccessBlockOutput struct {
}
func (c *Client) addOperationDeletePublicAccessBlockMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpDeletePublicAccessBlock{}, middleware.After)
if err != nil {
return err
@@ -73,6 +78,10 @@ func (c *Client) addOperationDeletePublicAccessBlockMiddlewares(stack *middlewar
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DeletePublicAccessBlock"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -94,9 +103,6 @@ func (c *Client) addOperationDeletePublicAccessBlockMiddlewares(stack *middlewar
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -112,10 +118,10 @@ func (c *Client) addOperationDeletePublicAccessBlockMiddlewares(stack *middlewar
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addDeletePublicAccessBlockResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpDeletePublicAccessBlockValidationMiddleware(stack); err != nil {
@@ -145,7 +151,7 @@ func (c *Client) addOperationDeletePublicAccessBlockMiddlewares(stack *middlewar
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -165,7 +171,6 @@ func newServiceMetadataMiddleware_opDeletePublicAccessBlock(region string) *awsm
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "DeletePublicAccessBlock",
}
}
@@ -195,139 +200,3 @@ func addDeletePublicAccessBlockUpdateEndpoint(stack *middleware.Stack, options O
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opDeletePublicAccessBlockResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDeletePublicAccessBlockResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDeletePublicAccessBlockResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*DeletePublicAccessBlockInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDeletePublicAccessBlockResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDeletePublicAccessBlockResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAccelerateConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAccelerateConfiguration.go
index f11b25aa..9a90a88a 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAccelerateConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAccelerateConfiguration.go
@@ -4,28 +4,25 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// This implementation of the GET action uses the accelerate subresource to return
-// the Transfer Acceleration state of a bucket, which is either Enabled or
-// Suspended . Amazon S3 Transfer Acceleration is a bucket-level feature that
-// enables you to perform faster data transfers to and from Amazon S3. To use this
-// operation, you must have permission to perform the s3:GetAccelerateConfiguration
-// action. The bucket owner has this permission by default. The bucket owner can
-// grant this permission to others. For more information about permissions, see
-// Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
+// This operation is not supported by directory buckets. This implementation of
+// the GET action uses the accelerate subresource to return the Transfer
+// Acceleration state of a bucket, which is either Enabled or Suspended . Amazon S3
+// Transfer Acceleration is a bucket-level feature that enables you to perform
+// faster data transfers to and from Amazon S3. To use this operation, you must
+// have permission to perform the s3:GetAccelerateConfiguration action. The bucket
+// owner has this permission by default. The bucket owner can grant this permission
+// to others. For more information about permissions, see Permissions Related to
+// Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
// in the Amazon S3 User Guide. You set the Transfer Acceleration state of an
// existing bucket to Enabled or Suspended by using the
@@ -59,27 +56,33 @@ type GetBucketAccelerateConfigurationInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
noSmithyDocumentSerde
}
+func (in *GetBucketAccelerateConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketAccelerateConfigurationOutput struct {
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// The accelerate configuration of the bucket.
@@ -92,6 +95,9 @@ type GetBucketAccelerateConfigurationOutput struct {
}
func (c *Client) addOperationGetBucketAccelerateConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketAccelerateConfiguration{}, middleware.After)
if err != nil {
return err
@@ -100,6 +106,10 @@ func (c *Client) addOperationGetBucketAccelerateConfigurationMiddlewares(stack *
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketAccelerateConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -121,9 +131,6 @@ func (c *Client) addOperationGetBucketAccelerateConfigurationMiddlewares(stack *
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -139,10 +146,10 @@ func (c *Client) addOperationGetBucketAccelerateConfigurationMiddlewares(stack *
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketAccelerateConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketAccelerateConfigurationValidationMiddleware(stack); err != nil {
@@ -172,7 +179,7 @@ func (c *Client) addOperationGetBucketAccelerateConfigurationMiddlewares(stack *
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -192,7 +199,6 @@ func newServiceMetadataMiddleware_opGetBucketAccelerateConfiguration(region stri
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketAccelerateConfiguration",
}
}
@@ -222,139 +228,3 @@ func addGetBucketAccelerateConfigurationUpdateEndpoint(stack *middleware.Stack,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketAccelerateConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketAccelerateConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketAccelerateConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketAccelerateConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketAccelerateConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketAccelerateConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAcl.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAcl.go
index 62334951..36747fc9 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAcl.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAcl.go
@@ -4,28 +4,25 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// This implementation of the GET action uses the acl subresource to return the
-// access control list (ACL) of a bucket. To use GET to return the ACL of the
-// bucket, you must have 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
-// using an authorization header. To use this API operation against an access
-// point, provide the alias of the access point in place of the bucket name. To use
-// this API operation against an Object Lambda access point, provide the alias of
-// the Object Lambda access point in place of the bucket name. If the Object Lambda
+// This operation is not supported by directory buckets. This implementation of
+// the GET action uses the acl subresource to return the access control list (ACL)
+// of a bucket. To use GET to return the ACL of the bucket, you must have the
+// 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 using an
+// authorization header. When you use this API operation with an access point,
+// provide the alias of the access point in place of the bucket name. When you use
+// this API operation with an Object Lambda access point, provide the alias of the
+// Object Lambda access point in place of the bucket name. If the Object Lambda
// access point alias in a request is not valid, the error code
// InvalidAccessPointAliasError is returned. For more information about
// InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
@@ -54,26 +51,31 @@ func (c *Client) GetBucketAcl(ctx context.Context, params *GetBucketAclInput, op
type GetBucketAclInput struct {
- // Specifies the S3 bucket whose ACL is being requested. To use this API operation
- // against an access point, provide the alias of the access point in place of the
- // bucket name. To use this API operation against an Object Lambda access point,
- // provide the alias of the Object Lambda access point in place of the bucket name.
- // If the Object Lambda access point alias in a request is not valid, the error
- // code InvalidAccessPointAliasError is returned. For more information about
- // InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
+ // Specifies the S3 bucket whose ACL is being requested. When you use this API
+ // operation with an access point, provide the alias of the access point in place
+ // of the bucket name. When you use this API operation with an Object Lambda access
+ // point, provide the alias of the Object Lambda access point in place of the
+ // bucket name. If the Object Lambda access point alias in a request is not valid,
+ // the error code InvalidAccessPointAliasError is returned. For more information
+ // about InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
// .
//
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketAclInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketAclOutput struct {
// A list of grants.
@@ -89,6 +91,9 @@ type GetBucketAclOutput struct {
}
func (c *Client) addOperationGetBucketAclMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketAcl{}, middleware.After)
if err != nil {
return err
@@ -97,6 +102,10 @@ func (c *Client) addOperationGetBucketAclMiddlewares(stack *middleware.Stack, op
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketAcl"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -118,9 +127,6 @@ func (c *Client) addOperationGetBucketAclMiddlewares(stack *middleware.Stack, op
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -136,10 +142,10 @@ func (c *Client) addOperationGetBucketAclMiddlewares(stack *middleware.Stack, op
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketAclResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketAclValidationMiddleware(stack); err != nil {
@@ -169,7 +175,7 @@ func (c *Client) addOperationGetBucketAclMiddlewares(stack *middleware.Stack, op
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -189,7 +195,6 @@ func newServiceMetadataMiddleware_opGetBucketAcl(region string) *awsmiddleware.R
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketAcl",
}
}
@@ -219,139 +224,3 @@ func addGetBucketAclUpdateEndpoint(stack *middleware.Stack, options Options) err
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketAclResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketAclResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketAclResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketAclInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketAclResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketAclResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAnalyticsConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAnalyticsConfiguration.go
index bc8b5c31..0f7922ae 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAnalyticsConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketAnalyticsConfiguration.go
@@ -4,26 +4,23 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// This implementation of the GET action returns an analytics configuration
-// (identified by the analytics configuration ID) from the bucket. To use this
-// operation, you must have permissions to perform the s3:GetAnalyticsConfiguration
-// action. The bucket owner has this permission by default. The bucket owner can
-// grant this permission to others. For more information about permissions, see
-// Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
+// This operation is not supported by directory buckets. This implementation of
+// the GET action returns an analytics configuration (identified by the analytics
+// configuration ID) from the bucket. To use this operation, you must have
+// permissions to perform the s3:GetAnalyticsConfiguration action. The bucket
+// owner has this permission by default. The bucket owner can grant this permission
+// to others. For more information about permissions, see Permissions Related to
+// Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
// in the Amazon S3 User Guide. For information about Amazon S3 analytics feature,
// see Amazon S3 Analytics – Storage Class Analysis (https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html)
@@ -59,14 +56,19 @@ type GetBucketAnalyticsConfigurationInput struct {
// This member is required.
Id *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketAnalyticsConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketAnalyticsConfigurationOutput struct {
// The configuration and any analyses for the analytics filter.
@@ -79,6 +81,9 @@ type GetBucketAnalyticsConfigurationOutput struct {
}
func (c *Client) addOperationGetBucketAnalyticsConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketAnalyticsConfiguration{}, middleware.After)
if err != nil {
return err
@@ -87,6 +92,10 @@ func (c *Client) addOperationGetBucketAnalyticsConfigurationMiddlewares(stack *m
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketAnalyticsConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -108,9 +117,6 @@ func (c *Client) addOperationGetBucketAnalyticsConfigurationMiddlewares(stack *m
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -126,10 +132,10 @@ func (c *Client) addOperationGetBucketAnalyticsConfigurationMiddlewares(stack *m
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketAnalyticsConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketAnalyticsConfigurationValidationMiddleware(stack); err != nil {
@@ -159,7 +165,7 @@ func (c *Client) addOperationGetBucketAnalyticsConfigurationMiddlewares(stack *m
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -179,7 +185,6 @@ func newServiceMetadataMiddleware_opGetBucketAnalyticsConfiguration(region strin
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketAnalyticsConfiguration",
}
}
@@ -209,139 +214,3 @@ func addGetBucketAnalyticsConfigurationUpdateEndpoint(stack *middleware.Stack, o
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketAnalyticsConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketAnalyticsConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketAnalyticsConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketAnalyticsConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketAnalyticsConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketAnalyticsConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketCors.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketCors.go
index 09437e26..33c25aa1 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketCors.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketCors.go
@@ -4,30 +4,27 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns the Cross-Origin Resource Sharing (CORS) configuration information set
-// for the bucket. To use this operation, you must have permission to perform the
-// s3:GetBucketCORS action. By default, the bucket owner has this permission and
-// can grant it to others. To use this API operation against an access point,
-// provide the alias of the access point in place of the bucket name. To use this
-// API operation against an Object Lambda access point, provide the alias of the
-// Object Lambda access point in place of the bucket name. If the Object Lambda
-// access point alias in a request is not valid, the error code
-// InvalidAccessPointAliasError is returned. For more information about
-// InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
+// This operation is not supported by directory buckets. Returns the Cross-Origin
+// Resource Sharing (CORS) configuration information set for the bucket. To use
+// this operation, you must have permission to perform the s3:GetBucketCORS
+// action. By default, the bucket owner has this permission and can grant it to
+// others. When you use this API operation with an access point, provide the alias
+// of the access point in place of the bucket name. When you use this API operation
+// with an Object Lambda access point, provide the alias of the Object Lambda
+// access point in place of the bucket name. If the Object Lambda access point
+// alias in a request is not valid, the error code InvalidAccessPointAliasError is
+// returned. For more information about InvalidAccessPointAliasError , see List of
+// Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
// . For more information about CORS, see Enabling Cross-Origin Resource Sharing (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html)
// . The following operations are related to GetBucketCors :
// - PutBucketCors (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketCors.html)
@@ -49,26 +46,31 @@ func (c *Client) GetBucketCors(ctx context.Context, params *GetBucketCorsInput,
type GetBucketCorsInput struct {
- // The bucket name for which to get the cors configuration. To use this API
- // operation against an access point, provide the alias of the access point in
- // place of the bucket name. To use this API operation against an Object Lambda
- // access point, provide the alias of the Object Lambda access point in place of
- // the bucket name. If the Object Lambda access point alias in a request is not
- // valid, the error code InvalidAccessPointAliasError is returned. For more
- // information about InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
+ // The bucket name for which to get the cors configuration. When you use this API
+ // operation with an access point, provide the alias of the access point in place
+ // of the bucket name. When you use this API operation with an Object Lambda access
+ // point, provide the alias of the Object Lambda access point in place of the
+ // bucket name. If the Object Lambda access point alias in a request is not valid,
+ // the error code InvalidAccessPointAliasError is returned. For more information
+ // about InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
// .
//
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketCorsInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketCorsOutput struct {
// A set of origins and methods (cross-origin access that you want to allow). You
@@ -82,6 +84,9 @@ type GetBucketCorsOutput struct {
}
func (c *Client) addOperationGetBucketCorsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketCors{}, middleware.After)
if err != nil {
return err
@@ -90,6 +95,10 @@ func (c *Client) addOperationGetBucketCorsMiddlewares(stack *middleware.Stack, o
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketCors"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -111,9 +120,6 @@ func (c *Client) addOperationGetBucketCorsMiddlewares(stack *middleware.Stack, o
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -129,10 +135,10 @@ func (c *Client) addOperationGetBucketCorsMiddlewares(stack *middleware.Stack, o
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketCorsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketCorsValidationMiddleware(stack); err != nil {
@@ -162,7 +168,7 @@ func (c *Client) addOperationGetBucketCorsMiddlewares(stack *middleware.Stack, o
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -182,7 +188,6 @@ func newServiceMetadataMiddleware_opGetBucketCors(region string) *awsmiddleware.
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketCors",
}
}
@@ -212,139 +217,3 @@ func addGetBucketCorsUpdateEndpoint(stack *middleware.Stack, options Options) er
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketCorsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketCorsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketCorsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketCorsInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketCorsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketCorsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketEncryption.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketEncryption.go
index b60c5f46..c8be5dd0 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketEncryption.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketEncryption.go
@@ -4,25 +4,21 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns the default encryption configuration for an Amazon S3 bucket. By
-// default, all buckets have a default encryption configuration that uses
-// server-side encryption with Amazon S3 managed keys (SSE-S3). 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)
+// This operation is not supported by directory buckets. Returns the default
+// encryption configuration for an Amazon S3 bucket. By default, all buckets have a
+// default encryption configuration that uses server-side encryption with Amazon S3
+// managed keys (SSE-S3). 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 Amazon S3 User Guide. To use this operation, you must have permission to
// perform the s3:GetEncryptionConfiguration action. The bucket owner has this
// permission by default. The bucket owner can grant this permission to others. For
@@ -55,14 +51,19 @@ type GetBucketEncryptionInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketEncryptionInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketEncryptionOutput struct {
// Specifies the default server-side-encryption configuration.
@@ -75,6 +76,9 @@ type GetBucketEncryptionOutput struct {
}
func (c *Client) addOperationGetBucketEncryptionMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketEncryption{}, middleware.After)
if err != nil {
return err
@@ -83,6 +87,10 @@ func (c *Client) addOperationGetBucketEncryptionMiddlewares(stack *middleware.St
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketEncryption"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -104,9 +112,6 @@ func (c *Client) addOperationGetBucketEncryptionMiddlewares(stack *middleware.St
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -122,10 +127,10 @@ func (c *Client) addOperationGetBucketEncryptionMiddlewares(stack *middleware.St
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketEncryptionResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketEncryptionValidationMiddleware(stack); err != nil {
@@ -155,7 +160,7 @@ func (c *Client) addOperationGetBucketEncryptionMiddlewares(stack *middleware.St
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -175,7 +180,6 @@ func newServiceMetadataMiddleware_opGetBucketEncryption(region string) *awsmiddl
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketEncryption",
}
}
@@ -205,139 +209,3 @@ func addGetBucketEncryptionUpdateEndpoint(stack *middleware.Stack, options Optio
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketEncryptionResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketEncryptionResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketEncryptionResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketEncryptionInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketEncryptionResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketEncryptionResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketIntelligentTieringConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketIntelligentTieringConfiguration.go
index 259b265b..a3531f98 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketIntelligentTieringConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketIntelligentTieringConfiguration.go
@@ -4,21 +4,18 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Gets the S3 Intelligent-Tiering configuration from the specified bucket. The S3
+// This operation is not supported by directory buckets. Gets the S3
+// Intelligent-Tiering configuration from the specified bucket. The S3
// Intelligent-Tiering storage class is designed to optimize storage costs by
// automatically moving data to the most cost-effective storage access tier,
// without performance impact or operational overhead. S3 Intelligent-Tiering
@@ -67,6 +64,11 @@ type GetBucketIntelligentTieringConfigurationInput struct {
noSmithyDocumentSerde
}
+func (in *GetBucketIntelligentTieringConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketIntelligentTieringConfigurationOutput struct {
// Container for S3 Intelligent-Tiering configuration.
@@ -79,6 +81,9 @@ type GetBucketIntelligentTieringConfigurationOutput struct {
}
func (c *Client) addOperationGetBucketIntelligentTieringConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketIntelligentTieringConfiguration{}, middleware.After)
if err != nil {
return err
@@ -87,6 +92,10 @@ func (c *Client) addOperationGetBucketIntelligentTieringConfigurationMiddlewares
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketIntelligentTieringConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -108,9 +117,6 @@ func (c *Client) addOperationGetBucketIntelligentTieringConfigurationMiddlewares
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -126,10 +132,10 @@ func (c *Client) addOperationGetBucketIntelligentTieringConfigurationMiddlewares
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketIntelligentTieringConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketIntelligentTieringConfigurationValidationMiddleware(stack); err != nil {
@@ -159,7 +165,7 @@ func (c *Client) addOperationGetBucketIntelligentTieringConfigurationMiddlewares
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -179,7 +185,6 @@ func newServiceMetadataMiddleware_opGetBucketIntelligentTieringConfiguration(reg
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketIntelligentTieringConfiguration",
}
}
@@ -209,139 +214,3 @@ func addGetBucketIntelligentTieringConfigurationUpdateEndpoint(stack *middleware
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketIntelligentTieringConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketIntelligentTieringConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketIntelligentTieringConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketIntelligentTieringConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketIntelligentTieringConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketIntelligentTieringConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketInventoryConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketInventoryConfiguration.go
index 4863f979..3fe6f986 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketInventoryConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketInventoryConfiguration.go
@@ -4,24 +4,21 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns an inventory configuration (identified by the inventory configuration
-// ID) from the bucket. To use this operation, you must have permissions to perform
-// the s3:GetInventoryConfiguration action. The bucket owner has this permission
-// by default and can grant this permission to others. For more information about
+// This operation is not supported by directory buckets. Returns an inventory
+// configuration (identified by the inventory configuration ID) from the bucket. To
+// use this operation, you must have permissions to perform the
+// s3:GetInventoryConfiguration action. The bucket owner has this permission by
+// default and can grant this permission to others. For more information about
// permissions, see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
// . For information about the Amazon S3 inventory feature, see Amazon S3 Inventory (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html)
@@ -56,14 +53,19 @@ type GetBucketInventoryConfigurationInput struct {
// This member is required.
Id *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketInventoryConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketInventoryConfigurationOutput struct {
// Specifies the inventory configuration.
@@ -76,6 +78,9 @@ type GetBucketInventoryConfigurationOutput struct {
}
func (c *Client) addOperationGetBucketInventoryConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketInventoryConfiguration{}, middleware.After)
if err != nil {
return err
@@ -84,6 +89,10 @@ func (c *Client) addOperationGetBucketInventoryConfigurationMiddlewares(stack *m
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketInventoryConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -105,9 +114,6 @@ func (c *Client) addOperationGetBucketInventoryConfigurationMiddlewares(stack *m
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -123,10 +129,10 @@ func (c *Client) addOperationGetBucketInventoryConfigurationMiddlewares(stack *m
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketInventoryConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketInventoryConfigurationValidationMiddleware(stack); err != nil {
@@ -156,7 +162,7 @@ func (c *Client) addOperationGetBucketInventoryConfigurationMiddlewares(stack *m
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -176,7 +182,6 @@ func newServiceMetadataMiddleware_opGetBucketInventoryConfiguration(region strin
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketInventoryConfiguration",
}
}
@@ -206,139 +211,3 @@ func addGetBucketInventoryConfigurationUpdateEndpoint(stack *middleware.Stack, o
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketInventoryConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketInventoryConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketInventoryConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketInventoryConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketInventoryConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketInventoryConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLifecycleConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLifecycleConfiguration.go
index da3e47d4..4cc9eff8 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLifecycleConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLifecycleConfiguration.go
@@ -4,27 +4,23 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Bucket lifecycle configuration now supports specifying a lifecycle rule using
-// an object key name prefix, one or more object tags, or a combination of both.
-// Accordingly, this section describes the latest API. The response describes the
-// new filter element that you can use to specify a filter to select a subset of
-// objects to which the rule applies. If you are using a previous version of the
-// lifecycle configuration, it still works. For the earlier action, see
-// GetBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html)
+// This operation is not supported by directory buckets. Bucket lifecycle
+// configuration now supports specifying a lifecycle rule using an object key name
+// prefix, one or more object tags, or a combination of both. Accordingly, this
+// section describes the latest API. The response describes the new filter element
+// that you can use to specify a filter to select a subset of objects to which the
+// rule applies. If you are using a previous version of the lifecycle
+// configuration, it still works. For the earlier action, see GetBucketLifecycle (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycle.html)
// . Returns the lifecycle configuration information set on the bucket. For
// information about lifecycle configuration, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)
// . To use this operation, you must have permission to perform the
@@ -65,14 +61,19 @@ type GetBucketLifecycleConfigurationInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketLifecycleConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketLifecycleConfigurationOutput struct {
// Container for a lifecycle rule.
@@ -85,6 +86,9 @@ type GetBucketLifecycleConfigurationOutput struct {
}
func (c *Client) addOperationGetBucketLifecycleConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketLifecycleConfiguration{}, middleware.After)
if err != nil {
return err
@@ -93,6 +97,10 @@ func (c *Client) addOperationGetBucketLifecycleConfigurationMiddlewares(stack *m
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketLifecycleConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -114,9 +122,6 @@ func (c *Client) addOperationGetBucketLifecycleConfigurationMiddlewares(stack *m
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -132,10 +137,10 @@ func (c *Client) addOperationGetBucketLifecycleConfigurationMiddlewares(stack *m
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketLifecycleConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketLifecycleConfigurationValidationMiddleware(stack); err != nil {
@@ -165,7 +170,7 @@ func (c *Client) addOperationGetBucketLifecycleConfigurationMiddlewares(stack *m
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -185,7 +190,6 @@ func newServiceMetadataMiddleware_opGetBucketLifecycleConfiguration(region strin
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketLifecycleConfiguration",
}
}
@@ -215,139 +219,3 @@ func addGetBucketLifecycleConfigurationUpdateEndpoint(stack *middleware.Stack, o
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketLifecycleConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketLifecycleConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketLifecycleConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketLifecycleConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketLifecycleConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketLifecycleConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLocation.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLocation.go
index 9404b457..e94875fe 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLocation.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLocation.go
@@ -6,31 +6,28 @@ import (
"bytes"
"context"
"encoding/xml"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
smithy "github.com/aws/smithy-go"
smithyxml "github.com/aws/smithy-go/encoding/xml"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
smithyio "github.com/aws/smithy-go/io"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
"io"
)
-// Returns the Region the bucket resides in. You set the bucket's Region using the
-// LocationConstraint request parameter in a CreateBucket request. For more
-// information, see CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)
-// . To use this API operation against an access point, provide the alias of the
-// access point in place of the bucket name. To use this API operation against an
-// Object Lambda access point, provide the alias of the Object Lambda access point
-// in place of the bucket name. If the Object Lambda access point alias in a
+// This operation is not supported by directory buckets. Returns the Region the
+// bucket resides in. You set the bucket's Region using the LocationConstraint
+// request parameter in a CreateBucket request. For more information, see
+// CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)
+// . When you use this API operation with an access point, provide the alias of the
+// access point in place of the bucket name. When you use this API operation with
+// an Object Lambda access point, provide the alias of the Object Lambda access
+// point in place of the bucket name. If the Object Lambda access point alias in a
// request is not valid, the error code InvalidAccessPointAliasError is returned.
// For more information about InvalidAccessPointAliasError , see List of Error
// Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
@@ -57,26 +54,31 @@ func (c *Client) GetBucketLocation(ctx context.Context, params *GetBucketLocatio
type GetBucketLocationInput struct {
- // The name of the bucket for which to get the location. To use this API operation
- // against an access point, provide the alias of the access point in place of the
- // bucket name. To use this API operation against an Object Lambda access point,
- // provide the alias of the Object Lambda access point in place of the bucket name.
- // If the Object Lambda access point alias in a request is not valid, the error
- // code InvalidAccessPointAliasError is returned. For more information about
- // InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
+ // The name of the bucket for which to get the location. When you use this API
+ // operation with an access point, provide the alias of the access point in place
+ // of the bucket name. When you use this API operation with an Object Lambda access
+ // point, provide the alias of the Object Lambda access point in place of the
+ // bucket name. If the Object Lambda access point alias in a request is not valid,
+ // the error code InvalidAccessPointAliasError is returned. For more information
+ // about InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
// .
//
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketLocationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketLocationOutput struct {
// Specifies the Region where the bucket resides. For a list of all the Amazon S3
@@ -91,6 +93,9 @@ type GetBucketLocationOutput struct {
}
func (c *Client) addOperationGetBucketLocationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketLocation{}, middleware.After)
if err != nil {
return err
@@ -99,6 +104,10 @@ func (c *Client) addOperationGetBucketLocationMiddlewares(stack *middleware.Stac
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketLocation"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -120,9 +129,6 @@ func (c *Client) addOperationGetBucketLocationMiddlewares(stack *middleware.Stac
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -141,10 +147,10 @@ func (c *Client) addOperationGetBucketLocationMiddlewares(stack *middleware.Stac
if err = swapDeserializerHelper(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketLocationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketLocationValidationMiddleware(stack); err != nil {
@@ -174,7 +180,7 @@ func (c *Client) addOperationGetBucketLocationMiddlewares(stack *middleware.Stac
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -250,7 +256,6 @@ func newServiceMetadataMiddleware_opGetBucketLocation(region string) *awsmiddlew
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketLocation",
}
}
@@ -280,139 +285,3 @@ func addGetBucketLocationUpdateEndpoint(stack *middleware.Stack, options Options
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketLocationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketLocationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketLocationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketLocationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketLocationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketLocationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLogging.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLogging.go
index 13c01889..5bbca7e4 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLogging.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketLogging.go
@@ -4,23 +4,19 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns the logging status of a bucket and the permissions users have to view
-// and modify that status. The following operations are related to GetBucketLogging
-// :
+// This operation is not supported by directory buckets. Returns the logging
+// status of a bucket and the permissions users have to view and modify that
+// status. The following operations are related to GetBucketLogging :
// - CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)
// - PutBucketLogging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html)
func (c *Client) GetBucketLogging(ctx context.Context, params *GetBucketLoggingInput, optFns ...func(*Options)) (*GetBucketLoggingOutput, error) {
@@ -45,14 +41,19 @@ type GetBucketLoggingInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketLoggingInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketLoggingOutput struct {
// Describes where logs are stored and the prefix that Amazon S3 assigns to all
@@ -67,6 +68,9 @@ type GetBucketLoggingOutput struct {
}
func (c *Client) addOperationGetBucketLoggingMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketLogging{}, middleware.After)
if err != nil {
return err
@@ -75,6 +79,10 @@ func (c *Client) addOperationGetBucketLoggingMiddlewares(stack *middleware.Stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketLogging"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -96,9 +104,6 @@ func (c *Client) addOperationGetBucketLoggingMiddlewares(stack *middleware.Stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -114,10 +119,10 @@ func (c *Client) addOperationGetBucketLoggingMiddlewares(stack *middleware.Stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketLoggingResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketLoggingValidationMiddleware(stack); err != nil {
@@ -147,7 +152,7 @@ func (c *Client) addOperationGetBucketLoggingMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -167,7 +172,6 @@ func newServiceMetadataMiddleware_opGetBucketLogging(region string) *awsmiddlewa
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketLogging",
}
}
@@ -197,139 +201,3 @@ func addGetBucketLoggingUpdateEndpoint(stack *middleware.Stack, options Options)
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketLoggingResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketLoggingResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketLoggingResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketLoggingInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketLoggingResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketLoggingResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketMetricsConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketMetricsConfiguration.go
index 7755975d..913b9a04 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketMetricsConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketMetricsConfiguration.go
@@ -4,27 +4,23 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Gets a metrics configuration (specified by the metrics configuration ID) from
-// the bucket. Note that this doesn't include the daily storage metrics. To use
-// this operation, you must have permissions to perform the
-// s3:GetMetricsConfiguration action. The bucket owner has this permission by
-// default. The bucket owner can grant this permission to others. For more
-// information about permissions, see Permissions Related to Bucket Subresource
-// Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
+// This operation is not supported by directory buckets. Gets a metrics
+// configuration (specified by the metrics configuration ID) from the bucket. Note
+// that this doesn't include the daily storage metrics. To use this operation, you
+// must have permissions to perform the s3:GetMetricsConfiguration action. The
+// bucket owner has this permission by default. The bucket owner can grant this
+// permission to others. For more information about permissions, see Permissions
+// Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
// . For information about CloudWatch request metrics for Amazon S3, see
// Monitoring Metrics with Amazon CloudWatch (https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html)
@@ -61,14 +57,19 @@ type GetBucketMetricsConfigurationInput struct {
// This member is required.
Id *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketMetricsConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketMetricsConfigurationOutput struct {
// Specifies the metrics configuration.
@@ -81,6 +82,9 @@ type GetBucketMetricsConfigurationOutput struct {
}
func (c *Client) addOperationGetBucketMetricsConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketMetricsConfiguration{}, middleware.After)
if err != nil {
return err
@@ -89,6 +93,10 @@ func (c *Client) addOperationGetBucketMetricsConfigurationMiddlewares(stack *mid
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketMetricsConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -110,9 +118,6 @@ func (c *Client) addOperationGetBucketMetricsConfigurationMiddlewares(stack *mid
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -128,10 +133,10 @@ func (c *Client) addOperationGetBucketMetricsConfigurationMiddlewares(stack *mid
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketMetricsConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketMetricsConfigurationValidationMiddleware(stack); err != nil {
@@ -161,7 +166,7 @@ func (c *Client) addOperationGetBucketMetricsConfigurationMiddlewares(stack *mid
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -181,7 +186,6 @@ func newServiceMetadataMiddleware_opGetBucketMetricsConfiguration(region string)
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketMetricsConfiguration",
}
}
@@ -211,139 +215,3 @@ func addGetBucketMetricsConfigurationUpdateEndpoint(stack *middleware.Stack, opt
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketMetricsConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketMetricsConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketMetricsConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketMetricsConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketMetricsConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketMetricsConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketNotificationConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketNotificationConfiguration.go
index 8d5eeb00..67a35d97 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketNotificationConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketNotificationConfiguration.go
@@ -4,32 +4,29 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns the notification configuration of a bucket. If notifications are not
-// enabled on the bucket, the action returns an empty NotificationConfiguration
-// 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
-// grant permission to other users to read this configuration with the
-// s3:GetBucketNotification permission. To use this API operation against an access
-// point, provide the alias of the access point in place of the bucket name. To use
-// this API operation against an Object Lambda access point, provide the alias of
-// the Object Lambda access point in place of the bucket name. If the Object Lambda
-// access point alias in a request is not valid, the error code
-// InvalidAccessPointAliasError is returned. For more information about
-// InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
+// This operation is not supported by directory buckets. Returns the notification
+// configuration of a bucket. If notifications are not enabled on the bucket, the
+// action returns an empty NotificationConfiguration 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 grant permission to other users to
+// read this configuration with the s3:GetBucketNotification permission. When you
+// use this API operation with an access point, provide the alias of the access
+// point in place of the bucket name. When you use this API operation with an
+// Object Lambda access point, provide the alias of the Object Lambda access point
+// in place of the bucket name. If the Object Lambda access point alias in a
+// request is not valid, the error code InvalidAccessPointAliasError is returned.
+// For more information about InvalidAccessPointAliasError , see List of Error
+// Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
// . For more 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 more information about bucket policies, see Using Bucket Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html)
@@ -52,26 +49,32 @@ func (c *Client) GetBucketNotificationConfiguration(ctx context.Context, params
type GetBucketNotificationConfigurationInput struct {
- // The name of the bucket for which to get the notification configuration. To use
- // this API operation against an access point, provide the alias of the access
- // point in place of the bucket name. To use this API operation against an Object
- // Lambda access point, provide the alias of the Object Lambda access point in
- // place of the bucket name. If the Object Lambda access point alias in a request
- // is not valid, the error code InvalidAccessPointAliasError is returned. For more
- // information about InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
+ // The name of the bucket for which to get the notification configuration. When
+ // you use this API operation with an access point, provide the alias of the access
+ // point in place of the bucket name. When you use this API operation with an
+ // Object Lambda access point, provide the alias of the Object Lambda access point
+ // in place of the bucket name. If the Object Lambda access point alias in a
+ // request is not valid, the error code InvalidAccessPointAliasError is returned.
+ // For more information about InvalidAccessPointAliasError , see List of Error
+ // Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
// .
//
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketNotificationConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
// A container for specifying the notification configuration of the bucket. If
// this element is empty, notifications are turned off for the bucket.
type GetBucketNotificationConfigurationOutput struct {
@@ -98,6 +101,9 @@ type GetBucketNotificationConfigurationOutput struct {
}
func (c *Client) addOperationGetBucketNotificationConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketNotificationConfiguration{}, middleware.After)
if err != nil {
return err
@@ -106,6 +112,10 @@ func (c *Client) addOperationGetBucketNotificationConfigurationMiddlewares(stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketNotificationConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -127,9 +137,6 @@ func (c *Client) addOperationGetBucketNotificationConfigurationMiddlewares(stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -145,10 +152,10 @@ func (c *Client) addOperationGetBucketNotificationConfigurationMiddlewares(stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketNotificationConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketNotificationConfigurationValidationMiddleware(stack); err != nil {
@@ -178,7 +185,7 @@ func (c *Client) addOperationGetBucketNotificationConfigurationMiddlewares(stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -198,7 +205,6 @@ func newServiceMetadataMiddleware_opGetBucketNotificationConfiguration(region st
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketNotificationConfiguration",
}
}
@@ -228,139 +234,3 @@ func addGetBucketNotificationConfigurationUpdateEndpoint(stack *middleware.Stack
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketNotificationConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketNotificationConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketNotificationConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketNotificationConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketNotificationConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketNotificationConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketOwnershipControls.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketOwnershipControls.go
index 125c3e14..dca55854 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketOwnershipControls.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketOwnershipControls.go
@@ -4,23 +4,20 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, you
-// must have the s3:GetBucketOwnershipControls permission. For more information
-// about Amazon S3 permissions, see Specifying permissions in a policy (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html)
+// This operation is not supported by directory buckets. Retrieves
+// OwnershipControls for an Amazon S3 bucket. To use this operation, you must have
+// the s3:GetBucketOwnershipControls permission. For more information about Amazon
+// S3 permissions, see Specifying permissions in a policy (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html)
// . For information about Amazon S3 Object Ownership, see Using Object Ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
// . The following operations are related to GetBucketOwnershipControls :
// - PutBucketOwnershipControls
@@ -47,14 +44,19 @@ type GetBucketOwnershipControlsInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketOwnershipControlsInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketOwnershipControlsOutput struct {
// The OwnershipControls (BucketOwnerEnforced, BucketOwnerPreferred, or
@@ -68,6 +70,9 @@ type GetBucketOwnershipControlsOutput struct {
}
func (c *Client) addOperationGetBucketOwnershipControlsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketOwnershipControls{}, middleware.After)
if err != nil {
return err
@@ -76,6 +81,10 @@ func (c *Client) addOperationGetBucketOwnershipControlsMiddlewares(stack *middle
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketOwnershipControls"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -97,9 +106,6 @@ func (c *Client) addOperationGetBucketOwnershipControlsMiddlewares(stack *middle
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -115,10 +121,10 @@ func (c *Client) addOperationGetBucketOwnershipControlsMiddlewares(stack *middle
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketOwnershipControlsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketOwnershipControlsValidationMiddleware(stack); err != nil {
@@ -148,7 +154,7 @@ func (c *Client) addOperationGetBucketOwnershipControlsMiddlewares(stack *middle
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -168,7 +174,6 @@ func newServiceMetadataMiddleware_opGetBucketOwnershipControls(region string) *a
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketOwnershipControls",
}
}
@@ -198,139 +203,3 @@ func addGetBucketOwnershipControlsUpdateEndpoint(stack *middleware.Stack, option
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketOwnershipControlsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketOwnershipControlsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketOwnershipControlsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketOwnershipControlsInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketOwnershipControlsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketOwnershipControlsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketPolicy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketPolicy.go
index d167fc45..ff42b705 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketPolicy.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketPolicy.go
@@ -4,42 +4,55 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns the policy of a specified bucket. If you are using an identity other
-// than the root user of the Amazon Web Services account that owns the bucket, the
-// calling identity must have the GetBucketPolicy permissions on the specified
-// bucket and belong to the bucket owner's account in order to use this operation.
-// If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403 Access
-// Denied error. If you have the correct permissions, but you're not using an
-// identity that belongs to the bucket owner's account, Amazon S3 returns a 405
-// Method Not Allowed error. To ensure that bucket owners don't inadvertently lock
-// themselves out of their own buckets, the root principal in a bucket owner's
-// Amazon Web Services account can perform the GetBucketPolicy , PutBucketPolicy ,
-// and DeleteBucketPolicy API actions, even if their bucket policy explicitly
-// denies the root principal's access. Bucket owner root principals can only be
-// blocked from performing these API actions by VPC endpoint policies and Amazon
-// Web Services Organizations policies. To use this API operation against an access
-// point, provide the alias of the access point in place of the bucket name. To use
-// this API operation against an Object Lambda access point, provide the alias of
-// the Object Lambda access point in place of the bucket name. If the Object Lambda
-// access point alias in a request is not valid, the error code
-// InvalidAccessPointAliasError is returned. For more information about
-// InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
-// . 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 following action is related to GetBucketPolicy :
+// Returns the policy of a specified bucket. Directory buckets - For directory
+// buckets, you must make requests for this API operation to the Regional endpoint.
+// These endpoints support path-style requests in the format
+// https://s3express-control.region_code.amazonaws.com/bucket-name .
+// Virtual-hosted-style requests aren't supported. For more information, see
+// Regional and Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Permissions If you are using an identity other than
+// the root user of the Amazon Web Services account that owns the bucket, the
+// calling identity must both have the GetBucketPolicy permissions on the
+// specified bucket and belong to the bucket owner's account in order to use this
+// operation. If you don't have GetBucketPolicy permissions, Amazon S3 returns a
+// 403 Access Denied error. If you have the correct permissions, but you're not
+// using an identity that belongs to the bucket owner's account, Amazon S3 returns
+// a 405 Method Not Allowed error. To ensure that bucket owners don't
+// inadvertently lock themselves out of their own buckets, the root principal in a
+// bucket owner's Amazon Web Services account can perform the GetBucketPolicy ,
+// PutBucketPolicy , and DeleteBucketPolicy API actions, even if their bucket
+// policy explicitly denies the root principal's access. Bucket owner root
+// principals can only be blocked from performing these API actions by VPC endpoint
+// policies and Amazon Web Services Organizations policies.
+// - General purpose bucket permissions - The s3:GetBucketPolicy permission is
+// required in a policy. For more information about general purpose buckets bucket
+// policies, see Using Bucket Policies and User Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html)
+// in the Amazon S3 User Guide.
+// - Directory bucket permissions - To grant access to this API operation, you
+// must have the s3express:GetBucketPolicy permission in an IAM identity-based
+// policy instead of a bucket policy. Cross-account access to this API operation
+// isn't supported. This operation can only be performed by the Amazon Web Services
+// account that owns the resource. For more information about directory bucket
+// policies and permissions, see Amazon Web Services Identity and Access
+// Management (IAM) for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html)
+// in the Amazon S3 User Guide.
+//
+// Example bucket policies General purpose buckets example bucket policies - See
+// Bucket policy examples (https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html)
+// in the Amazon S3 User Guide. Directory bucket example bucket policies - See
+// Example bucket policies for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html)
+// in the Amazon S3 User Guide. HTTP Host header syntax Directory buckets - The
+// HTTP Host header syntax is s3express-control.region.amazonaws.com . The
+// following action is related to GetBucketPolicy :
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
func (c *Client) GetBucketPolicy(ctx context.Context, params *GetBucketPolicyInput, optFns ...func(*Options)) (*GetBucketPolicyOutput, error) {
if params == nil {
@@ -58,26 +71,43 @@ func (c *Client) GetBucketPolicy(ctx context.Context, params *GetBucketPolicyInp
type GetBucketPolicyInput struct {
- // The bucket name for which to get the bucket policy. To use this API operation
- // against an access point, provide the alias of the access point in place of the
- // bucket name. To use this API operation against an Object Lambda access point,
- // provide the alias of the Object Lambda access point in place of the bucket name.
- // If the Object Lambda access point alias in a request is not valid, the error
- // code InvalidAccessPointAliasError is returned. For more information about
- // InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
- // .
+ // The bucket name to get the bucket policy for. Directory buckets - When you use
+ // this operation with a directory bucket, you must use path-style requests in the
+ // format https://s3express-control.region_code.amazonaws.com/bucket-name .
+ // Virtual-hosted-style requests aren't supported. Directory bucket names must be
+ // unique in the chosen Availability Zone. Bucket names must also follow the format
+ // bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3
+ // ). For information about bucket naming restrictions, see Directory bucket
+ // naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide Access points - When you use this API operation with
+ // an access point, provide the alias of the access point in place of the bucket
+ // name. Object Lambda access points - When you use this API operation with an
+ // Object Lambda access point, provide the alias of the Object Lambda access point
+ // in place of the bucket name. If the Object Lambda access point alias in a
+ // request is not valid, the error code InvalidAccessPointAliasError is returned.
+ // For more information about InvalidAccessPointAliasError , see List of Error
+ // Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
+ // . Access points and Object Lambda access points are not supported by directory
+ // buckets.
//
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied). For directory buckets, this header
+ // is not supported in this API operation. If you specify this header, the request
+ // fails with the HTTP status code 501 Not Implemented .
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketPolicyInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketPolicyOutput struct {
// The bucket policy as a JSON document.
@@ -90,6 +120,9 @@ type GetBucketPolicyOutput struct {
}
func (c *Client) addOperationGetBucketPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketPolicy{}, middleware.After)
if err != nil {
return err
@@ -98,6 +131,10 @@ func (c *Client) addOperationGetBucketPolicyMiddlewares(stack *middleware.Stack,
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketPolicy"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -119,9 +156,6 @@ func (c *Client) addOperationGetBucketPolicyMiddlewares(stack *middleware.Stack,
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -137,10 +171,10 @@ func (c *Client) addOperationGetBucketPolicyMiddlewares(stack *middleware.Stack,
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketPolicyResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketPolicyValidationMiddleware(stack); err != nil {
@@ -170,7 +204,7 @@ func (c *Client) addOperationGetBucketPolicyMiddlewares(stack *middleware.Stack,
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -190,7 +224,6 @@ func newServiceMetadataMiddleware_opGetBucketPolicy(region string) *awsmiddlewar
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketPolicy",
}
}
@@ -220,139 +253,3 @@ func addGetBucketPolicyUpdateEndpoint(stack *middleware.Stack, options Options)
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketPolicyResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketPolicyResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketPolicyResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketPolicyInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketPolicyResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketPolicyResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketPolicyStatus.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketPolicyStatus.go
index 8229d4f4..6acf706f 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketPolicyStatus.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketPolicyStatus.go
@@ -4,24 +4,21 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Retrieves the policy status for an Amazon S3 bucket, indicating whether the
-// bucket is public. In order to use this operation, you must have the
-// s3:GetBucketPolicyStatus permission. For more information about Amazon S3
-// permissions, see Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
+// This operation is not supported by directory buckets. Retrieves the policy
+// status for an Amazon S3 bucket, indicating whether the bucket is public. In
+// order to use this operation, you must have the s3:GetBucketPolicyStatus
+// permission. For more information about Amazon S3 permissions, see Specifying
+// Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
// . For more information about when Amazon S3 considers a bucket public, see The
// Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status)
// . The following operations are related to GetBucketPolicyStatus :
@@ -51,14 +48,19 @@ type GetBucketPolicyStatusInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketPolicyStatusInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketPolicyStatusOutput struct {
// The policy status for the specified bucket.
@@ -71,6 +73,9 @@ type GetBucketPolicyStatusOutput struct {
}
func (c *Client) addOperationGetBucketPolicyStatusMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketPolicyStatus{}, middleware.After)
if err != nil {
return err
@@ -79,6 +84,10 @@ func (c *Client) addOperationGetBucketPolicyStatusMiddlewares(stack *middleware.
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketPolicyStatus"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -100,9 +109,6 @@ func (c *Client) addOperationGetBucketPolicyStatusMiddlewares(stack *middleware.
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -118,10 +124,10 @@ func (c *Client) addOperationGetBucketPolicyStatusMiddlewares(stack *middleware.
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketPolicyStatusResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketPolicyStatusValidationMiddleware(stack); err != nil {
@@ -151,7 +157,7 @@ func (c *Client) addOperationGetBucketPolicyStatusMiddlewares(stack *middleware.
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -171,7 +177,6 @@ func newServiceMetadataMiddleware_opGetBucketPolicyStatus(region string) *awsmid
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketPolicyStatus",
}
}
@@ -201,139 +206,3 @@ func addGetBucketPolicyStatusUpdateEndpoint(stack *middleware.Stack, options Opt
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketPolicyStatusResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketPolicyStatusResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketPolicyStatusResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketPolicyStatusInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketPolicyStatusResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketPolicyStatusResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketReplication.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketReplication.go
index 5cf7567a..8db927c1 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketReplication.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketReplication.go
@@ -4,24 +4,21 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns the replication configuration of a bucket. It can take a while to
-// propagate the put or delete a replication configuration to all Amazon S3
-// systems. Therefore, a get request soon after put or delete can return a wrong
-// result. For information about replication configuration, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html)
+// This operation is not supported by directory buckets. Returns the replication
+// configuration of a bucket. It can take a while to propagate the put or delete a
+// replication configuration to all Amazon S3 systems. Therefore, a get request
+// soon after put or delete can return a wrong result. For information about
+// replication configuration, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html)
// in the Amazon S3 User Guide. This action requires permissions for the
// s3:GetReplicationConfiguration action. For more information about permissions,
// see Using Bucket Policies and User Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html)
@@ -54,14 +51,19 @@ type GetBucketReplicationInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketReplicationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketReplicationOutput struct {
// A container for replication rules. You can add up to 1,000 rules. The maximum
@@ -75,6 +77,9 @@ type GetBucketReplicationOutput struct {
}
func (c *Client) addOperationGetBucketReplicationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketReplication{}, middleware.After)
if err != nil {
return err
@@ -83,6 +88,10 @@ func (c *Client) addOperationGetBucketReplicationMiddlewares(stack *middleware.S
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketReplication"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -104,9 +113,6 @@ func (c *Client) addOperationGetBucketReplicationMiddlewares(stack *middleware.S
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -122,10 +128,10 @@ func (c *Client) addOperationGetBucketReplicationMiddlewares(stack *middleware.S
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketReplicationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketReplicationValidationMiddleware(stack); err != nil {
@@ -155,7 +161,7 @@ func (c *Client) addOperationGetBucketReplicationMiddlewares(stack *middleware.S
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -175,7 +181,6 @@ func newServiceMetadataMiddleware_opGetBucketReplication(region string) *awsmidd
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketReplication",
}
}
@@ -205,139 +210,3 @@ func addGetBucketReplicationUpdateEndpoint(stack *middleware.Stack, options Opti
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketReplicationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketReplicationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketReplicationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketReplicationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketReplicationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketReplicationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketRequestPayment.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketRequestPayment.go
index 14a9883c..37c96450 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketRequestPayment.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketRequestPayment.go
@@ -4,23 +4,19 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns the request payment configuration of a bucket. To use this version of
-// the operation, you must be the bucket owner. For more information, see
-// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html)
+// This operation is not supported by directory buckets. Returns the request
+// payment configuration of a bucket. To use this version of the operation, you
+// must be the bucket owner. For more information, see Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html)
// . The following operations are related to GetBucketRequestPayment :
// - ListObjects (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html)
func (c *Client) GetBucketRequestPayment(ctx context.Context, params *GetBucketRequestPaymentInput, optFns ...func(*Options)) (*GetBucketRequestPaymentOutput, error) {
@@ -45,14 +41,19 @@ type GetBucketRequestPaymentInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketRequestPaymentInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketRequestPaymentOutput struct {
// Specifies who pays for the download and request fees.
@@ -65,6 +66,9 @@ type GetBucketRequestPaymentOutput struct {
}
func (c *Client) addOperationGetBucketRequestPaymentMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketRequestPayment{}, middleware.After)
if err != nil {
return err
@@ -73,6 +77,10 @@ func (c *Client) addOperationGetBucketRequestPaymentMiddlewares(stack *middlewar
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketRequestPayment"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -94,9 +102,6 @@ func (c *Client) addOperationGetBucketRequestPaymentMiddlewares(stack *middlewar
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -112,10 +117,10 @@ func (c *Client) addOperationGetBucketRequestPaymentMiddlewares(stack *middlewar
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketRequestPaymentResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketRequestPaymentValidationMiddleware(stack); err != nil {
@@ -145,7 +150,7 @@ func (c *Client) addOperationGetBucketRequestPaymentMiddlewares(stack *middlewar
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -165,7 +170,6 @@ func newServiceMetadataMiddleware_opGetBucketRequestPayment(region string) *awsm
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketRequestPayment",
}
}
@@ -195,139 +199,3 @@ func addGetBucketRequestPaymentUpdateEndpoint(stack *middleware.Stack, options O
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketRequestPaymentResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketRequestPaymentResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketRequestPaymentResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketRequestPaymentInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketRequestPaymentResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketRequestPaymentResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketTagging.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketTagging.go
index a2cd2bb6..4c2761be 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketTagging.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketTagging.go
@@ -4,24 +4,21 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns the tag set associated with the bucket. To use this operation, you must
-// have permission to perform the s3:GetBucketTagging action. By default, the
-// bucket owner has this permission and can grant this permission to others.
-// GetBucketTagging has the following special error:
+// This operation is not supported by directory buckets. Returns the tag set
+// associated with the bucket. To use this operation, you must have permission to
+// perform the s3:GetBucketTagging action. By default, the bucket owner has this
+// permission and can grant this permission to others. GetBucketTagging has the
+// following special error:
// - Error code: NoSuchTagSet
// - Description: There is no tag set associated with the bucket.
//
@@ -50,14 +47,19 @@ type GetBucketTaggingInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketTaggingInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketTaggingOutput struct {
// Contains the tag set.
@@ -72,6 +74,9 @@ type GetBucketTaggingOutput struct {
}
func (c *Client) addOperationGetBucketTaggingMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketTagging{}, middleware.After)
if err != nil {
return err
@@ -80,6 +85,10 @@ func (c *Client) addOperationGetBucketTaggingMiddlewares(stack *middleware.Stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketTagging"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -101,9 +110,6 @@ func (c *Client) addOperationGetBucketTaggingMiddlewares(stack *middleware.Stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -119,10 +125,10 @@ func (c *Client) addOperationGetBucketTaggingMiddlewares(stack *middleware.Stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketTaggingResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketTaggingValidationMiddleware(stack); err != nil {
@@ -152,7 +158,7 @@ func (c *Client) addOperationGetBucketTaggingMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -172,7 +178,6 @@ func newServiceMetadataMiddleware_opGetBucketTagging(region string) *awsmiddlewa
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketTagging",
}
}
@@ -202,139 +207,3 @@ func addGetBucketTaggingUpdateEndpoint(stack *middleware.Stack, options Options)
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketTaggingResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketTaggingResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketTaggingResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketTaggingInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketTaggingResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketTaggingResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketVersioning.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketVersioning.go
index 3153eaa7..55cad629 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketVersioning.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketVersioning.go
@@ -4,25 +4,22 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns the versioning state of a bucket. To retrieve the versioning state of a
-// bucket, you must be the bucket owner. This implementation also returns the MFA
-// Delete status of the versioning state. If the MFA Delete status is enabled , the
-// bucket owner must use an authentication device to change the versioning state of
-// the bucket. The following operations are related to GetBucketVersioning :
+// This operation is not supported by directory buckets. Returns the versioning
+// state of a bucket. To retrieve the versioning state of a bucket, you must be the
+// bucket owner. This implementation also returns the MFA Delete status of the
+// versioning state. If the MFA Delete status is enabled , the bucket owner must
+// use an authentication device to change the versioning state of the bucket. The
+// following operations are related to GetBucketVersioning :
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
// - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
// - DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)
@@ -48,14 +45,19 @@ type GetBucketVersioningInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketVersioningInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketVersioningOutput struct {
// Specifies whether MFA delete is enabled in the bucket versioning configuration.
@@ -73,6 +75,9 @@ type GetBucketVersioningOutput struct {
}
func (c *Client) addOperationGetBucketVersioningMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketVersioning{}, middleware.After)
if err != nil {
return err
@@ -81,6 +86,10 @@ func (c *Client) addOperationGetBucketVersioningMiddlewares(stack *middleware.St
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketVersioning"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -102,9 +111,6 @@ func (c *Client) addOperationGetBucketVersioningMiddlewares(stack *middleware.St
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -120,10 +126,10 @@ func (c *Client) addOperationGetBucketVersioningMiddlewares(stack *middleware.St
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketVersioningResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketVersioningValidationMiddleware(stack); err != nil {
@@ -153,7 +159,7 @@ func (c *Client) addOperationGetBucketVersioningMiddlewares(stack *middleware.St
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -173,7 +179,6 @@ func newServiceMetadataMiddleware_opGetBucketVersioning(region string) *awsmiddl
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketVersioning",
}
}
@@ -203,139 +208,3 @@ func addGetBucketVersioningUpdateEndpoint(stack *middleware.Stack, options Optio
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketVersioningResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketVersioningResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketVersioningResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketVersioningInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketVersioningResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketVersioningResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketWebsite.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketWebsite.go
index c28296a6..f0ebf2b0 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketWebsite.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetBucketWebsite.go
@@ -4,23 +4,20 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns the website configuration for a bucket. To host website on Amazon S3,
-// you can configure a bucket as website by adding a website configuration. For
-// more information about hosting websites, see Hosting Websites on Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html)
+// This operation is not supported by directory buckets. Returns the website
+// configuration for a bucket. To host website on Amazon S3, you can configure a
+// bucket as website by adding a website configuration. For more information about
+// hosting websites, see Hosting Websites on Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html)
// . This GET action requires the S3:GetBucketWebsite permission. By default, only
// the bucket owner can read the bucket website configuration. However, bucket
// owners can allow other users to read the website configuration by writing a
@@ -50,14 +47,19 @@ type GetBucketWebsiteInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetBucketWebsiteInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetBucketWebsiteOutput struct {
// The object key name of the website error document to use for 4XX class errors.
@@ -80,6 +82,9 @@ type GetBucketWebsiteOutput struct {
}
func (c *Client) addOperationGetBucketWebsiteMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetBucketWebsite{}, middleware.After)
if err != nil {
return err
@@ -88,6 +93,10 @@ func (c *Client) addOperationGetBucketWebsiteMiddlewares(stack *middleware.Stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetBucketWebsite"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -109,9 +118,6 @@ func (c *Client) addOperationGetBucketWebsiteMiddlewares(stack *middleware.Stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -127,10 +133,10 @@ func (c *Client) addOperationGetBucketWebsiteMiddlewares(stack *middleware.Stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetBucketWebsiteResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetBucketWebsiteValidationMiddleware(stack); err != nil {
@@ -160,7 +166,7 @@ func (c *Client) addOperationGetBucketWebsiteMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -180,7 +186,6 @@ func newServiceMetadataMiddleware_opGetBucketWebsite(region string) *awsmiddlewa
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetBucketWebsite",
}
}
@@ -210,139 +215,3 @@ func addGetBucketWebsiteUpdateEndpoint(stack *middleware.Stack, options Options)
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetBucketWebsiteResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetBucketWebsiteResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetBucketWebsiteResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetBucketWebsiteInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetBucketWebsiteResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetBucketWebsiteResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObject.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObject.go
index e84be49a..d2dc15c7 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObject.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObject.go
@@ -4,112 +4,110 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"io"
"time"
)
-// Retrieves objects from Amazon S3. To use GET , you must have READ access to the
-// object. If you grant READ access to the anonymous user, you can return the
-// object without using an authorization header. An Amazon S3 bucket has no
-// directory hierarchy such as you would find in a typical computer file system.
-// You can, however, create a logical hierarchy by using object key names that
-// imply a folder structure. For example, instead of naming an object sample.jpg ,
-// you can name it photos/2006/February/sample.jpg . To get an object from such a
-// logical hierarchy, specify the full key name for the object in the GET
-// operation. For a virtual hosted-style request example, if you have the object
-// photos/2006/February/sample.jpg , specify the resource as
-// /photos/2006/February/sample.jpg . For a path-style request example, if you have
-// the object photos/2006/February/sample.jpg in the bucket named examplebucket ,
-// specify the resource as /examplebucket/photos/2006/February/sample.jpg . For
-// more information about request types, see HTTP Host Header Bucket Specification (https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket)
-// . For more information about returning the ACL of an object, see GetObjectAcl (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html)
-// . If the object you are retrieving is stored in the S3 Glacier Flexible
-// Retrieval or S3 Glacier Deep Archive storage class, or S3 Intelligent-Tiering
-// Archive or S3 Intelligent-Tiering Deep Archive tiers, before you can retrieve
-// the object you must first restore a copy using RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)
-// . Otherwise, this action returns an InvalidObjectState error. For information
-// about restoring archived objects, see Restoring Archived Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html)
-// . Encryption request headers, like x-amz-server-side-encryption , should not be
-// sent for GET requests if your object uses server-side encryption with Key
-// Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with
-// Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with Amazon
-// S3 managed encryption keys (SSE-S3). If your object does use these types of
-// keys, you’ll get an HTTP 400 Bad Request error. If you encrypt an object by
-// using server-side encryption with customer-provided encryption keys (SSE-C) when
-// you store the object in Amazon S3, then when you GET the object, you must use
-// the following headers:
-// - x-amz-server-side-encryption-customer-algorithm
-// - x-amz-server-side-encryption-customer-key
-// - x-amz-server-side-encryption-customer-key-MD5
+// Retrieves an object from Amazon S3. In the GetObject request, specify the full
+// key name for the object. General purpose buckets - Both the virtual-hosted-style
+// requests and the path-style requests are supported. For a virtual hosted-style
+// request example, if you have the object photos/2006/February/sample.jpg ,
+// specify the object key name as /photos/2006/February/sample.jpg . For a
+// path-style request example, if you have the object
+// photos/2006/February/sample.jpg in the bucket named examplebucket , specify the
+// object key name as /examplebucket/photos/2006/February/sample.jpg . For more
+// information about request types, see HTTP Host Header Bucket Specification (https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket)
+// in the Amazon S3 User Guide. Directory buckets - Only virtual-hosted-style
+// requests are supported. For a virtual hosted-style request example, if you have
+// the object photos/2006/February/sample.jpg in the bucket named
+// examplebucket--use1-az5--x-s3 , specify the object key name as
+// /photos/2006/February/sample.jpg . Also, when you make requests to this API
+// operation, your requests are sent to the Zonal endpoint. These endpoints support
+// virtual-hosted-style requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style
+// requests are not supported. For more information, see Regional and Zonal
+// endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Permissions
+// - General purpose bucket permissions - You must have the required permissions
+// in a policy. To use GetObject , you must have the READ access to the object
+// (or version). If you grant READ access to the anonymous user, the GetObject
+// operation returns the object without using an authorization header. For more
+// information, see Specifying permissions in a policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
+// in the Amazon S3 User Guide. If you include a versionId in your request
+// header, you must have the s3:GetObjectVersion permission to access a specific
+// version of an object. The s3:GetObject permission is not required in this
+// scenario. If you request the current version of an object without a specific
+// versionId in the request header, only the s3:GetObject permission is required.
+// The s3:GetObjectVersion permission is not required in this scenario. If the
+// object that you request doesn’t exist, the error that Amazon S3 returns depends
+// on whether you also have the s3:ListBucket permission.
+// - If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an
+// HTTP status code 404 Not Found error.
+// - If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP
+// status code 403 Access Denied error.
+// - Directory bucket permissions - To grant access to this API operation on a
+// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// API operation for session-based authorization. Specifically, you grant the
+// s3express:CreateSession permission to the directory bucket in a bucket policy
+// or an IAM identity-based policy. Then, you make the CreateSession API call on
+// the bucket to obtain a session token. With the session token in your request
+// header, you can make API requests to this operation. After the session token
+// expires, you make another CreateSession API call to generate a new session
+// token for use. Amazon Web Services CLI or SDKs create session and refresh the
+// session token automatically to avoid service interruptions when a session
+// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// .
//
-// For more information about SSE-C, see Server-Side Encryption (Using
-// Customer-Provided Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
-// . Assuming you have the relevant permission to read object tags, the response
-// also returns the x-amz-tagging-count header that provides the count of number
-// of tags associated with the object. You can use GetObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html)
-// to retrieve the tag set associated with an object. Permissions You need the
-// relevant read object (or version) permission for this operation. For more
-// information, see Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
-// . If the object that you request doesn’t exist, the error that Amazon S3 returns
-// depends on whether you also have the s3:ListBucket permission. If you have the
-// s3:ListBucket permission on the bucket, Amazon S3 returns an HTTP status code
-// 404 (Not Found) error. If you don’t have the s3:ListBucket permission, Amazon
-// S3 returns an HTTP status code 403 ("access denied") error. Versioning By
-// default, the GET action returns the current version of an object. To return a
-// different version, use the versionId subresource.
-// - If you 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 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 object is a delete marker, Amazon S3 behaves
-// as if the object was deleted and includes x-amz-delete-marker: true in the
-// response.
-//
-// For more information about versioning, see PutBucketVersioning (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html)
-// . Overriding Response Header Values There are times when you want to override
-// certain response header values in a GET response. For example, you might
-// override the Content-Disposition response header value in your GET request. You
-// can override values for a set of response headers using the following query
-// parameters. These response header values are sent only on a successful request,
-// that is, when status code 200 OK is returned. The set of headers you can
-// override using these parameters is a subset of the headers that Amazon S3
-// accepts when you create an object. The response headers that you can override
-// for the GET response are Content-Type , Content-Language , Expires ,
-// Cache-Control , Content-Disposition , and Content-Encoding . To override these
-// header values in the GET response, you use the following request parameters.
-// You must sign the request, either using an Authorization header or a presigned
-// URL, when using these parameters. They cannot be used with an unsigned
-// (anonymous) request.
-// - response-content-type
-// - response-content-language
-// - response-expires
+// Storage classes If the object you are retrieving is stored in the S3 Glacier
+// Flexible Retrieval storage class, the S3 Glacier Deep Archive storage class, the
+// S3 Intelligent-Tiering Archive Access tier, or the S3 Intelligent-Tiering Deep
+// Archive Access tier, before you can retrieve the object you must first restore a
+// copy using RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)
+// . Otherwise, this operation returns an InvalidObjectState error. For
+// information about restoring archived objects, see Restoring Archived Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html)
+// in the Amazon S3 User Guide. Directory buckets - For directory buckets, only the
+// S3 Express One Zone storage class is supported to store newly created objects.
+// Unsupported storage class values won't write a destination object and will
+// respond with the HTTP status code 400 Bad Request . Encryption Encryption
+// request headers, like x-amz-server-side-encryption , should not be sent for the
+// GetObject requests, if your object uses server-side encryption with Amazon S3
+// managed encryption keys (SSE-S3), server-side encryption with Key Management
+// Service (KMS) keys (SSE-KMS), or dual-layer server-side encryption with Amazon
+// Web Services KMS keys (DSSE-KMS). If you include the header in your GetObject
+// requests for the object that uses these types of keys, you’ll get an HTTP 400
+// Bad Request error. Overriding response header values through the request There
+// are times when you want to override certain response header values of a
+// GetObject response. For example, you might override the Content-Disposition
+// response header value through your GetObject request. You can override values
+// for a set of response headers. These modified response header values are
+// included only in a successful response, that is, when the HTTP status code 200
+// OK is returned. The headers you can override using the following query
+// parameters in the request are a subset of the headers that Amazon S3 accepts
+// when you create an object. The response headers that you can override for the
+// GetObject response are Cache-Control , Content-Disposition , Content-Encoding ,
+// Content-Language , Content-Type , and Expires . To override values for a set of
+// response headers in the GetObject response, you can use the following query
+// parameters in the request.
// - response-cache-control
// - response-content-disposition
// - response-content-encoding
+// - response-content-language
+// - response-content-type
+// - response-expires
//
-// Overriding Response Header Values If both of the If-Match and
-// If-Unmodified-Since headers are present in the request as follows: If-Match
-// condition evaluates to true , and; If-Unmodified-Since condition evaluates to
-// false ; then, S3 returns 200 OK and the data requested. If both of the
-// If-None-Match and If-Modified-Since headers are present in the request as
-// follows: If-None-Match condition evaluates to false , and; If-Modified-Since
-// condition evaluates to true ; then, S3 returns 304 Not Modified response code.
-// For more information about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232)
-// . The following operations are related to GetObject :
+// When you use these parameters, you must sign the request by using either an
+// Authorization header or a presigned URL. These parameters cannot be used with an
+// unsigned (anonymous) request. HTTP Host header syntax Directory buckets - The
+// HTTP Host header syntax is Bucket_name.s3express-az_id.region.amazonaws.com .
+// The following operations are related to GetObject :
// - ListBuckets (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)
// - GetObjectAcl (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html)
func (c *Client) GetObject(ctx context.Context, params *GetObjectInput, optFns ...func(*Options)) (*GetObjectOutput, error) {
@@ -129,18 +127,30 @@ func (c *Client) GetObject(ctx context.Context, params *GetObjectInput, optFns .
type GetObjectInput struct {
- // The bucket name containing the object. When using this action with an access
- // point, you must direct requests to the access point hostname. The access point
- // hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (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
+ // The bucket name containing the object. Directory buckets - When you use this
+ // operation with a directory bucket, you must use virtual-hosted-style requests in
+ // the format Bucket_name.s3express-az_id.region.amazonaws.com . Path-style
+ // requests are not supported. Directory bucket names must be unique in the chosen
+ // Availability Zone. Bucket names must follow the format
+ // bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3
+ // ). For information about bucket naming restrictions, see Directory bucket
+ // naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Object Lambda access points - When you use this
+ // action with an Object Lambda access point, you must direct requests to the
+ // Object Lambda access point hostname. The Object Lambda access point hostname
+ // takes the form AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com.
+ // Access points and Object Lambda access points are not supported by directory
+ // buckets. S3 on Outposts - When you use this action with Amazon S3 on Outposts,
+ // you must direct requests to the S3 on Outposts hostname. The S3 on Outposts
// hostname takes the form
- // AccessPointName-AccountId.s3-object-lambda.Region.amazonaws.com. When you use
- // this action with Amazon S3 on Outposts, you must direct requests to the S3 on
- // Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -158,51 +168,69 @@ type GetObjectInput struct {
// To retrieve the checksum, this mode must be enabled.
ChecksumMode types.ChecksumMode
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Return the object only if its entity tag (ETag) is the same as the one
- // specified; otherwise, return a 412 (precondition failed) error.
+ // specified in this header; otherwise, return a 412 Precondition Failed error. If
+ // both of the If-Match and If-Unmodified-Since headers are present in the request
+ // as follows: If-Match condition evaluates to true , and; If-Unmodified-Since
+ // condition evaluates to false ; then, S3 returns 200 OK and the data requested.
+ // For more information about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232)
+ // .
IfMatch *string
// Return the object only if it has been modified since the specified time;
- // otherwise, return a 304 (not modified) error.
+ // otherwise, return a 304 Not Modified error. If both of the If-None-Match and
+ // If-Modified-Since headers are present in the request as follows: If-None-Match
+ // condition evaluates to false , and; If-Modified-Since condition evaluates to
+ // true ; then, S3 returns 304 Not Modified status code. For more information
+ // about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) .
IfModifiedSince *time.Time
// Return the object only if its entity tag (ETag) is different from the one
- // specified; otherwise, return a 304 (not modified) error.
+ // specified in this header; otherwise, return a 304 Not Modified error. If both
+ // of the If-None-Match and If-Modified-Since headers are present in the request
+ // as follows: If-None-Match condition evaluates to false , and; If-Modified-Since
+ // condition evaluates to true ; then, S3 returns 304 Not Modified HTTP status
+ // code. For more information about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232)
+ // .
IfNoneMatch *string
// Return the object only if it has not been modified since the specified time;
- // otherwise, return a 412 (precondition failed) error.
+ // otherwise, return a 412 Precondition Failed error. If both of the If-Match and
+ // If-Unmodified-Since headers are present in the request as follows: If-Match
+ // condition evaluates to true , and; If-Unmodified-Since condition evaluates to
+ // false ; then, S3 returns 200 OK and the data requested. For more information
+ // about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) .
IfUnmodifiedSince *time.Time
// Part number of the object being read. This is a positive integer between 1 and
// 10,000. Effectively performs a 'ranged' GET request for the part specified.
// Useful for downloading just a part of an object.
- PartNumber int32
+ PartNumber *int32
- // Downloads the specified range bytes of an object. For more information about
- // the HTTP Range header, see
- // https://www.rfc-editor.org/rfc/rfc9110.html#name-range (https://www.rfc-editor.org/rfc/rfc9110.html#name-range)
+ // Downloads the specified byte range of an object. For more information about the
+ // HTTP Range header, see https://www.rfc-editor.org/rfc/rfc9110.html#name-range (https://www.rfc-editor.org/rfc/rfc9110.html#name-range)
// . Amazon S3 doesn't support retrieving multiple ranges of data per GET request.
Range *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
// Sets the Cache-Control header of the response.
ResponseCacheControl *string
- // Sets the Content-Disposition header of the response
+ // Sets the Content-Disposition header of the response.
ResponseContentDisposition *string
// Sets the Content-Encoding header of the response.
@@ -217,75 +245,121 @@ type GetObjectInput struct {
// Sets the Expires header of the response.
ResponseExpires *time.Time
- // Specifies the algorithm to use to when decrypting the object (for example,
- // AES256).
+ // Specifies the algorithm to use when decrypting the object (for example, AES256
+ // ). If you encrypt an object by using server-side encryption with
+ // customer-provided encryption keys (SSE-C) when you store the object in Amazon
+ // S3, then when you GET the object, you must use the following headers:
+ // - x-amz-server-side-encryption-customer-algorithm
+ // - x-amz-server-side-encryption-customer-key
+ // - x-amz-server-side-encryption-customer-key-MD5
+ // For more information about SSE-C, see Server-Side Encryption (Using
+ // Customer-Provided Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
SSECustomerAlgorithm *string
- // Specifies the customer-provided encryption key for Amazon S3 used to encrypt
- // the data. This value is used to decrypt the object when recovering it and must
- // match the one used when storing the data. The key must be appropriate for use
- // with the algorithm specified in the
- // x-amz-server-side-encryption-customer-algorithm header.
+ // Specifies the customer-provided encryption key that you originally provided for
+ // Amazon S3 to encrypt the data before storing it. This value is used to decrypt
+ // the object when recovering it and must match the one used when storing the data.
+ // The key must be appropriate for use with the algorithm specified in the
+ // x-amz-server-side-encryption-customer-algorithm header. If you encrypt an object
+ // by using server-side encryption with customer-provided encryption keys (SSE-C)
+ // when you store the object in Amazon S3, then when you GET the object, you must
+ // use the following headers:
+ // - x-amz-server-side-encryption-customer-algorithm
+ // - x-amz-server-side-encryption-customer-key
+ // - x-amz-server-side-encryption-customer-key-MD5
+ // For more information about SSE-C, see Server-Side Encryption (Using
+ // Customer-Provided Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
SSECustomerKey *string
- // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
- // Amazon S3 uses this header for a message integrity check to ensure that the
- // encryption key was transmitted without error.
+ // Specifies the 128-bit MD5 digest of the customer-provided encryption key
+ // according to RFC 1321. Amazon S3 uses this header for a message integrity check
+ // to ensure that the encryption key was transmitted without error. If you encrypt
+ // an object by using server-side encryption with customer-provided encryption keys
+ // (SSE-C) when you store the object in Amazon S3, then when you GET the object,
+ // you must use the following headers:
+ // - x-amz-server-side-encryption-customer-algorithm
+ // - x-amz-server-side-encryption-customer-key
+ // - x-amz-server-side-encryption-customer-key-MD5
+ // For more information about SSE-C, see Server-Side Encryption (Using
+ // Customer-Provided Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
SSECustomerKeyMD5 *string
- // VersionId used to reference a specific version of the object.
+ // Version ID used to reference a specific version of the object. By default, the
+ // GetObject operation returns the current version of an object. To return a
+ // different version, use the versionId subresource.
+ // - If you include a versionId in your request header, you must have the
+ // s3:GetObjectVersion permission to access a specific version of an object. The
+ // s3:GetObject permission is not required in this scenario.
+ // - If you request the current version of an object without a specific versionId
+ // in the request header, only the s3:GetObject permission is required. The
+ // s3:GetObjectVersion permission is not required in this scenario.
+ // - Directory buckets - S3 Versioning isn't enabled and supported for directory
+ // buckets. For this API operation, only the null value of the version ID is
+ // supported by directory buckets. You can only specify null to the versionId
+ // query parameter in the request.
+ // For more information about versioning, see PutBucketVersioning (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketVersioning.html)
+ // .
VersionId *string
noSmithyDocumentSerde
}
+func (in *GetObjectInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.Key = in.Key
+
+}
+
type GetObjectOutput struct {
- // Indicates that a range of bytes was specified.
+ // Indicates that a range of bytes was specified in the request.
AcceptRanges *string
// Object data.
Body io.ReadCloser
// Indicates whether the object uses an S3 Bucket Key for server-side encryption
- // with Key Management Service (KMS) keys (SSE-KMS).
- BucketKeyEnabled bool
+ // with Key Management Service (KMS) keys (SSE-KMS). This functionality is not
+ // supported for directory buckets.
+ BucketKeyEnabled *bool
// Specifies caching behavior along the request/reply chain.
CacheControl *string
// The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide.
ChecksumCRC32 *string
// The base64-encoded, 32-bit CRC32C checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide.
ChecksumCRC32C *string
// The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide.
ChecksumSHA1 *string
// The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide.
ChecksumSHA256 *string
// Specifies presentational information for the object.
ContentDisposition *string
- // Specifies what content encodings have been applied to the object and thus what
+ // Indicates 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
// Content-Type header field.
ContentEncoding *string
@@ -294,7 +368,7 @@ type GetObjectOutput struct {
ContentLanguage *string
// Size of the body in bytes.
- ContentLength int64
+ ContentLength *int64
// The portion of the object returned in the response.
ContentRange *string
@@ -302,24 +376,34 @@ type GetObjectOutput struct {
// A standard MIME type describing the format of the object data.
ContentType *string
- // Specifies whether the object retrieved was (true) or was not (false) a Delete
+ // Indicates whether the object retrieved was (true) or was not (false) a Delete
// Marker. If false, this response header does not appear in the response.
- DeleteMarker bool
+ // - If the current version of the object is a delete marker, Amazon S3 behaves
+ // as if the object was deleted and includes x-amz-delete-marker: true in the
+ // response.
+ // - If the specified version in the request is a delete marker, the response
+ // returns a 405 Method Not Allowed error and the Last-Modified: timestamp
+ // response header.
+ DeleteMarker *bool
// An entity tag (ETag) is an opaque identifier assigned by a web server to a
// specific version of a resource found at a URL.
ETag *string
- // If the object expiration is configured (see PUT Bucket lifecycle), the response
- // includes this header. It includes the expiry-date and rule-id key-value pairs
- // providing object expiration information. The value of the rule-id is
- // URL-encoded.
+ // If the object expiration is configured (see PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html)
+ // ), the response includes this header. It includes the expiry-date and rule-id
+ // key-value pairs providing object expiration information. The value of the
+ // rule-id is URL-encoded. This functionality is not supported for directory
+ // buckets.
Expiration *string
// The date and time at which the object is no longer cacheable.
Expires *time.Time
- // Creation date of the object.
+ // Date and time when the object was last modified. General purpose buckets - When
+ // you specify a versionId of the object in your request, if the specified version
+ // in the request is a delete marker, the response returns a 405 Method Not Allowed
+ // error and the Last-Modified: timestamp response header.
LastModified *time.Time
// A map of metadata to store with the object in S3.
@@ -327,69 +411,88 @@ type GetObjectOutput struct {
// Map keys will be normalized to lower-case.
Metadata map[string]string
- // This is set to the number of metadata entries not returned in x-amz-meta
- // headers. This can happen if you create metadata using an API like SOAP that
- // supports more flexible metadata than the REST API. For example, using SOAP, you
- // can create metadata whose values are not legal HTTP headers.
- MissingMeta int32
+ // This is set to the number of metadata entries not returned in the headers that
+ // are prefixed with x-amz-meta- . This can happen if you create metadata using an
+ // API like SOAP that supports more flexible metadata than the REST API. For
+ // example, using SOAP, you can create metadata whose values are not legal HTTP
+ // headers. This functionality is not supported for directory buckets.
+ MissingMeta *int32
// Indicates whether this object has an active legal hold. This field is only
- // returned if you have permission to view an object's legal hold status.
+ // returned if you have permission to view an object's legal hold status. This
+ // functionality is not supported for directory buckets.
ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus
- // The Object Lock mode currently in place for this object.
+ // The Object Lock mode that's currently in place for this object. This
+ // functionality is not supported for directory buckets.
ObjectLockMode types.ObjectLockMode
- // The date and time when this object's Object Lock will expire.
+ // The date and time when this object's Object Lock will expire. This
+ // functionality is not supported for directory buckets.
ObjectLockRetainUntilDate *time.Time
// The count of parts this object has. This value is only returned if you specify
// partNumber in your request and the object was uploaded as a multipart upload.
- PartsCount int32
+ PartsCount *int32
// Amazon S3 can return this if your request involves a bucket that is either a
- // source or destination in a replication rule.
+ // source or destination in a replication rule. This functionality is not supported
+ // for directory buckets.
ReplicationStatus types.ReplicationStatus
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// Provides information about object restoration action and expiration time of the
- // restored object copy.
+ // restored object copy. This functionality is not supported for directory buckets.
+ // Only the S3 Express One Zone storage class is supported by directory buckets to
+ // store objects.
Restore *string
// If server-side encryption with a customer-provided encryption key was
- // requested, the response will include this header confirming the encryption
- // algorithm used.
+ // requested, the response will include this header to confirm the encryption
+ // algorithm that's used. This functionality is not supported for directory
+ // buckets.
SSECustomerAlgorithm *string
// If server-side encryption with a customer-provided encryption key was
- // requested, the response will include this header to provide round-trip message
- // integrity verification of the customer-provided encryption key.
+ // requested, the response will include this header to provide the round-trip
+ // message integrity verification of the customer-provided encryption key. This
+ // functionality is not supported for directory buckets.
SSECustomerKeyMD5 *string
- // If present, specifies the ID of the Key Management Service (KMS) symmetric
- // encryption customer managed key that was used for the object.
+ // If present, indicates the ID of the Key Management Service (KMS) symmetric
+ // encryption customer managed key that was used for the object. This functionality
+ // is not supported for directory buckets.
SSEKMSKeyId *string
- // The server-side encryption algorithm used when storing this object in Amazon S3
- // (for example, AES256 , aws:kms , aws:kms:dsse ).
+ // The server-side encryption algorithm used when you store this object in Amazon
+ // S3 (for example, AES256 , aws:kms , aws:kms:dsse ). For directory buckets, only
+ // server-side encryption with Amazon S3 managed keys (SSE-S3) ( AES256 ) is
+ // supported.
ServerSideEncryption types.ServerSideEncryption
// Provides storage class information of the object. Amazon S3 returns this header
- // for all objects except for S3 Standard storage class objects.
+ // for all objects except for S3 Standard storage class objects. Directory buckets
+ // - Only the S3 Express One Zone storage class is supported by directory buckets
+ // to store objects.
StorageClass types.StorageClass
- // The number of tags, if any, on the object.
- TagCount int32
+ // The number of tags, if any, on the object, when you have the relevant
+ // permission to read object tags. You can use GetObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html)
+ // to retrieve the tag set associated with an object. This functionality is not
+ // supported for directory buckets.
+ TagCount *int32
- // Version of the object.
+ // Version ID of the object. This functionality is not supported for directory
+ // buckets.
VersionId *string
// 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
- // value of this header in the object metadata.
+ // value of this header in the object metadata. This functionality is not supported
+ // for directory buckets.
WebsiteRedirectLocation *string
// Metadata pertaining to the operation's result.
@@ -399,6 +502,9 @@ type GetObjectOutput struct {
}
func (c *Client) addOperationGetObjectMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetObject{}, middleware.After)
if err != nil {
return err
@@ -407,6 +513,10 @@ func (c *Client) addOperationGetObjectMiddlewares(stack *middleware.Stack, optio
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetObject"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -428,9 +538,6 @@ func (c *Client) addOperationGetObjectMiddlewares(stack *middleware.Stack, optio
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -443,10 +550,10 @@ func (c *Client) addOperationGetObjectMiddlewares(stack *middleware.Stack, optio
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetObjectResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetObjectValidationMiddleware(stack); err != nil {
@@ -479,7 +586,7 @@ func (c *Client) addOperationGetObjectMiddlewares(stack *middleware.Stack, optio
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -499,7 +606,6 @@ func newServiceMetadataMiddleware_opGetObject(region string) *awsmiddleware.Regi
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetObject",
}
}
@@ -579,139 +685,3 @@ func addGetObjectPayloadAsUnsigned(stack *middleware.Stack, options Options) err
v4.RemoveComputePayloadSHA256Middleware(stack)
return v4.AddUnsignedPayloadMiddleware(stack)
}
-
-type opGetObjectResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetObjectResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetObjectResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetObjectInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetObjectResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetObjectResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectAcl.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectAcl.go
index b6ea63ea..3b2a1687 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectAcl.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectAcl.go
@@ -4,24 +4,20 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns the access control list (ACL) of an object. To use this operation, you
-// must have s3:GetObjectAcl permissions or READ_ACP access to the object. For
-// more information, see Mapping of ACL permissions and access policy permissions (https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#acl-access-policy-permission-mapping)
-// in the Amazon S3 User Guide This action is not supported by Amazon S3 on
+// This operation is not supported by directory buckets. Returns the access
+// control list (ACL) of an object. To use this operation, you must have
+// s3:GetObjectAcl permissions or READ_ACP access to the object. For more
+// information, see Mapping of ACL permissions and access policy permissions (https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#acl-access-policy-permission-mapping)
+// in the Amazon S3 User Guide This functionality is not supported for Amazon S3 on
// Outposts. By default, GET returns ACL information about the current version of
// an object. To return ACL information about a different version, use the
// versionId subresource. If your bucket uses the bucket owner enforced setting for
@@ -53,7 +49,9 @@ func (c *Client) GetObjectAcl(ctx context.Context, params *GetObjectAclInput, op
type GetObjectAclInput struct {
// The bucket name that contains the object for which to get the ACL information.
- // When using this action with an access point, you must direct requests to the
+ // Access points - When you use this action with an access point, you must provide
+ // the alias of the access point in place of the bucket name or specify the access
+ // point ARN. When using the access point ARN, you must direct requests to the
// access point hostname. The access point hostname takes the form
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide
@@ -69,26 +67,34 @@ type GetObjectAclInput struct {
// This member is required.
Key *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
- // VersionId used to reference a specific version of the object.
+ // Version ID used to reference a specific version of the object. This
+ // functionality is not supported for directory buckets.
VersionId *string
noSmithyDocumentSerde
}
+func (in *GetObjectAclInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.Key = in.Key
+
+}
+
type GetObjectAclOutput struct {
// A list of grants.
@@ -98,7 +104,7 @@ type GetObjectAclOutput struct {
Owner *types.Owner
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// Metadata pertaining to the operation's result.
@@ -108,6 +114,9 @@ type GetObjectAclOutput struct {
}
func (c *Client) addOperationGetObjectAclMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetObjectAcl{}, middleware.After)
if err != nil {
return err
@@ -116,6 +125,10 @@ func (c *Client) addOperationGetObjectAclMiddlewares(stack *middleware.Stack, op
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetObjectAcl"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -137,9 +150,6 @@ func (c *Client) addOperationGetObjectAclMiddlewares(stack *middleware.Stack, op
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -155,10 +165,10 @@ func (c *Client) addOperationGetObjectAclMiddlewares(stack *middleware.Stack, op
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetObjectAclResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetObjectAclValidationMiddleware(stack); err != nil {
@@ -188,7 +198,7 @@ func (c *Client) addOperationGetObjectAclMiddlewares(stack *middleware.Stack, op
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -208,7 +218,6 @@ func newServiceMetadataMiddleware_opGetObjectAcl(region string) *awsmiddleware.R
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetObjectAcl",
}
}
@@ -238,139 +247,3 @@ func addGetObjectAclUpdateEndpoint(stack *middleware.Stack, options Options) err
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetObjectAclResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetObjectAclResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetObjectAclResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetObjectAclInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetObjectAclResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetObjectAclResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectAttributes.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectAttributes.go
index 06b1ac2d..ed53ae7b 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectAttributes.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectAttributes.go
@@ -4,73 +4,98 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"time"
)
// 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
-// GetObjectAttributes , you must have READ access to the object.
+// This operation is useful if you're interested only in an object's metadata.
// GetObjectAttributes combines the functionality of HeadObject and ListParts . All
// of the data returned with each of those individual calls can be returned with a
-// single call to GetObjectAttributes . If you encrypt an object by using
-// server-side encryption with customer-provided encryption keys (SSE-C) when you
-// store the object in Amazon S3, then when you retrieve the metadata from the
-// object, you must use the following headers:
+// single call to GetObjectAttributes . Directory buckets - For directory buckets,
+// you must make requests for this API operation to the Zonal endpoint. These
+// endpoints support virtual-hosted-style requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style
+// requests are not supported. For more information, see Regional and Zonal
+// endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Permissions
+// - General purpose bucket permissions - To use GetObjectAttributes , you must
+// have READ access to the object. The permissions that you need to use this
+// operation with depend on whether the bucket is versioned. If the bucket is
+// versioned, you need both the s3:GetObjectVersion and
+// s3:GetObjectVersionAttributes permissions for this operation. If the bucket is
+// not versioned, you need the s3:GetObject and s3:GetObjectAttributes
+// permissions. For more information, see Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
+// in the Amazon S3 User Guide. If the object that you request does not exist, the
+// error Amazon S3 returns depends on whether you also have the s3:ListBucket
+// permission.
+// - If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an
+// HTTP status code 404 Not Found ("no such key") error.
+// - If you don't have the s3:ListBucket permission, Amazon S3 returns an HTTP
+// status code 403 Forbidden ("access denied") error.
+// - Directory bucket permissions - To grant access to this API operation on a
+// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// API operation for session-based authorization. Specifically, you grant the
+// s3express:CreateSession permission to the directory bucket in a bucket policy
+// or an IAM identity-based policy. Then, you make the CreateSession API call on
+// the bucket to obtain a session token. With the session token in your request
+// header, you can make API requests to this operation. After the session token
+// expires, you make another CreateSession API call to generate a new session
+// token for use. Amazon Web Services CLI or SDKs create session and refresh the
+// session token automatically to avoid service interruptions when a session
+// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// .
+//
+// Encryption Encryption request headers, like x-amz-server-side-encryption ,
+// should not be sent for HEAD requests if your object uses server-side encryption
+// with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side
+// encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side
+// encryption with Amazon S3 managed encryption keys (SSE-S3). The
+// x-amz-server-side-encryption header is used when you PUT an object to S3 and
+// want to specify the encryption method. If you include this header in a GET
+// request for an object that uses these types of keys, you’ll get an HTTP 400 Bad
+// Request error. It's because the encryption method can't be changed when you
+// retrieve the object. If you encrypt an object by using server-side encryption
+// with customer-provided encryption keys (SSE-C) when you store the object in
+// Amazon S3, then when you retrieve the metadata from the object, you must use the
+// following headers to provide the encryption key for the server to be able to
+// retrieve the object's metadata. The headers are:
// - x-amz-server-side-encryption-customer-algorithm
// - x-amz-server-side-encryption-customer-key
// - x-amz-server-side-encryption-customer-key-MD5
//
// For more information about SSE-C, see Server-Side Encryption (Using
// Customer-Provided Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
-// in the Amazon S3 User Guide.
-// - Encryption request headers, such as 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 Web Services Key Management
-// Service (SSE-KMS) or server-side encryption with Amazon S3 managed keys
-// (SSE-S3). If your object does use these types of keys, you'll get an HTTP 400
-// Bad Request error.
-// - The last modified property in this case is the creation date of the object.
-//
-// Consider the following when using request headers:
+// in the Amazon S3 User Guide. Directory bucket permissions - For directory
+// buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (
+// AES256 ) is supported. Versioning Directory buckets - S3 Versioning isn't
+// enabled and supported for directory buckets. For this API operation, only the
+// null value of the version ID is supported by directory buckets. You can only
+// specify null to the versionId query parameter in the request. Conditional
+// request headers Consider the following when using request headers:
// - If both of the If-Match and If-Unmodified-Since headers are present in the
// request as follows, then Amazon S3 returns the HTTP status code 200 OK and the
// data requested:
// - If-Match condition evaluates to true .
-// - If-Unmodified-Since condition evaluates to false .
+// - If-Unmodified-Since condition evaluates to false . For more information
+// about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232)
+// .
// - If both of the If-None-Match and If-Modified-Since headers are present in
// the request as follows, then Amazon S3 returns the HTTP status code 304 Not
// Modified :
// - If-None-Match condition evaluates to false .
-// - If-Modified-Since condition evaluates to true .
+// - If-Modified-Since condition evaluates to true . For more information about
+// conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) .
//
-// For more information about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232)
-// . Permissions The permissions that you need to use this operation depend on
-// whether the bucket is versioned. If the bucket is versioned, you need both the
-// s3:GetObjectVersion and s3:GetObjectVersionAttributes permissions for this
-// operation. If the bucket is not versioned, you need the s3:GetObject and
-// s3:GetObjectAttributes permissions. For more information, see Specifying
-// Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
-// in the Amazon S3 User Guide. If the object that you request does not exist, the
-// error Amazon S3 returns depends on whether you also have the s3:ListBucket
-// permission.
-// - If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an
-// HTTP status code 404 Not Found ("no such key") error.
-// - If you don't have the s3:ListBucket permission, Amazon S3 returns an HTTP
-// status code 403 Forbidden ("access denied") error.
-//
-// The following actions are related to GetObjectAttributes :
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// Bucket_name.s3express-az_id.region.amazonaws.com . The following actions are
+// related to GetObjectAttributes :
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
// - GetObjectAcl (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html)
// - GetObjectLegalHold (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html)
@@ -96,16 +121,26 @@ func (c *Client) GetObjectAttributes(ctx context.Context, params *GetObjectAttri
type GetObjectAttributesInput struct {
- // The name of the bucket that contains the object. When using this action with an
- // access point, you must direct requests to the access point hostname. The access
- // point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // The name of the bucket that contains the object. Directory buckets - When you
+ // use this operation with a directory bucket, you must use virtual-hosted-style
+ // requests in the format Bucket_name.s3express-az_id.region.amazonaws.com .
+ // Path-style requests are not supported. Directory bucket names must be unique in
+ // the chosen Availability Zone. Bucket names must follow the format
+ // bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3
+ // ). For information about bucket naming restrictions, see Directory bucket
+ // naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Access points and Object Lambda access points are
+ // not supported by directory buckets. S3 on Outposts - When you use this action
+ // with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts
+ // hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -126,13 +161,13 @@ type GetObjectAttributesInput struct {
// This member is required.
ObjectAttributes []types.ObjectAttributes
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Sets the maximum number of parts to return.
- MaxParts int32
+ MaxParts *int32
// Specifies the part after which listing should begin. Only parts with higher
// part numbers will be listed.
@@ -140,34 +175,47 @@ type GetObjectAttributesInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
- // Specifies the algorithm to use when encrypting the object (for example, AES256).
+ // Specifies the algorithm to use when encrypting the object (for example,
+ // AES256). This functionality is not supported for directory buckets.
SSECustomerAlgorithm *string
// Specifies the customer-provided encryption key for Amazon S3 to use in
// encrypting data. This value is used to store the object and then it is
// discarded; Amazon S3 does not store the encryption key. The key must be
// appropriate for use with the algorithm specified in the
- // x-amz-server-side-encryption-customer-algorithm header.
+ // x-amz-server-side-encryption-customer-algorithm header. This functionality is
+ // not supported for directory buckets.
SSECustomerKey *string
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
// Amazon S3 uses this header for a message integrity check to ensure that the
- // encryption key was transmitted without error.
+ // encryption key was transmitted without error. This functionality is not
+ // supported for directory buckets.
SSECustomerKeyMD5 *string
- // The version ID used to reference a specific version of the object.
+ // The version ID used to reference a specific version of the object. S3
+ // Versioning isn't enabled and supported for directory buckets. For this API
+ // operation, only the null value of the version ID is supported by directory
+ // buckets. You can only specify null to the versionId query parameter in the
+ // request.
VersionId *string
noSmithyDocumentSerde
}
+func (in *GetObjectAttributesInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type GetObjectAttributesOutput struct {
// The checksum or digest of the object.
@@ -175,7 +223,8 @@ type GetObjectAttributesOutput struct {
// Specifies whether the object retrieved was ( true ) or was not ( false ) a
// delete marker. If false , this response header does not appear in the response.
- DeleteMarker bool
+ // This functionality is not supported for directory buckets.
+ DeleteMarker *bool
// An ETag is an opaque identifier assigned by a web server to a specific version
// of a resource found at a URL.
@@ -188,19 +237,21 @@ type GetObjectAttributesOutput struct {
ObjectParts *types.GetObjectAttributesParts
// The size of the object in bytes.
- ObjectSize int64
+ ObjectSize *int64
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// Provides the storage class information of the object. Amazon S3 returns this
// header for all objects except for S3 Standard storage class objects. For more
// information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
- // .
+ // . Directory buckets - Only the S3 Express One Zone storage class is supported by
+ // directory buckets to store objects.
StorageClass types.StorageClass
- // The version ID of the object.
+ // The version ID of the object. This functionality is not supported for directory
+ // buckets.
VersionId *string
// Metadata pertaining to the operation's result.
@@ -210,6 +261,9 @@ type GetObjectAttributesOutput struct {
}
func (c *Client) addOperationGetObjectAttributesMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetObjectAttributes{}, middleware.After)
if err != nil {
return err
@@ -218,6 +272,10 @@ func (c *Client) addOperationGetObjectAttributesMiddlewares(stack *middleware.St
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetObjectAttributes"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -239,9 +297,6 @@ func (c *Client) addOperationGetObjectAttributesMiddlewares(stack *middleware.St
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -257,10 +312,10 @@ func (c *Client) addOperationGetObjectAttributesMiddlewares(stack *middleware.St
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetObjectAttributesResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetObjectAttributesValidationMiddleware(stack); err != nil {
@@ -290,7 +345,7 @@ func (c *Client) addOperationGetObjectAttributesMiddlewares(stack *middleware.St
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -310,7 +365,6 @@ func newServiceMetadataMiddleware_opGetObjectAttributes(region string) *awsmiddl
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetObjectAttributes",
}
}
@@ -340,139 +394,3 @@ func addGetObjectAttributesUpdateEndpoint(stack *middleware.Stack, options Optio
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetObjectAttributesResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetObjectAttributesResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetObjectAttributesResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetObjectAttributesInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetObjectAttributesResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetObjectAttributesResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectLegalHold.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectLegalHold.go
index c4344169..3f7af220 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectLegalHold.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectLegalHold.go
@@ -4,24 +4,19 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Gets an object's current legal hold status. For more information, see Locking
-// Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) .
-// This action is not supported by Amazon S3 on Outposts. The following action is
-// related to GetObjectLegalHold :
+// This operation is not supported by directory buckets. Gets an object's current
+// legal hold status. For more information, see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html)
+// . This functionality is not supported for Amazon S3 on Outposts. The following
+// action is related to GetObjectLegalHold :
// - GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)
func (c *Client) GetObjectLegalHold(ctx context.Context, params *GetObjectLegalHoldInput, optFns ...func(*Options)) (*GetObjectLegalHoldOutput, error) {
if params == nil {
@@ -41,8 +36,10 @@ func (c *Client) GetObjectLegalHold(ctx context.Context, params *GetObjectLegalH
type GetObjectLegalHoldInput struct {
// The bucket name containing the object whose legal hold status you want to
- // retrieve. When using this action with an access point, you must direct requests
- // to the access point hostname. The access point hostname takes the form
+ // retrieve. Access points - When you use this action with an access point, you
+ // must provide the alias of the access point in place of the bucket name or
+ // specify the access point ARN. When using the access point ARN, you must direct
+ // requests to the access point hostname. The access point hostname takes the form
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide
// the access point ARN in place of the bucket name. For more information about
@@ -57,18 +54,19 @@ type GetObjectLegalHoldInput struct {
// This member is required.
Key *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
// The version ID of the object whose legal hold status you want to retrieve.
@@ -77,6 +75,11 @@ type GetObjectLegalHoldInput struct {
noSmithyDocumentSerde
}
+func (in *GetObjectLegalHoldInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type GetObjectLegalHoldOutput struct {
// The current legal hold status for the specified object.
@@ -89,6 +92,9 @@ type GetObjectLegalHoldOutput struct {
}
func (c *Client) addOperationGetObjectLegalHoldMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetObjectLegalHold{}, middleware.After)
if err != nil {
return err
@@ -97,6 +103,10 @@ func (c *Client) addOperationGetObjectLegalHoldMiddlewares(stack *middleware.Sta
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetObjectLegalHold"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -118,9 +128,6 @@ func (c *Client) addOperationGetObjectLegalHoldMiddlewares(stack *middleware.Sta
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -136,10 +143,10 @@ func (c *Client) addOperationGetObjectLegalHoldMiddlewares(stack *middleware.Sta
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetObjectLegalHoldResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetObjectLegalHoldValidationMiddleware(stack); err != nil {
@@ -169,7 +176,7 @@ func (c *Client) addOperationGetObjectLegalHoldMiddlewares(stack *middleware.Sta
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -189,7 +196,6 @@ func newServiceMetadataMiddleware_opGetObjectLegalHold(region string) *awsmiddle
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetObjectLegalHold",
}
}
@@ -219,139 +225,3 @@ func addGetObjectLegalHoldUpdateEndpoint(stack *middleware.Stack, options Option
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetObjectLegalHoldResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetObjectLegalHoldResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetObjectLegalHoldResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetObjectLegalHoldInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetObjectLegalHoldResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetObjectLegalHoldResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectLockConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectLockConfiguration.go
index eb142dad..1ba436d5 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectLockConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectLockConfiguration.go
@@ -4,23 +4,19 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Gets the Object Lock configuration for a bucket. The rule specified in the
-// Object Lock configuration will be applied by default to every new object placed
-// in the specified bucket. For more information, see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html)
+// This operation is not supported by directory buckets. Gets the Object Lock
+// configuration for a bucket. The rule specified in the Object Lock configuration
+// will be applied by default to every new object placed in the specified bucket.
+// For more information, see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html)
// . The following action is related to GetObjectLockConfiguration :
// - GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)
func (c *Client) GetObjectLockConfiguration(ctx context.Context, params *GetObjectLockConfigurationInput, optFns ...func(*Options)) (*GetObjectLockConfigurationOutput, error) {
@@ -40,8 +36,10 @@ func (c *Client) GetObjectLockConfiguration(ctx context.Context, params *GetObje
type GetObjectLockConfigurationInput struct {
- // The bucket whose Object Lock configuration you want to retrieve. When using
- // this action with an access point, you must direct requests to the access point
+ // The bucket whose Object Lock configuration you want to retrieve. Access points
+ // - When you use this action with an access point, you must provide the alias of
+ // the access point in place of the bucket name or specify the access point ARN.
+ // When using the access point ARN, you must direct requests to the access point
// hostname. The access point hostname takes the form
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide
@@ -52,14 +50,19 @@ type GetObjectLockConfigurationInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetObjectLockConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type GetObjectLockConfigurationOutput struct {
// The specified bucket's Object Lock configuration.
@@ -72,6 +75,9 @@ type GetObjectLockConfigurationOutput struct {
}
func (c *Client) addOperationGetObjectLockConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetObjectLockConfiguration{}, middleware.After)
if err != nil {
return err
@@ -80,6 +86,10 @@ func (c *Client) addOperationGetObjectLockConfigurationMiddlewares(stack *middle
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetObjectLockConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -101,9 +111,6 @@ func (c *Client) addOperationGetObjectLockConfigurationMiddlewares(stack *middle
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -119,10 +126,10 @@ func (c *Client) addOperationGetObjectLockConfigurationMiddlewares(stack *middle
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetObjectLockConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetObjectLockConfigurationValidationMiddleware(stack); err != nil {
@@ -152,7 +159,7 @@ func (c *Client) addOperationGetObjectLockConfigurationMiddlewares(stack *middle
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -172,7 +179,6 @@ func newServiceMetadataMiddleware_opGetObjectLockConfiguration(region string) *a
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetObjectLockConfiguration",
}
}
@@ -202,139 +208,3 @@ func addGetObjectLockConfigurationUpdateEndpoint(stack *middleware.Stack, option
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetObjectLockConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetObjectLockConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetObjectLockConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetObjectLockConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetObjectLockConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetObjectLockConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectRetention.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectRetention.go
index 278d1352..1dea7d8a 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectRetention.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectRetention.go
@@ -4,24 +4,19 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Retrieves an object's retention settings. For more information, see Locking
-// Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html) .
-// This action is not supported by Amazon S3 on Outposts. The following action is
-// related to GetObjectRetention :
+// This operation is not supported by directory buckets. Retrieves an object's
+// retention settings. For more information, see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html)
+// . This functionality is not supported for Amazon S3 on Outposts. The following
+// action is related to GetObjectRetention :
// - GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)
func (c *Client) GetObjectRetention(ctx context.Context, params *GetObjectRetentionInput, optFns ...func(*Options)) (*GetObjectRetentionOutput, error) {
if params == nil {
@@ -41,8 +36,10 @@ func (c *Client) GetObjectRetention(ctx context.Context, params *GetObjectRetent
type GetObjectRetentionInput struct {
// The bucket name containing the object whose retention settings you want to
- // retrieve. When using this action with an access point, you must direct requests
- // to the access point hostname. The access point hostname takes the form
+ // retrieve. Access points - When you use this action with an access point, you
+ // must provide the alias of the access point in place of the bucket name or
+ // specify the access point ARN. When using the access point ARN, you must direct
+ // requests to the access point hostname. The access point hostname takes the form
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide
// the access point ARN in place of the bucket name. For more information about
@@ -57,18 +54,19 @@ type GetObjectRetentionInput struct {
// This member is required.
Key *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
// The version ID for the object whose retention settings you want to retrieve.
@@ -77,6 +75,11 @@ type GetObjectRetentionInput struct {
noSmithyDocumentSerde
}
+func (in *GetObjectRetentionInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type GetObjectRetentionOutput struct {
// The container element for an object's retention settings.
@@ -89,6 +92,9 @@ type GetObjectRetentionOutput struct {
}
func (c *Client) addOperationGetObjectRetentionMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetObjectRetention{}, middleware.After)
if err != nil {
return err
@@ -97,6 +103,10 @@ func (c *Client) addOperationGetObjectRetentionMiddlewares(stack *middleware.Sta
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetObjectRetention"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -118,9 +128,6 @@ func (c *Client) addOperationGetObjectRetentionMiddlewares(stack *middleware.Sta
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -136,10 +143,10 @@ func (c *Client) addOperationGetObjectRetentionMiddlewares(stack *middleware.Sta
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetObjectRetentionResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetObjectRetentionValidationMiddleware(stack); err != nil {
@@ -169,7 +176,7 @@ func (c *Client) addOperationGetObjectRetentionMiddlewares(stack *middleware.Sta
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -189,7 +196,6 @@ func newServiceMetadataMiddleware_opGetObjectRetention(region string) *awsmiddle
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetObjectRetention",
}
}
@@ -219,139 +225,3 @@ func addGetObjectRetentionUpdateEndpoint(stack *middleware.Stack, options Option
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetObjectRetentionResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetObjectRetentionResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetObjectRetentionResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetObjectRetentionInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetObjectRetentionResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetObjectRetentionResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectTagging.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectTagging.go
index 14ebf1c4..c020e9bd 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectTagging.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectTagging.go
@@ -4,29 +4,25 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns the tag-set of an object. You send the GET request against the tagging
-// subresource associated with the object. To use this operation, you must have
-// permission to perform the s3:GetObjectTagging action. By default, the GET
-// action returns information about current version of an object. For a versioned
-// bucket, you can have multiple versions of an object in your bucket. To retrieve
-// tags of any other version, use the versionId query parameter. You also need
-// permission for the s3:GetObjectVersionTagging action. By default, the bucket
-// owner has this permission and can grant this permission to others. For
-// information about the Amazon S3 object tagging feature, see Object Tagging (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html)
+// This operation is not supported by directory buckets. Returns the tag-set of an
+// object. You send the GET request against the tagging subresource associated with
+// the object. To use this operation, you must have permission to perform the
+// s3:GetObjectTagging action. By default, the GET action returns information about
+// current version of an object. For a versioned bucket, you can have multiple
+// versions of an object in your bucket. To retrieve tags of any other version, use
+// the versionId query parameter. You also need permission for the
+// s3:GetObjectVersionTagging action. By default, the bucket owner has this
+// permission and can grant this permission to others. For information about the
+// Amazon S3 object tagging feature, see Object Tagging (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html)
// . The following actions are related to GetObjectTagging :
// - DeleteObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html)
// - GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)
@@ -49,15 +45,17 @@ func (c *Client) GetObjectTagging(ctx context.Context, params *GetObjectTaggingI
type GetObjectTaggingInput struct {
// The bucket name containing the object for which to get the tagging information.
- // When using this action with an access point, you must direct requests to the
+ // Access points - When you use this action with an access point, you must provide
+ // the alias of the access point in place of the bucket name or specify the access
+ // point ARN. When using the access point ARN, you must direct requests to the
// access point hostname. The access point hostname takes the form
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide
// the access point ARN in place of the bucket name. For more information about
// access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // in the Amazon S3 User Guide. S3 on Outposts - When you use this action with
+ // Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname.
+ // The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -72,18 +70,19 @@ type GetObjectTaggingInput struct {
// This member is required.
Key *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
// The versionId of the object for which to get the tagging information.
@@ -92,6 +91,11 @@ type GetObjectTaggingInput struct {
noSmithyDocumentSerde
}
+func (in *GetObjectTaggingInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type GetObjectTaggingOutput struct {
// Contains the tag set.
@@ -109,6 +113,9 @@ type GetObjectTaggingOutput struct {
}
func (c *Client) addOperationGetObjectTaggingMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetObjectTagging{}, middleware.After)
if err != nil {
return err
@@ -117,6 +124,10 @@ func (c *Client) addOperationGetObjectTaggingMiddlewares(stack *middleware.Stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetObjectTagging"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -138,9 +149,6 @@ func (c *Client) addOperationGetObjectTaggingMiddlewares(stack *middleware.Stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -156,10 +164,10 @@ func (c *Client) addOperationGetObjectTaggingMiddlewares(stack *middleware.Stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetObjectTaggingResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetObjectTaggingValidationMiddleware(stack); err != nil {
@@ -189,7 +197,7 @@ func (c *Client) addOperationGetObjectTaggingMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -209,7 +217,6 @@ func newServiceMetadataMiddleware_opGetObjectTagging(region string) *awsmiddlewa
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetObjectTagging",
}
}
@@ -239,139 +246,3 @@ func addGetObjectTaggingUpdateEndpoint(stack *middleware.Stack, options Options)
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetObjectTaggingResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetObjectTaggingResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetObjectTaggingResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetObjectTaggingInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetObjectTaggingResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetObjectTaggingResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectTorrent.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectTorrent.go
index dd06c1bd..6689ef97 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectTorrent.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetObjectTorrent.go
@@ -4,27 +4,23 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"io"
)
-// Returns torrent files from a bucket. BitTorrent can save you bandwidth when
-// you're distributing large files. You can get torrent only for objects that are
-// less than 5 GB in size, and that are not encrypted using server-side encryption
-// with a customer-provided encryption key. 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 :
+// This operation is not supported by directory buckets. Returns torrent files
+// from a bucket. BitTorrent can save you bandwidth when you're distributing large
+// files. You can get torrent only for objects that are less than 5 GB in size, and
+// that are not encrypted using server-side encryption with a customer-provided
+// encryption key. To use GET, you must have READ access to the object. This
+// functionality is not supported for Amazon S3 on Outposts. The following action
+// is related to GetObjectTorrent :
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
func (c *Client) GetObjectTorrent(ctx context.Context, params *GetObjectTorrentInput, optFns ...func(*Options)) (*GetObjectTorrentOutput, error) {
if params == nil {
@@ -53,30 +49,36 @@ type GetObjectTorrentInput struct {
// This member is required.
Key *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
noSmithyDocumentSerde
}
+func (in *GetObjectTorrentInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type GetObjectTorrentOutput struct {
// A Bencoded dictionary as defined by the BitTorrent specification
Body io.ReadCloser
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// Metadata pertaining to the operation's result.
@@ -86,6 +88,9 @@ type GetObjectTorrentOutput struct {
}
func (c *Client) addOperationGetObjectTorrentMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetObjectTorrent{}, middleware.After)
if err != nil {
return err
@@ -94,6 +99,10 @@ func (c *Client) addOperationGetObjectTorrentMiddlewares(stack *middleware.Stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetObjectTorrent"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -115,9 +124,6 @@ func (c *Client) addOperationGetObjectTorrentMiddlewares(stack *middleware.Stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -130,10 +136,10 @@ func (c *Client) addOperationGetObjectTorrentMiddlewares(stack *middleware.Stack
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetObjectTorrentResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetObjectTorrentValidationMiddleware(stack); err != nil {
@@ -163,7 +169,7 @@ func (c *Client) addOperationGetObjectTorrentMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -183,7 +189,6 @@ func newServiceMetadataMiddleware_opGetObjectTorrent(region string) *awsmiddlewa
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetObjectTorrent",
}
}
@@ -213,139 +218,3 @@ func addGetObjectTorrentUpdateEndpoint(stack *middleware.Stack, options Options)
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetObjectTorrentResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetObjectTorrentResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetObjectTorrentResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetObjectTorrentInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetObjectTorrentResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetObjectTorrentResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetPublicAccessBlock.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetPublicAccessBlock.go
index cd09834c..0ae12e39 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetPublicAccessBlock.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_GetPublicAccessBlock.go
@@ -4,24 +4,20 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket. To use
-// this operation, you must have the s3:GetBucketPublicAccessBlock permission. For
-// more information about Amazon S3 permissions, see Specifying Permissions in a
-// Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
+// This operation is not supported by directory buckets. Retrieves the
+// PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation,
+// you must have the s3:GetBucketPublicAccessBlock permission. For more
+// information about Amazon S3 permissions, see Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
// . When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or
// an object, it checks the PublicAccessBlock configuration for both the bucket
// (or the bucket that contains the object) and the bucket owner's account. If the
@@ -57,14 +53,19 @@ type GetPublicAccessBlockInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *GetPublicAccessBlockInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type GetPublicAccessBlockOutput struct {
// The PublicAccessBlock configuration currently in effect for this Amazon S3
@@ -78,6 +79,9 @@ type GetPublicAccessBlockOutput struct {
}
func (c *Client) addOperationGetPublicAccessBlockMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpGetPublicAccessBlock{}, middleware.After)
if err != nil {
return err
@@ -86,6 +90,10 @@ func (c *Client) addOperationGetPublicAccessBlockMiddlewares(stack *middleware.S
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetPublicAccessBlock"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -107,9 +115,6 @@ func (c *Client) addOperationGetPublicAccessBlockMiddlewares(stack *middleware.S
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -125,10 +130,10 @@ func (c *Client) addOperationGetPublicAccessBlockMiddlewares(stack *middleware.S
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addGetPublicAccessBlockResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpGetPublicAccessBlockValidationMiddleware(stack); err != nil {
@@ -158,7 +163,7 @@ func (c *Client) addOperationGetPublicAccessBlockMiddlewares(stack *middleware.S
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -178,7 +183,6 @@ func newServiceMetadataMiddleware_opGetPublicAccessBlock(region string) *awsmidd
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "GetPublicAccessBlock",
}
}
@@ -208,139 +212,3 @@ func addGetPublicAccessBlockUpdateEndpoint(stack *middleware.Stack, options Opti
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opGetPublicAccessBlockResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetPublicAccessBlockResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetPublicAccessBlockResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*GetPublicAccessBlockInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetPublicAccessBlockResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetPublicAccessBlockResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadBucket.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadBucket.go
index a6521822..8a18ff85 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadBucket.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadBucket.go
@@ -6,14 +6,10 @@ import (
"context"
"errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithytime "github.com/aws/smithy-go/time"
smithyhttp "github.com/aws/smithy-go/transport/http"
@@ -21,30 +17,44 @@ import (
"time"
)
-// 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
-// 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 400 Bad Request ,
-// 403 Forbidden or 404 Not Found code. A message body is not included, so you
-// cannot determine the exception beyond these error codes. To use this operation,
-// you must have permissions to perform the s3:ListBucket action. The bucket owner
-// has this permission by default and can grant this permission to others. For more
-// information about permissions, see Permissions Related to Bucket Subresource
-// Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
-// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
-// . To use this API operation against an access point, you must provide the alias
-// of the access point in place of the bucket name or specify the access point ARN.
-// When using the access point ARN, you must direct requests to the access point
-// hostname. The access point hostname takes the form
-// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using the
-// Amazon Web Services SDKs, you provide the ARN in place of the bucket name. For
-// more information, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
-// . To use this API operation against an Object Lambda access point, provide the
-// alias of the Object Lambda access point in place of the bucket name. If the
-// Object Lambda access point alias in a request is not valid, the error code
-// InvalidAccessPointAliasError is returned. For more information about
-// InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
-// .
+// You can use this operation to determine if a bucket exists and if you have
+// permission to access it. The action returns a 200 OK if the bucket exists and
+// you 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 400 Bad Request
+// , 403 Forbidden or 404 Not Found code. A message body is not included, so you
+// cannot determine the exception beyond these error codes. Directory buckets - You
+// must make requests for this API operation to the Zonal endpoint. These endpoints
+// support virtual-hosted-style requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests
+// are not supported. For more information, see Regional and Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Authentication and authorization All HeadBucket
+// requests must be authenticated and signed by using IAM credentials (access key
+// ID and secret access key for the IAM identities). All headers with the x-amz-
+// prefix, including x-amz-copy-source , must be signed. For more information, see
+// REST Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
+// . Directory bucket - You must use IAM credentials to authenticate and authorize
+// your access to the HeadBucket API operation, instead of using the temporary
+// security credentials through the CreateSession API operation. Amazon Web
+// Services CLI or SDKs handles authentication and authorization on your behalf.
+// Permissions
+// - General purpose bucket permissions - To use this operation, you must have
+// permissions to perform the s3:ListBucket action. The bucket owner has this
+// permission by default and can grant this permission to others. For more
+// information about permissions, see Managing access permissions to your Amazon
+// S3 resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
+// in the Amazon S3 User Guide.
+// - Directory bucket permissions - You must have the s3express:CreateSession
+// permission in the Action element of a policy. By default, the session is in
+// the ReadWrite mode. If you want to restrict the access, you can explicitly set
+// the s3express:SessionMode condition key to ReadOnly on the bucket. For more
+// information about example bucket policies, see Example bucket policies for S3
+// Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html)
+// and Amazon Web Services Identity and Access Management (IAM) identity-based
+// policies for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html)
+// in the Amazon S3 User Guide.
+//
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// Bucket_name.s3express-az_id.region.amazonaws.com .
func (c *Client) HeadBucket(ctx context.Context, params *HeadBucketInput, optFns ...func(*Options)) (*HeadBucketOutput, error) {
if params == nil {
params = &HeadBucketInput{}
@@ -62,19 +72,31 @@ func (c *Client) HeadBucket(ctx context.Context, params *HeadBucketInput, optFns
type HeadBucketInput struct {
- // The bucket name. When using this action with an access point, you must direct
- // requests to the access point hostname. The access point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with an Object Lambda
- // access point, provide the alias of the Object Lambda access point in place of
- // the bucket name. If the Object Lambda access point alias in a request is not
- // valid, the error code InvalidAccessPointAliasError is returned. For more
- // information about InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
- // . When you use this action with Amazon S3 on Outposts, you must direct requests
- // to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
+ // The bucket name. Directory buckets - When you use this operation with a
+ // directory bucket, you must use virtual-hosted-style requests in the format
+ // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
+ // supported. Directory bucket names must be unique in the chosen Availability
+ // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
+ // example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 ). For information about bucket
+ // naming restrictions, see Directory bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Object Lambda access points - When you use this API
+ // operation with an Object Lambda access point, provide the alias of the Object
+ // Lambda access point in place of the bucket name. If the Object Lambda access
+ // point alias in a request is not valid, the error code
+ // InvalidAccessPointAliasError is returned. For more information about
+ // InvalidAccessPointAliasError , see List of Error Codes (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList)
+ // . Access points and Object Lambda access points are not supported by directory
+ // buckets. S3 on Outposts - When you use this action with Amazon S3 on Outposts,
+ // you must direct requests to the S3 on Outposts hostname. The S3 on Outposts
+ // hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -84,15 +106,39 @@ type HeadBucketInput struct {
// This member is required.
Bucket *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *HeadBucketInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type HeadBucketOutput struct {
+
+ // Indicates whether the bucket name used in the request is an access point alias.
+ // This functionality is not supported for directory buckets.
+ AccessPointAlias *bool
+
+ // The name of the location where the bucket will be created. For directory
+ // buckets, the AZ ID of the Availability Zone where the bucket is created. An
+ // example AZ ID value is usw2-az2 . This functionality is only supported by
+ // directory buckets.
+ BucketLocationName *string
+
+ // The type of location where the bucket is created. This functionality is only
+ // supported by directory buckets.
+ BucketLocationType types.LocationType
+
+ // The Region that the bucket is located. This functionality is not supported for
+ // directory buckets.
+ BucketRegion *string
+
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -100,6 +146,9 @@ type HeadBucketOutput struct {
}
func (c *Client) addOperationHeadBucketMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpHeadBucket{}, middleware.After)
if err != nil {
return err
@@ -108,6 +157,10 @@ func (c *Client) addOperationHeadBucketMiddlewares(stack *middleware.Stack, opti
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "HeadBucket"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -129,9 +182,6 @@ func (c *Client) addOperationHeadBucketMiddlewares(stack *middleware.Stack, opti
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -147,10 +197,10 @@ func (c *Client) addOperationHeadBucketMiddlewares(stack *middleware.Stack, opti
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addHeadBucketResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpHeadBucketValidationMiddleware(stack); err != nil {
@@ -180,7 +230,7 @@ func (c *Client) addOperationHeadBucketMiddlewares(stack *middleware.Stack, opti
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -510,7 +560,6 @@ func newServiceMetadataMiddleware_opHeadBucket(region string) *awsmiddleware.Reg
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "HeadBucket",
}
}
@@ -571,139 +620,3 @@ func addHeadBucketPayloadAsUnsigned(stack *middleware.Stack, options Options) er
v4.RemoveComputePayloadSHA256Middleware(stack)
return v4.AddUnsignedPayloadMiddleware(stack)
}
-
-type opHeadBucketResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opHeadBucketResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opHeadBucketResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*HeadBucketInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addHeadBucketResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opHeadBucketResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadObject.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadObject.go
index a121acb1..5f7b55e5 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadObject.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_HeadObject.go
@@ -6,14 +6,10 @@ import (
"context"
"errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithytime "github.com/aws/smithy-go/time"
smithyhttp "github.com/aws/smithy-go/transport/http"
@@ -21,58 +17,87 @@ import (
"time"
)
-// The HEAD action retrieves metadata from an object without returning the object
-// itself. This action is useful if you're only interested in an object's metadata.
-// 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
-// response except that there is no response body. Because of this, if the HEAD
-// request generates an error, it returns a generic 400 Bad Request , 403 Forbidden
-// or 404 Not Found code. It is not possible to retrieve the exact exception
-// beyond 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 S3, then when you retrieve the metadata from the object, you
-// must use the following headers:
+// The HEAD operation retrieves metadata from an object without returning the
+// object itself. This operation is useful if you're interested only in an object's
+// metadata. A HEAD request has the same options as a GET operation on an object.
+// The response is identical to the GET response except that there is no response
+// body. Because of this, if the HEAD request generates an error, it returns a
+// generic code, such as 400 Bad Request , 403 Forbidden , 404 Not Found , 405
+// Method Not Allowed , 412 Precondition Failed , or 304 Not Modified . It's not
+// possible to retrieve the exact exception of these error codes. Request headers
+// are limited to 8 KB in size. For more information, see Common Request Headers (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html)
+// . Directory buckets - For directory buckets, you must make requests for this API
+// operation to the Zonal endpoint. These endpoints support virtual-hosted-style
+// requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style
+// requests are not supported. For more information, see Regional and Zonal
+// endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Permissions
+// - General purpose bucket permissions - To use HEAD , you must have the
+// s3:GetObject permission. You need the relevant read object (or version)
+// permission for this operation. For more information, see Actions, resources,
+// and condition keys for Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html)
+// in the Amazon S3 User Guide. If the object you request doesn't exist, the error
+// that Amazon S3 returns depends on whether you also have the s3:ListBucket
+// permission.
+// - If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an
+// HTTP status code 404 Not Found error.
+// - If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP
+// status code 403 Forbidden error.
+// - Directory bucket permissions - To grant access to this API operation on a
+// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// API operation for session-based authorization. Specifically, you grant the
+// s3express:CreateSession permission to the directory bucket in a bucket policy
+// or an IAM identity-based policy. Then, you make the CreateSession API call on
+// the bucket to obtain a session token. With the session token in your request
+// header, you can make API requests to this operation. After the session token
+// expires, you make another CreateSession API call to generate a new session
+// token for use. Amazon Web Services CLI or SDKs create session and refresh the
+// session token automatically to avoid service interruptions when a session
+// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// .
+//
+// Encryption Encryption request headers, like x-amz-server-side-encryption ,
+// should not be sent for HEAD requests if your object uses server-side encryption
+// with Key Management Service (KMS) keys (SSE-KMS), dual-layer server-side
+// encryption with Amazon Web Services KMS keys (DSSE-KMS), or server-side
+// encryption with Amazon S3 managed encryption keys (SSE-S3). The
+// x-amz-server-side-encryption header is used when you PUT an object to S3 and
+// want to specify the encryption method. If you include this header in a HEAD
+// request for an object that uses these types of keys, you’ll get an HTTP 400 Bad
+// Request error. It's because the encryption method can't be changed when you
+// retrieve the object. If you encrypt an object by using server-side encryption
+// with customer-provided encryption keys (SSE-C) when you store the object in
+// Amazon S3, then when you retrieve the metadata from the object, you must use the
+// following headers to provide the encryption key for the server to be able to
+// retrieve the object's metadata. The headers are:
// - x-amz-server-side-encryption-customer-algorithm
// - x-amz-server-side-encryption-customer-key
// - x-amz-server-side-encryption-customer-key-MD5
//
// For more information about SSE-C, see Server-Side Encryption (Using
// Customer-Provided Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
-// .
-// - Encryption request headers, like x-amz-server-side-encryption , should not
-// be sent for GET requests if your object uses server-side encryption with Key
-// Management Service (KMS) keys (SSE-KMS), dual-layer server-side encryption with
-// Amazon Web Services KMS keys (DSSE-KMS), or server-side encryption with Amazon
-// S3 managed encryption keys (SSE-S3). If your object does use these types of
-// keys, you’ll get an HTTP 400 Bad Request error.
-// - The last modified property in this case is the creation date of the object.
+// in the Amazon S3 User Guide. Directory bucket permissions - For directory
+// buckets, only server-side encryption with Amazon S3 managed keys (SSE-S3) (
+// AES256 ) is supported. Versioning
//
-// Request headers are limited to 8 KB in size. For more information, see Common
-// Request Headers (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTCommonRequestHeaders.html)
-// . Consider the following when using request headers:
-// - Consideration 1 – If both of the If-Match and If-Unmodified-Since headers
-// are present in the request as follows:
-// - If-Match condition evaluates to true , and;
-// - If-Unmodified-Since condition evaluates to false ; Then Amazon S3 returns
-// 200 OK and the data requested.
-// - Consideration 2 – If both of the If-None-Match and If-Modified-Since headers
-// are present in the request as follows:
-// - If-None-Match condition evaluates to false , and;
-// - If-Modified-Since condition evaluates to true ; Then Amazon S3 returns the
-// 304 Not Modified response code.
+// - If the current version of the object is a delete marker, Amazon S3 behaves
+// as if the object was deleted and includes x-amz-delete-marker: true in the
+// response.
//
-// For more information about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232)
-// . Permissions You need the relevant read object (or version) permission for this
-// operation. For more information, see Actions, resources, and condition keys for
-// Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html) .
-// If the object you request doesn't exist, the error that Amazon S3 returns
-// depends on whether you also have the s3:ListBucket permission.
-// - If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an
-// HTTP status code 404 error.
-// - If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP
-// status code 403 error.
+// - If the specified version is a delete marker, the response returns a 405
+// Method Not Allowed error and the Last-Modified: timestamp response header.
+//
+// - Directory buckets - Delete marker is not supported by directory buckets.
+//
+// - Directory buckets - S3 Versioning isn't enabled and supported for directory
+// buckets. For this API operation, only the null value of the version ID is
+// supported by directory buckets. You can only specify null to the versionId
+// query parameter in the request.
//
-// The following actions are related to HeadObject :
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// Bucket_name.s3express-az_id.region.amazonaws.com . The following actions are
+// related to HeadObject :
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
// - GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)
func (c *Client) HeadObject(ctx context.Context, params *HeadObjectInput, optFns ...func(*Options)) (*HeadObjectOutput, error) {
@@ -92,16 +117,26 @@ func (c *Client) HeadObject(ctx context.Context, params *HeadObjectInput, optFns
type HeadObjectInput struct {
- // The name of the bucket containing the object. When using this action with an
- // access point, you must direct requests to the access point hostname. The access
- // point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // The name of the bucket that contains the object. Directory buckets - When you
+ // use this operation with a directory bucket, you must use virtual-hosted-style
+ // requests in the format Bucket_name.s3express-az_id.region.amazonaws.com .
+ // Path-style requests are not supported. Directory bucket names must be unique in
+ // the chosen Availability Zone. Bucket names must follow the format
+ // bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3
+ // ). For information about bucket naming restrictions, see Directory bucket
+ // naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Access points and Object Lambda access points are
+ // not supported by directory buckets. S3 on Outposts - When you use this action
+ // with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts
+ // hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -122,32 +157,53 @@ type HeadObjectInput struct {
// the kms:Decrypt action for the request to succeed.
ChecksumMode types.ChecksumMode
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Return the object only if its entity tag (ETag) is the same as the one
- // specified; otherwise, return a 412 (precondition failed) error.
+ // specified; otherwise, return a 412 (precondition failed) error. If both of the
+ // If-Match and If-Unmodified-Since headers are present in the request as follows:
+ // - If-Match condition evaluates to true , and;
+ // - If-Unmodified-Since condition evaluates to false ;
+ // Then Amazon S3 returns 200 OK and the data requested. For more information
+ // about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) .
IfMatch *string
// Return the object only if it has been modified since the specified time;
- // otherwise, return a 304 (not modified) error.
+ // otherwise, return a 304 (not modified) error. If both of the If-None-Match and
+ // If-Modified-Since headers are present in the request as follows:
+ // - If-None-Match condition evaluates to false , and;
+ // - If-Modified-Since condition evaluates to true ;
+ // Then Amazon S3 returns the 304 Not Modified response code. For more information
+ // about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) .
IfModifiedSince *time.Time
// Return the object only if its entity tag (ETag) is different from the one
- // specified; otherwise, return a 304 (not modified) error.
+ // specified; otherwise, return a 304 (not modified) error. If both of the
+ // If-None-Match and If-Modified-Since headers are present in the request as
+ // follows:
+ // - If-None-Match condition evaluates to false , and;
+ // - If-Modified-Since condition evaluates to true ;
+ // Then Amazon S3 returns the 304 Not Modified response code. For more information
+ // about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) .
IfNoneMatch *string
// Return the object only if it has not been modified since the specified time;
- // otherwise, return a 412 (precondition failed) error.
+ // otherwise, return a 412 (precondition failed) error. If both of the If-Match
+ // and If-Unmodified-Since headers are present in the request as follows:
+ // - If-Match condition evaluates to true , and;
+ // - If-Unmodified-Since condition evaluates to false ;
+ // Then Amazon S3 returns 200 OK and the data requested. For more information
+ // about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232) .
IfUnmodifiedSince *time.Time
// Part number of the object being read. This is a positive integer between 1 and
// 10,000. Effectively performs a 'ranged' HEAD request for the part specified.
// Useful querying about the size of the part and the number of parts in this
// object.
- PartNumber int32
+ PartNumber *int32
// HeadObject returns only the metadata for an object. If the Range is
// satisfiable, only the ContentLength is affected in the response. If the Range
@@ -156,82 +212,103 @@ type HeadObjectInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
- // Specifies the algorithm to use to when encrypting the object (for example,
- // AES256).
+ // Specifies the algorithm to use when encrypting the object (for example,
+ // AES256). This functionality is not supported for directory buckets.
SSECustomerAlgorithm *string
// Specifies the customer-provided encryption key for Amazon S3 to use in
// encrypting data. This value is used to store the object and then it is
// discarded; Amazon S3 does not store the encryption key. The key must be
// appropriate for use with the algorithm specified in the
- // x-amz-server-side-encryption-customer-algorithm header.
+ // x-amz-server-side-encryption-customer-algorithm header. This functionality is
+ // not supported for directory buckets.
SSECustomerKey *string
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
// Amazon S3 uses this header for a message integrity check to ensure that the
- // encryption key was transmitted without error.
+ // encryption key was transmitted without error. This functionality is not
+ // supported for directory buckets.
SSECustomerKeyMD5 *string
- // VersionId used to reference a specific version of the object.
+ // Version ID used to reference a specific version of the object. For directory
+ // buckets in this API operation, only the null value of the version ID is
+ // supported.
VersionId *string
noSmithyDocumentSerde
}
+func (in *HeadObjectInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.Key = in.Key
+
+}
+
type HeadObjectOutput struct {
// Indicates that a range of bytes was specified.
AcceptRanges *string
- // The archive state of the head object.
+ // The archive state of the head object. This functionality is not supported for
+ // directory buckets.
ArchiveStatus types.ArchiveStatus
// Indicates whether the object uses an S3 Bucket Key for server-side encryption
- // with Key Management Service (KMS) keys (SSE-KMS).
- BucketKeyEnabled bool
+ // with Key Management Service (KMS) keys (SSE-KMS). This functionality is not
+ // supported for directory buckets.
+ BucketKeyEnabled *bool
// Specifies caching behavior along the request/reply chain.
CacheControl *string
// The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32 *string
// The base64-encoded, 32-bit CRC32C checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32C *string
// The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use the API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA1 *string
// The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA256 *string
// Specifies presentational information for the object.
ContentDisposition *string
- // Specifies what content encodings have been applied to the object and thus what
+ // Indicates 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
// Content-Type header field.
ContentEncoding *string
@@ -240,29 +317,31 @@ type HeadObjectOutput struct {
ContentLanguage *string
// Size of the body in bytes.
- ContentLength int64
+ ContentLength *int64
// A standard MIME type describing the format of the object data.
ContentType *string
// Specifies whether the object retrieved was (true) or was not (false) a Delete
- // Marker. If false, this response header does not appear in the response.
- DeleteMarker bool
+ // Marker. If false, this response header does not appear in the response. This
+ // functionality is not supported for directory buckets.
+ DeleteMarker *bool
// An entity tag (ETag) is an opaque identifier assigned by a web server to a
// specific version of a resource found at a URL.
ETag *string
- // If the object expiration is configured (see PUT Bucket lifecycle), the response
- // includes this header. It includes the expiry-date and rule-id key-value pairs
- // providing object expiration information. The value of the rule-id is
- // URL-encoded.
+ // If the object expiration is configured (see PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html)
+ // ), the response includes this header. It includes the expiry-date and rule-id
+ // key-value pairs providing object expiration information. The value of the
+ // rule-id is URL-encoded. This functionality is not supported for directory
+ // buckets.
Expiration *string
// The date and time at which the object is no longer cacheable.
Expires *time.Time
- // Creation date of the object.
+ // Date and time when the object was last modified.
LastModified *time.Time
// A map of metadata to store with the object in S3.
@@ -273,29 +352,31 @@ type HeadObjectOutput struct {
// This is set to the number of metadata entries not returned in x-amz-meta
// headers. This can happen if you create metadata using an API like SOAP that
// supports more flexible metadata than the REST API. For example, using SOAP, you
- // can create metadata whose values are not legal HTTP headers.
- MissingMeta int32
+ // can create metadata whose values are not legal HTTP headers. This functionality
+ // is not supported for directory buckets.
+ MissingMeta *int32
// Specifies whether a legal hold is in effect for this object. This header is
// only returned if the requester has the s3:GetObjectLegalHold permission. This
// header is not returned if the specified version of this object has never had a
// legal hold applied. For more information about S3 Object Lock, see Object Lock (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html)
- // .
+ // . This functionality is not supported for directory buckets.
ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus
// The Object Lock mode, if any, that's in effect for this object. This header is
// only returned if the requester has the s3:GetObjectRetention permission. For
// more information about S3 Object Lock, see Object Lock (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html)
- // .
+ // . This functionality is not supported for directory buckets.
ObjectLockMode types.ObjectLockMode
// The date and time when the Object Lock retention period expires. This header is
- // only returned if the requester has the s3:GetObjectRetention permission.
+ // only returned if the requester has the s3:GetObjectRetention permission. This
+ // functionality is not supported for directory buckets.
ObjectLockRetainUntilDate *time.Time
// The count of parts this object has. This value is only returned if you specify
// partNumber in your request and the object was uploaded as a multipart upload.
- PartsCount int32
+ PartsCount *int32
// Amazon S3 can return this header if your request involves a bucket that is
// either a source or a destination in a replication rule. In replication, you have
@@ -323,11 +404,11 @@ type HeadObjectOutput struct {
// completed for all destinations. If one or more destinations fails replication
// the header will return FAILED.
// For more information, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
- // .
+ // . This functionality is not supported for directory buckets.
ReplicationStatus types.ReplicationStatus
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// If the object is an archived object (an object whose storage class is GLACIER),
@@ -339,39 +420,48 @@ type HeadObjectOutput struct {
// Dec 2012 00:00:00 GMT" If the object restoration is in progress, the header
// returns the value ongoing-request="true" . For more information about archiving
// objects, see Transitioning Objects: General Considerations (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html#lifecycle-transition-general-considerations)
- // .
+ // . This functionality is not supported for directory buckets. Only the S3 Express
+ // One Zone storage class is supported by directory buckets to store objects.
Restore *string
// If server-side encryption with a customer-provided encryption key was
- // requested, the response will include this header confirming the encryption
- // algorithm used.
+ // requested, the response will include this header to confirm the encryption
+ // algorithm that's used. This functionality is not supported for directory
+ // buckets.
SSECustomerAlgorithm *string
// If server-side encryption with a customer-provided encryption key was
- // requested, the response will include this header to provide round-trip message
- // integrity verification of the customer-provided encryption key.
+ // requested, the response will include this header to provide the round-trip
+ // message integrity verification of the customer-provided encryption key. This
+ // functionality is not supported for directory buckets.
SSECustomerKeyMD5 *string
- // If present, specifies the ID of the Key Management Service (KMS) symmetric
- // encryption customer managed key that was used for the object.
+ // If present, indicates the ID of the Key Management Service (KMS) symmetric
+ // encryption customer managed key that was used for the object. This functionality
+ // is not supported for directory buckets.
SSEKMSKeyId *string
- // The server-side encryption algorithm used when storing this object in Amazon S3
- // (for example, AES256 , aws:kms , aws:kms:dsse ).
+ // The server-side encryption algorithm used when you store this object in Amazon
+ // S3 (for example, AES256 , aws:kms , aws:kms:dsse ). For directory buckets, only
+ // server-side encryption with Amazon S3 managed keys (SSE-S3) ( AES256 ) is
+ // supported.
ServerSideEncryption types.ServerSideEncryption
// Provides storage class information of the object. Amazon S3 returns this header
// for all objects except for S3 Standard storage class objects. For more
// information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
- // .
+ // . Directory buckets - Only the S3 Express One Zone storage class is supported by
+ // directory buckets to store objects.
StorageClass types.StorageClass
- // Version of the object.
+ // Version ID of the object. This functionality is not supported for directory
+ // buckets.
VersionId *string
// 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
- // value of this header in the object metadata.
+ // value of this header in the object metadata. This functionality is not supported
+ // for directory buckets.
WebsiteRedirectLocation *string
// Metadata pertaining to the operation's result.
@@ -381,6 +471,9 @@ type HeadObjectOutput struct {
}
func (c *Client) addOperationHeadObjectMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpHeadObject{}, middleware.After)
if err != nil {
return err
@@ -389,6 +482,10 @@ func (c *Client) addOperationHeadObjectMiddlewares(stack *middleware.Stack, opti
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "HeadObject"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -410,9 +507,6 @@ func (c *Client) addOperationHeadObjectMiddlewares(stack *middleware.Stack, opti
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -428,10 +522,10 @@ func (c *Client) addOperationHeadObjectMiddlewares(stack *middleware.Stack, opti
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addHeadObjectResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpHeadObjectValidationMiddleware(stack); err != nil {
@@ -461,7 +555,7 @@ func (c *Client) addOperationHeadObjectMiddlewares(stack *middleware.Stack, opti
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -791,7 +885,6 @@ func newServiceMetadataMiddleware_opHeadObject(region string) *awsmiddleware.Reg
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "HeadObject",
}
}
@@ -852,139 +945,3 @@ func addHeadObjectPayloadAsUnsigned(stack *middleware.Stack, options Options) er
v4.RemoveComputePayloadSHA256Middleware(stack)
return v4.AddUnsignedPayloadMiddleware(stack)
}
-
-type opHeadObjectResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opHeadObjectResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opHeadObjectResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*HeadObjectInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addHeadObjectResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opHeadObjectResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketAnalyticsConfigurations.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketAnalyticsConfigurations.go
index 99ad3827..6ecf8458 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketAnalyticsConfigurations.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketAnalyticsConfigurations.go
@@ -4,29 +4,26 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Lists the analytics configurations for the bucket. You can have up to 1,000
-// analytics configurations per bucket. This action supports list pagination and
-// does not return more than 100 configurations at a time. You should always check
-// the IsTruncated element in the response. If there are no more configurations to
-// list, IsTruncated is set to false. If there are more configurations to list,
-// IsTruncated is set to true, and there will be a value in NextContinuationToken .
-// You use the NextContinuationToken value to continue the pagination of the list
-// by passing the value in continuation-token in the request to GET the next page.
-// To use this operation, you must have permissions to perform the
+// This operation is not supported by directory buckets. Lists the analytics
+// configurations for the bucket. You can have up to 1,000 analytics configurations
+// per bucket. This action supports list pagination and does not return more than
+// 100 configurations at a time. You should always check the IsTruncated element
+// in the response. If there are no more configurations to list, IsTruncated is
+// set to false. If there are more configurations to list, IsTruncated is set to
+// true, and there will be a value in NextContinuationToken . You use the
+// NextContinuationToken value to continue the pagination of the list by passing
+// the value in continuation-token in the request to GET the next page. To use
+// this operation, you must have permissions to perform the
// s3:GetAnalyticsConfiguration action. The bucket owner has this permission by
// default. The bucket owner can grant this permission to others. For more
// information about permissions, see Permissions Related to Bucket Subresource
@@ -64,14 +61,19 @@ type ListBucketAnalyticsConfigurationsInput struct {
// should begin.
ContinuationToken *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *ListBucketAnalyticsConfigurationsInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type ListBucketAnalyticsConfigurationsOutput struct {
// The list of analytics configurations for a bucket.
@@ -84,7 +86,7 @@ type ListBucketAnalyticsConfigurationsOutput struct {
// Indicates whether the returned list of analytics configurations is complete. A
// value of true indicates that the list is not complete and the
// NextContinuationToken will be provided for a subsequent request.
- IsTruncated bool
+ IsTruncated *bool
// NextContinuationToken is sent when isTruncated is true, which indicates that
// there are more analytics configurations to list. The next request must include
@@ -98,6 +100,9 @@ type ListBucketAnalyticsConfigurationsOutput struct {
}
func (c *Client) addOperationListBucketAnalyticsConfigurationsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpListBucketAnalyticsConfigurations{}, middleware.After)
if err != nil {
return err
@@ -106,6 +111,10 @@ func (c *Client) addOperationListBucketAnalyticsConfigurationsMiddlewares(stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "ListBucketAnalyticsConfigurations"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -127,9 +136,6 @@ func (c *Client) addOperationListBucketAnalyticsConfigurationsMiddlewares(stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -145,10 +151,10 @@ func (c *Client) addOperationListBucketAnalyticsConfigurationsMiddlewares(stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addListBucketAnalyticsConfigurationsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpListBucketAnalyticsConfigurationsValidationMiddleware(stack); err != nil {
@@ -178,7 +184,7 @@ func (c *Client) addOperationListBucketAnalyticsConfigurationsMiddlewares(stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -198,7 +204,6 @@ func newServiceMetadataMiddleware_opListBucketAnalyticsConfigurations(region str
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "ListBucketAnalyticsConfigurations",
}
}
@@ -228,139 +233,3 @@ func addListBucketAnalyticsConfigurationsUpdateEndpoint(stack *middleware.Stack,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opListBucketAnalyticsConfigurationsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opListBucketAnalyticsConfigurationsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opListBucketAnalyticsConfigurationsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*ListBucketAnalyticsConfigurationsInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addListBucketAnalyticsConfigurationsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opListBucketAnalyticsConfigurationsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketIntelligentTieringConfigurations.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketIntelligentTieringConfigurations.go
index 74eff196..de4a2079 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketIntelligentTieringConfigurations.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketIntelligentTieringConfigurations.go
@@ -4,22 +4,19 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Lists the S3 Intelligent-Tiering configuration from the specified bucket. The
-// S3 Intelligent-Tiering storage class is designed to optimize storage costs by
+// This operation is not supported by directory buckets. Lists the S3
+// Intelligent-Tiering configuration from the specified bucket. The S3
+// Intelligent-Tiering storage class is designed to optimize storage costs by
// automatically moving data to the most cost-effective storage access tier,
// without performance impact or operational overhead. S3 Intelligent-Tiering
// delivers automatic cost savings in three low latency and high throughput access
@@ -66,6 +63,11 @@ type ListBucketIntelligentTieringConfigurationsInput struct {
noSmithyDocumentSerde
}
+func (in *ListBucketIntelligentTieringConfigurationsInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type ListBucketIntelligentTieringConfigurationsOutput struct {
// The ContinuationToken that represents a placeholder from where this request
@@ -78,7 +80,7 @@ type ListBucketIntelligentTieringConfigurationsOutput struct {
// Indicates whether the returned list of analytics configurations is complete. A
// value of true indicates that the list is not complete and the
// NextContinuationToken will be provided for a subsequent request.
- IsTruncated bool
+ IsTruncated *bool
// The marker used to continue this inventory configuration listing. Use the
// NextContinuationToken from this response to continue the listing in a subsequent
@@ -92,6 +94,9 @@ type ListBucketIntelligentTieringConfigurationsOutput struct {
}
func (c *Client) addOperationListBucketIntelligentTieringConfigurationsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpListBucketIntelligentTieringConfigurations{}, middleware.After)
if err != nil {
return err
@@ -100,6 +105,10 @@ func (c *Client) addOperationListBucketIntelligentTieringConfigurationsMiddlewar
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "ListBucketIntelligentTieringConfigurations"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -121,9 +130,6 @@ func (c *Client) addOperationListBucketIntelligentTieringConfigurationsMiddlewar
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -139,10 +145,10 @@ func (c *Client) addOperationListBucketIntelligentTieringConfigurationsMiddlewar
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addListBucketIntelligentTieringConfigurationsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpListBucketIntelligentTieringConfigurationsValidationMiddleware(stack); err != nil {
@@ -172,7 +178,7 @@ func (c *Client) addOperationListBucketIntelligentTieringConfigurationsMiddlewar
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -192,7 +198,6 @@ func newServiceMetadataMiddleware_opListBucketIntelligentTieringConfigurations(r
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "ListBucketIntelligentTieringConfigurations",
}
}
@@ -222,139 +227,3 @@ func addListBucketIntelligentTieringConfigurationsUpdateEndpoint(stack *middlewa
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opListBucketIntelligentTieringConfigurationsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opListBucketIntelligentTieringConfigurationsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opListBucketIntelligentTieringConfigurationsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*ListBucketIntelligentTieringConfigurationsInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addListBucketIntelligentTieringConfigurationsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opListBucketIntelligentTieringConfigurationsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketInventoryConfigurations.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketInventoryConfigurations.go
index fd2cf048..881f7d92 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketInventoryConfigurations.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketInventoryConfigurations.go
@@ -4,25 +4,22 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns a list of inventory configurations for the bucket. You can have up to
-// 1,000 analytics configurations per bucket. This action supports list pagination
-// and does not return more than 100 configurations at a time. Always check the
-// IsTruncated element in the response. If there are no more configurations to
-// list, IsTruncated is set to false. If there are more configurations to list,
+// This operation is not supported by directory buckets. Returns a list of
+// inventory configurations for the bucket. You can have up to 1,000 analytics
+// configurations per bucket. This action supports list pagination and does not
+// return more than 100 configurations at a time. Always check the IsTruncated
+// element in the response. If there are no more configurations to list,
+// IsTruncated is set to false. If there are more configurations to list,
// IsTruncated is set to true, and there is a value in NextContinuationToken . You
// use the NextContinuationToken value to continue the pagination of the list by
// passing the value in continuation-token in the request to GET the next page. To
@@ -65,14 +62,19 @@ type ListBucketInventoryConfigurationsInput struct {
// Amazon S3 understands.
ContinuationToken *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *ListBucketInventoryConfigurationsInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type ListBucketInventoryConfigurationsOutput struct {
// If sent in the request, the marker that is used as a starting point for this
@@ -85,7 +87,7 @@ type ListBucketInventoryConfigurationsOutput struct {
// Tells whether the returned list of inventory configurations is complete. A
// value of true indicates that the list is not complete and the
// NextContinuationToken is provided for a subsequent request.
- IsTruncated bool
+ IsTruncated *bool
// The marker used to continue this inventory configuration listing. Use the
// NextContinuationToken from this response to continue the listing in a subsequent
@@ -99,6 +101,9 @@ type ListBucketInventoryConfigurationsOutput struct {
}
func (c *Client) addOperationListBucketInventoryConfigurationsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpListBucketInventoryConfigurations{}, middleware.After)
if err != nil {
return err
@@ -107,6 +112,10 @@ func (c *Client) addOperationListBucketInventoryConfigurationsMiddlewares(stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "ListBucketInventoryConfigurations"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -128,9 +137,6 @@ func (c *Client) addOperationListBucketInventoryConfigurationsMiddlewares(stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -146,10 +152,10 @@ func (c *Client) addOperationListBucketInventoryConfigurationsMiddlewares(stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addListBucketInventoryConfigurationsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpListBucketInventoryConfigurationsValidationMiddleware(stack); err != nil {
@@ -179,7 +185,7 @@ func (c *Client) addOperationListBucketInventoryConfigurationsMiddlewares(stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -199,7 +205,6 @@ func newServiceMetadataMiddleware_opListBucketInventoryConfigurations(region str
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "ListBucketInventoryConfigurations",
}
}
@@ -229,139 +234,3 @@ func addListBucketInventoryConfigurationsUpdateEndpoint(stack *middleware.Stack,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opListBucketInventoryConfigurationsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opListBucketInventoryConfigurationsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opListBucketInventoryConfigurationsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*ListBucketInventoryConfigurationsInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addListBucketInventoryConfigurationsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opListBucketInventoryConfigurationsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketMetricsConfigurations.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketMetricsConfigurations.go
index 45e145e8..fc2cf728 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketMetricsConfigurations.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBucketMetricsConfigurations.go
@@ -4,26 +4,22 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Lists the metrics configurations for the bucket. The metrics configurations are
-// only for the request metrics of the bucket and do not provide information on
-// daily storage metrics. You can have up to 1,000 configurations per bucket. This
-// action supports list pagination and does not return more than 100 configurations
-// at a time. Always check the IsTruncated element in the response. If there are
-// no more configurations to list, IsTruncated is set to false. If there are more
+// This operation is not supported by directory buckets. Lists the metrics
+// configurations for the bucket. The metrics configurations are only for the
+// request metrics of the bucket and do not provide information on daily storage
+// metrics. You can have up to 1,000 configurations per bucket. This action
+// supports list pagination and does not return more than 100 configurations at a
+// time. Always check the IsTruncated element in the response. If there are no
+// more configurations to list, IsTruncated is set to false. If there are more
// configurations to list, IsTruncated is set to true, and there is a value in
// NextContinuationToken . You use the NextContinuationToken value to continue the
// pagination of the list by passing the value in continuation-token in the
@@ -67,14 +63,19 @@ type ListBucketMetricsConfigurationsInput struct {
// Amazon S3 understands.
ContinuationToken *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *ListBucketMetricsConfigurationsInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type ListBucketMetricsConfigurationsOutput struct {
// The marker that is used as a starting point for this metrics configuration list
@@ -84,7 +85,7 @@ type ListBucketMetricsConfigurationsOutput struct {
// Indicates whether the returned list of metrics configurations is complete. A
// value of true indicates that the list is not complete and the
// NextContinuationToken will be provided for a subsequent request.
- IsTruncated bool
+ IsTruncated *bool
// The list of metrics configurations for a bucket.
MetricsConfigurationList []types.MetricsConfiguration
@@ -102,6 +103,9 @@ type ListBucketMetricsConfigurationsOutput struct {
}
func (c *Client) addOperationListBucketMetricsConfigurationsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpListBucketMetricsConfigurations{}, middleware.After)
if err != nil {
return err
@@ -110,6 +114,10 @@ func (c *Client) addOperationListBucketMetricsConfigurationsMiddlewares(stack *m
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "ListBucketMetricsConfigurations"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -131,9 +139,6 @@ func (c *Client) addOperationListBucketMetricsConfigurationsMiddlewares(stack *m
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -149,10 +154,10 @@ func (c *Client) addOperationListBucketMetricsConfigurationsMiddlewares(stack *m
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addListBucketMetricsConfigurationsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpListBucketMetricsConfigurationsValidationMiddleware(stack); err != nil {
@@ -182,7 +187,7 @@ func (c *Client) addOperationListBucketMetricsConfigurationsMiddlewares(stack *m
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -202,7 +207,6 @@ func newServiceMetadataMiddleware_opListBucketMetricsConfigurations(region strin
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "ListBucketMetricsConfigurations",
}
}
@@ -232,139 +236,3 @@ func addListBucketMetricsConfigurationsUpdateEndpoint(stack *middleware.Stack, o
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opListBucketMetricsConfigurationsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opListBucketMetricsConfigurationsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opListBucketMetricsConfigurationsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*ListBucketMetricsConfigurationsInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addListBucketMetricsConfigurationsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opListBucketMetricsConfigurationsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBuckets.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBuckets.go
index 37240226..a6189288 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBuckets.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListBuckets.go
@@ -4,24 +4,19 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// 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. 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)
+// This operation is not supported by directory buckets. 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. 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) {
if params == nil {
@@ -57,6 +52,9 @@ type ListBucketsOutput struct {
}
func (c *Client) addOperationListBucketsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpListBuckets{}, middleware.After)
if err != nil {
return err
@@ -65,6 +63,10 @@ func (c *Client) addOperationListBucketsMiddlewares(stack *middleware.Stack, opt
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "ListBuckets"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -86,9 +88,6 @@ func (c *Client) addOperationListBucketsMiddlewares(stack *middleware.Stack, opt
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -104,10 +103,10 @@ func (c *Client) addOperationListBucketsMiddlewares(stack *middleware.Stack, opt
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addListBucketsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListBuckets(options.Region), middleware.Before); err != nil {
@@ -134,7 +133,7 @@ func (c *Client) addOperationListBucketsMiddlewares(stack *middleware.Stack, opt
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -147,7 +146,6 @@ func newServiceMetadataMiddleware_opListBuckets(region string) *awsmiddleware.Re
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "ListBuckets",
}
}
@@ -167,132 +165,3 @@ func addListBucketsUpdateEndpoint(stack *middleware.Stack, options Options) erro
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opListBucketsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opListBucketsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opListBucketsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addListBucketsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opListBucketsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListDirectoryBuckets.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListDirectoryBuckets.go
new file mode 100644
index 00000000..373531ab
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListDirectoryBuckets.go
@@ -0,0 +1,291 @@
+// Code generated by smithy-go-codegen DO NOT EDIT.
+
+package s3
+
+import (
+ "context"
+ "fmt"
+ awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
+ "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
+ s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
+ "github.com/aws/aws-sdk-go-v2/service/s3/types"
+ "github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+)
+
+// Returns a list of all Amazon S3 directory buckets owned by the authenticated
+// sender of the request. For more information about directory buckets, see
+// Directory buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html)
+// in the Amazon S3 User Guide. Directory buckets - For directory buckets, you must
+// make requests for this API operation to the Regional endpoint. These endpoints
+// support path-style requests in the format
+// https://s3express-control.region_code.amazonaws.com/bucket-name .
+// Virtual-hosted-style requests aren't supported. For more information, see
+// Regional and Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Permissions You must have the
+// s3express:ListAllMyDirectoryBuckets permission in an IAM identity-based policy
+// instead of a bucket policy. Cross-account access to this API operation isn't
+// supported. This operation can only be performed by the Amazon Web Services
+// account that owns the resource. For more information about directory bucket
+// policies and permissions, see Amazon Web Services Identity and Access
+// Management (IAM) for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html)
+// in the Amazon S3 User Guide. HTTP Host header syntax Directory buckets - The
+// HTTP Host header syntax is s3express-control.region.amazonaws.com .
+func (c *Client) ListDirectoryBuckets(ctx context.Context, params *ListDirectoryBucketsInput, optFns ...func(*Options)) (*ListDirectoryBucketsOutput, error) {
+ if params == nil {
+ params = &ListDirectoryBucketsInput{}
+ }
+
+ result, metadata, err := c.invokeOperation(ctx, "ListDirectoryBuckets", params, optFns, c.addOperationListDirectoryBucketsMiddlewares)
+ if err != nil {
+ return nil, err
+ }
+
+ out := result.(*ListDirectoryBucketsOutput)
+ out.ResultMetadata = metadata
+ return out, nil
+}
+
+type ListDirectoryBucketsInput struct {
+
+ // ContinuationToken indicates to Amazon S3 that the list is being continued on
+ // this bucket with a token. ContinuationToken is obfuscated and is not a real
+ // key. You can use this ContinuationToken for pagination of the list results.
+ ContinuationToken *string
+
+ // Maximum number of buckets to be returned in response. When the number is more
+ // than the count of buckets that are owned by an Amazon Web Services account,
+ // return all the buckets in response.
+ MaxDirectoryBuckets *int32
+
+ noSmithyDocumentSerde
+}
+
+func (in *ListDirectoryBucketsInput) bindEndpointParams(p *EndpointParameters) {
+
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
+type ListDirectoryBucketsOutput struct {
+
+ // The list of buckets owned by the requester.
+ Buckets []types.Bucket
+
+ // If ContinuationToken was sent with the request, it is included in the response.
+ // You can use the returned ContinuationToken for pagination of the list response.
+ ContinuationToken *string
+
+ // Metadata pertaining to the operation's result.
+ ResultMetadata middleware.Metadata
+
+ noSmithyDocumentSerde
+}
+
+func (c *Client) addOperationListDirectoryBucketsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
+ err = stack.Serialize.Add(&awsRestxml_serializeOpListDirectoryBuckets{}, middleware.After)
+ if err != nil {
+ return err
+ }
+ err = stack.Deserialize.Add(&awsRestxml_deserializeOpListDirectoryBuckets{}, middleware.After)
+ if err != nil {
+ return err
+ }
+ if err := addProtocolFinalizerMiddlewares(stack, options, "ListDirectoryBuckets"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
+ if err = addlegacyEndpointContextSetter(stack, options); err != nil {
+ return err
+ }
+ if err = addSetLoggerMiddleware(stack, options); err != nil {
+ return err
+ }
+ if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
+ return err
+ }
+ if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
+ return err
+ }
+ if err = addResolveEndpointMiddleware(stack, options); err != nil {
+ return err
+ }
+ if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
+ return err
+ }
+ if err = addRetryMiddlewares(stack, options); err != nil {
+ return err
+ }
+ if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
+ return err
+ }
+ if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
+ return err
+ }
+ if err = addClientUserAgent(stack, options); err != nil {
+ return err
+ }
+ if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
+ return err
+ }
+ if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
+ return err
+ }
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
+ return err
+ }
+ if err = addPutBucketContextMiddleware(stack); err != nil {
+ return err
+ }
+ if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListDirectoryBuckets(options.Region), middleware.Before); err != nil {
+ return err
+ }
+ if err = addMetadataRetrieverMiddleware(stack); err != nil {
+ return err
+ }
+ if err = awsmiddleware.AddRecursionDetection(stack); err != nil {
+ return err
+ }
+ if err = addListDirectoryBucketsUpdateEndpoint(stack, options); err != nil {
+ return err
+ }
+ if err = addResponseErrorMiddleware(stack); err != nil {
+ return err
+ }
+ if err = v4.AddContentSHA256HeaderMiddleware(stack); err != nil {
+ return err
+ }
+ if err = disableAcceptEncodingGzip(stack); err != nil {
+ return err
+ }
+ if err = addRequestResponseLogging(stack, options); err != nil {
+ return err
+ }
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
+ return err
+ }
+ if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
+ return err
+ }
+ return nil
+}
+
+// ListDirectoryBucketsAPIClient is a client that implements the
+// ListDirectoryBuckets operation.
+type ListDirectoryBucketsAPIClient interface {
+ ListDirectoryBuckets(context.Context, *ListDirectoryBucketsInput, ...func(*Options)) (*ListDirectoryBucketsOutput, error)
+}
+
+var _ ListDirectoryBucketsAPIClient = (*Client)(nil)
+
+// ListDirectoryBucketsPaginatorOptions is the paginator options for
+// ListDirectoryBuckets
+type ListDirectoryBucketsPaginatorOptions struct {
+ // Maximum number of buckets to be returned in response. When the number is more
+ // than the count of buckets that are owned by an Amazon Web Services account,
+ // return all the buckets in response.
+ Limit int32
+
+ // Set to true if pagination should stop if the service returns a pagination token
+ // that matches the most recent token provided to the service.
+ StopOnDuplicateToken bool
+}
+
+// ListDirectoryBucketsPaginator is a paginator for ListDirectoryBuckets
+type ListDirectoryBucketsPaginator struct {
+ options ListDirectoryBucketsPaginatorOptions
+ client ListDirectoryBucketsAPIClient
+ params *ListDirectoryBucketsInput
+ nextToken *string
+ firstPage bool
+}
+
+// NewListDirectoryBucketsPaginator returns a new ListDirectoryBucketsPaginator
+func NewListDirectoryBucketsPaginator(client ListDirectoryBucketsAPIClient, params *ListDirectoryBucketsInput, optFns ...func(*ListDirectoryBucketsPaginatorOptions)) *ListDirectoryBucketsPaginator {
+ if params == nil {
+ params = &ListDirectoryBucketsInput{}
+ }
+
+ options := ListDirectoryBucketsPaginatorOptions{}
+ if params.MaxDirectoryBuckets != nil {
+ options.Limit = *params.MaxDirectoryBuckets
+ }
+
+ for _, fn := range optFns {
+ fn(&options)
+ }
+
+ return &ListDirectoryBucketsPaginator{
+ options: options,
+ client: client,
+ params: params,
+ firstPage: true,
+ nextToken: params.ContinuationToken,
+ }
+}
+
+// HasMorePages returns a boolean indicating whether more pages are available
+func (p *ListDirectoryBucketsPaginator) HasMorePages() bool {
+ return p.firstPage || (p.nextToken != nil && len(*p.nextToken) != 0)
+}
+
+// NextPage retrieves the next ListDirectoryBuckets page.
+func (p *ListDirectoryBucketsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListDirectoryBucketsOutput, error) {
+ if !p.HasMorePages() {
+ return nil, fmt.Errorf("no more pages available")
+ }
+
+ params := *p.params
+ params.ContinuationToken = p.nextToken
+
+ var limit *int32
+ if p.options.Limit > 0 {
+ limit = &p.options.Limit
+ }
+ params.MaxDirectoryBuckets = limit
+
+ result, err := p.client.ListDirectoryBuckets(ctx, ¶ms, optFns...)
+ if err != nil {
+ return nil, err
+ }
+ p.firstPage = false
+
+ prevToken := p.nextToken
+ p.nextToken = result.ContinuationToken
+
+ if p.options.StopOnDuplicateToken &&
+ prevToken != nil &&
+ p.nextToken != nil &&
+ *prevToken == *p.nextToken {
+ p.nextToken = nil
+ }
+
+ return result, nil
+}
+
+func newServiceMetadataMiddleware_opListDirectoryBuckets(region string) *awsmiddleware.RegisterServiceMetadata {
+ return &awsmiddleware.RegisterServiceMetadata{
+ Region: region,
+ ServiceID: ServiceID,
+ OperationName: "ListDirectoryBuckets",
+ }
+}
+
+func addListDirectoryBucketsUpdateEndpoint(stack *middleware.Stack, options Options) error {
+ return s3cust.UpdateEndpoint(stack, s3cust.UpdateEndpointOptions{
+ Accessor: s3cust.UpdateEndpointParameterAccessor{
+ GetBucketFromInput: nopGetBucketAccessor,
+ },
+ UsePathStyle: options.UsePathStyle,
+ UseAccelerate: options.UseAccelerate,
+ SupportsAccelerate: true,
+ TargetS3ObjectLambda: false,
+ EndpointResolver: options.EndpointResolver,
+ EndpointResolverOptions: options.EndpointOptions,
+ UseARNRegion: options.UseARNRegion,
+ DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
+ })
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListMultipartUploads.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListMultipartUploads.go
index 4749ad10..3e6853e6 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListMultipartUploads.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListMultipartUploads.go
@@ -4,38 +4,75 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// This action lists in-progress multipart uploads. An in-progress multipart
-// upload is a multipart upload that has been initiated using the Initiate
-// Multipart Upload request, but has not yet been completed or aborted. This action
-// returns at most 1,000 multipart uploads in the response. 1,000 multipart uploads
-// is the maximum number of uploads a response can include, which is also the
-// default value. You can further limit the number of uploads in a response by
-// specifying the max-uploads parameter in the response. If additional multipart
-// uploads satisfy the list criteria, the response will contain an IsTruncated
-// element with the value true. To list the additional multipart uploads, use the
-// key-marker and upload-id-marker request parameters. In the response, the
-// uploads are sorted by key. If your application has initiated more than one
-// multipart upload using the same object key, then uploads in the response are
-// first sorted by key. Additionally, uploads are sorted in ascending order within
-// each key by the upload initiation time. For more information on multipart
-// uploads, see Uploading Objects Using Multipart Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html)
-// . For information on permissions required to use the multipart upload API, see
-// Multipart Upload and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
-// . The following operations are related to ListMultipartUploads :
+// This operation lists in-progress multipart uploads in a bucket. An in-progress
+// multipart upload is a multipart upload that has been initiated by the
+// CreateMultipartUpload request, but has not yet been completed or aborted.
+// Directory buckets - If multipart uploads in a directory bucket are in progress,
+// you can't delete the bucket until all the in-progress multipart uploads are
+// aborted or completed. The ListMultipartUploads operation returns a maximum of
+// 1,000 multipart uploads in the response. The limit of 1,000 multipart uploads is
+// also the default value. You can further limit the number of uploads in a
+// response by specifying the max-uploads request parameter. If there are more
+// than 1,000 multipart uploads that satisfy your ListMultipartUploads request,
+// the response returns an IsTruncated element with the value of true , a
+// NextKeyMarker element, and a NextUploadIdMarker element. To list the remaining
+// multipart uploads, you need to make subsequent ListMultipartUploads requests.
+// In these requests, include two query parameters: key-marker and upload-id-marker
+// . Set the value of key-marker to the NextKeyMarker value from the previous
+// response. Similarly, set the value of upload-id-marker to the NextUploadIdMarker
+// value from the previous response. Directory buckets - The upload-id-marker
+// element and the NextUploadIdMarker element aren't supported by directory
+// buckets. To list the additional multipart uploads, you only need to set the
+// value of key-marker to the NextKeyMarker value from the previous response. For
+// more information about multipart uploads, see Uploading Objects Using Multipart
+// Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html)
+// in the Amazon S3 User Guide. Directory buckets - For directory buckets, you must
+// make requests for this API operation to the Zonal endpoint. These endpoints
+// support virtual-hosted-style requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style
+// requests are not supported. For more information, see Regional and Zonal
+// endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Permissions
+// - General purpose bucket permissions - For information about permissions
+// required to use the multipart upload API, see Multipart Upload and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
+// in the Amazon S3 User Guide.
+// - Directory bucket permissions - To grant access to this API operation on a
+// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// API operation for session-based authorization. Specifically, you grant the
+// s3express:CreateSession permission to the directory bucket in a bucket policy
+// or an IAM identity-based policy. Then, you make the CreateSession API call on
+// the bucket to obtain a session token. With the session token in your request
+// header, you can make API requests to this operation. After the session token
+// expires, you make another CreateSession API call to generate a new session
+// token for use. Amazon Web Services CLI or SDKs create session and refresh the
+// session token automatically to avoid service interruptions when a session
+// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// .
+//
+// Sorting of multipart uploads in response
+// - General purpose bucket - In the ListMultipartUploads response, the multipart
+// uploads are sorted based on two criteria:
+// - Key-based sorting - Multipart uploads are initially sorted in ascending
+// order based on their object keys.
+// - Time-based sorting - For uploads that share the same object key, they are
+// further sorted in ascending order based on the upload initiation time. Among
+// uploads with the same key, the one that was initiated first will appear before
+// the ones that were initiated later.
+// - Directory bucket - In the ListMultipartUploads response, the multipart
+// uploads aren't sorted lexicographically based on the object keys.
+//
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// Bucket_name.s3express-az_id.region.amazonaws.com . The following operations are
+// related to ListMultipartUploads :
// - CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
// - UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
// - CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
@@ -58,16 +95,26 @@ func (c *Client) ListMultipartUploads(ctx context.Context, params *ListMultipart
type ListMultipartUploadsInput struct {
- // The name of the bucket to which the multipart upload was initiated. When using
- // this action with an access point, you must direct requests to the access point
- // hostname. The access point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // The name of the bucket to which the multipart upload was initiated. Directory
+ // buckets - When you use this operation with a directory bucket, you must use
+ // virtual-hosted-style requests in the format
+ // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
+ // supported. Directory bucket names must be unique in the chosen Availability
+ // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
+ // example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 ). For information about bucket
+ // naming restrictions, see Directory bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Access points and Object Lambda access points are
+ // not supported by directory buckets. S3 on Outposts - When you use this action
+ // with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts
+ // hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -82,7 +129,8 @@ type ListMultipartUploadsInput struct {
// prefix are grouped under a single result element, CommonPrefixes . If you don't
// specify the prefix parameter, then the substring starts at the beginning of the
// key. The keys that are grouped under CommonPrefixes result element are not
- // returned elsewhere in the response.
+ // returned elsewhere in the response. Directory buckets - For directory buckets, /
+ // is the only supported delimiter.
Delimiter *string
// Requests Amazon S3 to encode the object keys in the response and specifies the
@@ -93,50 +141,67 @@ type ListMultipartUploadsInput struct {
// response.
EncodingType types.EncodingType
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
- // Together with upload-id-marker , this parameter specifies the multipart upload
- // after which listing should begin. If upload-id-marker is not specified, only
- // the keys lexicographically greater than the specified key-marker will be
- // included in the list. If upload-id-marker is specified, any multipart uploads
- // for a key equal to the key-marker might also be included, provided those
- // multipart uploads have upload IDs lexicographically greater than the specified
- // upload-id-marker .
+ // Specifies the multipart upload after which listing should begin.
+ // - General purpose buckets - For general purpose buckets, key-marker is an
+ // object key. Together with upload-id-marker , this parameter specifies the
+ // multipart upload after which listing should begin. If upload-id-marker is not
+ // specified, only the keys lexicographically greater than the specified
+ // key-marker will be included in the list. If upload-id-marker is specified, any
+ // multipart uploads for a key equal to the key-marker might also be included,
+ // provided those multipart uploads have upload IDs lexicographically greater than
+ // the specified upload-id-marker .
+ // - Directory buckets - For directory buckets, key-marker is obfuscated and
+ // isn't a real object key. The upload-id-marker parameter isn't supported by
+ // directory buckets. To list the additional multipart uploads, you only need to
+ // set the value of key-marker to the NextKeyMarker value from the previous
+ // response. In the ListMultipartUploads response, the multipart uploads aren't
+ // sorted lexicographically based on the object keys.
KeyMarker *string
// Sets the maximum number of multipart uploads, from 1 to 1,000, to return in the
// response body. 1,000 is the maximum number of uploads that can be returned in a
// response.
- MaxUploads int32
+ MaxUploads *int32
// Lists in-progress uploads only for those keys that begin with the specified
// prefix. You can use prefixes to separate a bucket into different grouping of
// keys. (You can think of using prefix to make groups in the same way that you'd
- // use a folder in a file system.)
+ // use a folder in a file system.) Directory buckets - For directory buckets, only
+ // prefixes that end in a delimiter ( / ) are supported.
Prefix *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
// Together with key-marker, specifies the multipart upload after which listing
// should begin. If key-marker is not specified, the upload-id-marker parameter is
// ignored. Otherwise, any multipart uploads for a key equal to the key-marker
// might be included in the list only if they have an upload ID lexicographically
- // greater than the specified upload-id-marker .
+ // greater than the specified upload-id-marker . This functionality is not
+ // supported for directory buckets.
UploadIdMarker *string
noSmithyDocumentSerde
}
+func (in *ListMultipartUploadsInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.Prefix = in.Prefix
+
+}
+
type ListMultipartUploadsOutput struct {
// The name of the bucket to which the multipart upload was initiated. Does not
@@ -145,11 +210,14 @@ type ListMultipartUploadsOutput struct {
// If you specify a delimiter in the request, then the result returns each
// distinct key prefix containing the delimiter in a CommonPrefixes element. The
- // distinct key prefixes are returned in the Prefix child element.
+ // distinct key prefixes are returned in the Prefix child element. Directory
+ // buckets - For directory buckets, only prefixes that end in a delimiter ( / ) are
+ // supported.
CommonPrefixes []types.CommonPrefix
// Contains the delimiter you specified in the request. If you don't specify a
- // delimiter in your request, this element is absent from the response.
+ // delimiter in your request, this element is absent from the response. Directory
+ // buckets - For directory buckets, / is the only supported delimiter.
Delimiter *string
// Encoding type used by Amazon S3 to encode object keys in the response. If you
@@ -162,32 +230,36 @@ type ListMultipartUploadsOutput struct {
// of true indicates that the list was truncated. The list can be truncated if the
// number of multipart uploads exceeds the limit allowed or specified by max
// uploads.
- IsTruncated bool
+ IsTruncated *bool
// The key at or after which the listing began.
KeyMarker *string
// Maximum number of multipart uploads that could have been included in the
// response.
- MaxUploads int32
+ MaxUploads *int32
// When a list is truncated, this element specifies the value that should be used
// for the key-marker request parameter in a subsequent request.
NextKeyMarker *string
// When a list is truncated, this element specifies the value that should be used
- // for the upload-id-marker request parameter in a subsequent request.
+ // for the upload-id-marker request parameter in a subsequent request. This
+ // functionality is not supported for directory buckets.
NextUploadIdMarker *string
// When a prefix is provided in the request, this field contains the specified
// prefix. The result contains only keys starting with the specified prefix.
+ // Directory buckets - For directory buckets, only prefixes that end in a delimiter
+ // ( / ) are supported.
Prefix *string
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
- // Upload ID after which listing began.
+ // Upload ID after which listing began. This functionality is not supported for
+ // directory buckets.
UploadIdMarker *string
// Container for elements related to a particular multipart upload. A response can
@@ -201,6 +273,9 @@ type ListMultipartUploadsOutput struct {
}
func (c *Client) addOperationListMultipartUploadsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpListMultipartUploads{}, middleware.After)
if err != nil {
return err
@@ -209,6 +284,10 @@ func (c *Client) addOperationListMultipartUploadsMiddlewares(stack *middleware.S
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "ListMultipartUploads"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -230,9 +309,6 @@ func (c *Client) addOperationListMultipartUploadsMiddlewares(stack *middleware.S
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -248,10 +324,10 @@ func (c *Client) addOperationListMultipartUploadsMiddlewares(stack *middleware.S
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addListMultipartUploadsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpListMultipartUploadsValidationMiddleware(stack); err != nil {
@@ -281,7 +357,7 @@ func (c *Client) addOperationListMultipartUploadsMiddlewares(stack *middleware.S
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -301,7 +377,6 @@ func newServiceMetadataMiddleware_opListMultipartUploads(region string) *awsmidd
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "ListMultipartUploads",
}
}
@@ -331,139 +406,3 @@ func addListMultipartUploadsUpdateEndpoint(stack *middleware.Stack, options Opti
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opListMultipartUploadsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opListMultipartUploadsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opListMultipartUploadsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*ListMultipartUploadsInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addListMultipartUploadsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opListMultipartUploadsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjectVersions.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjectVersions.go
index 00ef2e9e..2a0cd10f 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjectVersions.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjectVersions.go
@@ -4,29 +4,24 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns metadata about all versions of the objects in a bucket. You can also
-// use request parameters as selection criteria to return metadata about a subset
-// of all the object versions. To use this operation, you must have permission to
-// perform the s3:ListBucketVersions action. Be aware of the name difference. A
-// 200 OK response can contain valid or invalid XML. Make sure to design your
-// application to parse the contents of the response and handle it appropriately.
-// To use this operation, you must have READ access to the bucket. This action is
-// not supported by Amazon S3 on Outposts. The following operations are related to
-// ListObjectVersions :
+// This operation is not supported by directory buckets. Returns metadata about
+// all versions of the objects in a bucket. You can also use request parameters as
+// selection criteria to return metadata about a subset of all the object versions.
+// To use this operation, you must have permission to perform the
+// s3:ListBucketVersions action. Be aware of the name difference. A 200 OK
+// response can contain valid or invalid XML. Make sure to design your application
+// to parse the contents of the response and handle it appropriately. To use this
+// operation, you must have READ access to the bucket. The following operations are
+// related to ListObjectVersions :
// - ListObjectsV2 (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
// - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
@@ -68,9 +63,9 @@ type ListObjectVersionsInput struct {
// response.
EncodingType types.EncodingType
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Specifies the key to start with when listing objects in a bucket.
@@ -81,7 +76,7 @@ type ListObjectVersionsInput struct {
// will never contain more. If additional keys satisfy the search criteria, but
// were not returned because max-keys was exceeded, the response contains true . To
// return the additional keys, see key-marker and version-id-marker .
- MaxKeys int32
+ MaxKeys *int32
// Specifies the optional fields that you want returned in the response. Fields
// that you do not specify are not returned.
@@ -96,11 +91,12 @@ type ListObjectVersionsInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
// Specifies the object version you want to start listing from.
@@ -109,6 +105,12 @@ type ListObjectVersionsInput struct {
noSmithyDocumentSerde
}
+func (in *ListObjectVersionsInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.Prefix = in.Prefix
+
+}
+
type ListObjectVersionsOutput struct {
// All of the keys rolled up into a common prefix count as a single return when
@@ -136,13 +138,13 @@ type ListObjectVersionsOutput struct {
// follow-up paginated request by using the NextKeyMarker and NextVersionIdMarker
// response parameters as a starting place in another request to return the rest of
// the results.
- IsTruncated bool
+ IsTruncated *bool
// Marks the last key returned in a truncated response.
KeyMarker *string
// Specifies the maximum number of objects to return.
- MaxKeys int32
+ MaxKeys *int32
// The bucket name.
Name *string
@@ -162,7 +164,7 @@ type ListObjectVersionsOutput struct {
Prefix *string
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// Marks the last version of the key returned in a truncated response.
@@ -178,6 +180,9 @@ type ListObjectVersionsOutput struct {
}
func (c *Client) addOperationListObjectVersionsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpListObjectVersions{}, middleware.After)
if err != nil {
return err
@@ -186,6 +191,10 @@ func (c *Client) addOperationListObjectVersionsMiddlewares(stack *middleware.Sta
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "ListObjectVersions"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -207,9 +216,6 @@ func (c *Client) addOperationListObjectVersionsMiddlewares(stack *middleware.Sta
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -225,10 +231,10 @@ func (c *Client) addOperationListObjectVersionsMiddlewares(stack *middleware.Sta
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addListObjectVersionsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpListObjectVersionsValidationMiddleware(stack); err != nil {
@@ -258,7 +264,7 @@ func (c *Client) addOperationListObjectVersionsMiddlewares(stack *middleware.Sta
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -278,7 +284,6 @@ func newServiceMetadataMiddleware_opListObjectVersions(region string) *awsmiddle
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "ListObjectVersions",
}
}
@@ -308,139 +313,3 @@ func addListObjectVersionsUpdateEndpoint(stack *middleware.Stack, options Option
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opListObjectVersionsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opListObjectVersionsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opListObjectVersionsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*ListObjectVersionsInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addListObjectVersionsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opListObjectVersionsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjects.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjects.go
index 19821bba..f0732edc 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjects.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjects.go
@@ -4,26 +4,21 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Returns some or all (up to 1,000) of the objects in a bucket. You can use the
-// request parameters as selection criteria to return a subset of the objects in a
-// bucket. A 200 OK response can contain valid or invalid XML. Be sure to design
-// your application to parse the contents of the response and handle it
-// appropriately. This action has been revised. We recommend that you use the newer
-// version, ListObjectsV2 (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)
+// This operation is not supported by directory buckets. Returns some or all (up
+// to 1,000) of the objects in a bucket. You can use the request parameters as
+// selection criteria to return a subset of the objects in a bucket. A 200 OK
+// response can contain valid or invalid XML. Be sure to design your application to
+// parse the contents of the response and handle it appropriately. This action has
+// been revised. We recommend that you use the newer version, ListObjectsV2 (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)
// , when developing applications. For backward compatibility, Amazon S3 continues
// to support ListObjects . The following operations are related to ListObjects :
// - ListObjectsV2 (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html)
@@ -48,16 +43,26 @@ func (c *Client) ListObjects(ctx context.Context, params *ListObjectsInput, optF
type ListObjectsInput struct {
- // The name of the bucket containing the objects. When using this action with an
- // access point, you must direct requests to the access point hostname. The access
- // point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // The name of the bucket containing the objects. Directory buckets - When you use
+ // this operation with a directory bucket, you must use virtual-hosted-style
+ // requests in the format Bucket_name.s3express-az_id.region.amazonaws.com .
+ // Path-style requests are not supported. Directory bucket names must be unique in
+ // the chosen Availability Zone. Bucket names must follow the format
+ // bucket_base_name--az-id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3
+ // ). For information about bucket naming restrictions, see Directory bucket
+ // naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Access points and Object Lambda access points are
+ // not supported by directory buckets. S3 on Outposts - When you use this action
+ // with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts
+ // hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -78,9 +83,9 @@ type ListObjectsInput struct {
// response.
EncodingType types.EncodingType
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Marker is where you want Amazon S3 to start listing from. Amazon S3 starts
@@ -90,7 +95,7 @@ type ListObjectsInput struct {
// Sets the maximum number of keys returned in the response. By default, the
// action returns up to 1,000 key names. The response might contain fewer keys but
// will never contain more.
- MaxKeys int32
+ MaxKeys *int32
// Specifies the optional fields that you want returned in the response. Fields
// that you do not specify are not returned.
@@ -107,6 +112,12 @@ type ListObjectsInput struct {
noSmithyDocumentSerde
}
+func (in *ListObjectsInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.Prefix = in.Prefix
+
+}
+
type ListObjectsOutput struct {
// All of the keys (up to 1,000) rolled up in a common prefix count as a single
@@ -135,14 +146,14 @@ type ListObjectsOutput struct {
// A flag that indicates whether Amazon S3 returned all of the results that
// satisfied the search criteria.
- IsTruncated bool
+ IsTruncated *bool
// Indicates where in the bucket listing begins. Marker is included in the
// response if it was sent with the request.
Marker *string
// The maximum number of keys returned in the response body.
- MaxKeys int32
+ MaxKeys *int32
// The bucket name.
Name *string
@@ -161,7 +172,7 @@ type ListObjectsOutput struct {
Prefix *string
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// Metadata pertaining to the operation's result.
@@ -171,6 +182,9 @@ type ListObjectsOutput struct {
}
func (c *Client) addOperationListObjectsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpListObjects{}, middleware.After)
if err != nil {
return err
@@ -179,6 +193,10 @@ func (c *Client) addOperationListObjectsMiddlewares(stack *middleware.Stack, opt
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "ListObjects"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -200,9 +218,6 @@ func (c *Client) addOperationListObjectsMiddlewares(stack *middleware.Stack, opt
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -218,10 +233,10 @@ func (c *Client) addOperationListObjectsMiddlewares(stack *middleware.Stack, opt
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addListObjectsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpListObjectsValidationMiddleware(stack); err != nil {
@@ -251,7 +266,7 @@ func (c *Client) addOperationListObjectsMiddlewares(stack *middleware.Stack, opt
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -271,7 +286,6 @@ func newServiceMetadataMiddleware_opListObjects(region string) *awsmiddleware.Re
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "ListObjects",
}
}
@@ -301,139 +315,3 @@ func addListObjectsUpdateEndpoint(stack *middleware.Stack, options Options) erro
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opListObjectsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opListObjectsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opListObjectsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*ListObjectsInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addListObjectsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opListObjectsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjectsV2.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjectsV2.go
index db25aadf..b2f182df 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjectsV2.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListObjectsV2.go
@@ -4,16 +4,11 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -22,21 +17,47 @@ import (
// You can use the request parameters as selection criteria to return a subset of
// the objects in a bucket. A 200 OK response can contain valid or invalid XML.
// Make sure to design your application to parse the contents of the response and
-// handle it appropriately. Objects are returned sorted in an ascending order of
-// the respective key names in the list. For more information about listing
-// objects, see Listing object keys programmatically (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html)
-// in the Amazon S3 User Guide. To use this operation, you must have READ access to
-// the bucket. To use this action in an Identity and Access Management (IAM)
-// policy, you must have permission to perform the s3:ListBucket action. The
-// bucket owner has this permission by default and can grant this permission to
-// others. For more information about permissions, see Permissions Related to
-// Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
-// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
-// in the Amazon S3 User Guide. This section describes the latest revision of this
-// action. We recommend that you use this revised API operation for application
-// development. For backward compatibility, Amazon S3 continues to support the
-// prior version of this API operation, ListObjects (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html)
-// . To get a list of your buckets, see ListBuckets (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)
+// handle it appropriately. For more information about listing objects, see
+// Listing object keys programmatically (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html)
+// in the Amazon S3 User Guide. To get a list of your buckets, see ListBuckets (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html)
+// . Directory buckets - For directory buckets, you must make requests for this API
+// operation to the Zonal endpoint. These endpoints support virtual-hosted-style
+// requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style
+// requests are not supported. For more information, see Regional and Zonal
+// endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Permissions
+// - General purpose bucket permissions - To use this operation, you must have
+// READ access to the bucket. You must have permission to perform the
+// s3:ListBucket action. The bucket owner has this permission by default and can
+// grant this permission to others. For more information about permissions, see
+// Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
+// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
+// in the Amazon S3 User Guide.
+// - Directory bucket permissions - To grant access to this API operation on a
+// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// API operation for session-based authorization. Specifically, you grant the
+// s3express:CreateSession permission to the directory bucket in a bucket policy
+// or an IAM identity-based policy. Then, you make the CreateSession API call on
+// the bucket to obtain a session token. With the session token in your request
+// header, you can make API requests to this operation. After the session token
+// expires, you make another CreateSession API call to generate a new session
+// token for use. Amazon Web Services CLI or SDKs create session and refresh the
+// session token automatically to avoid service interruptions when a session
+// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// .
+//
+// Sorting order of returned objects
+// - General purpose bucket - For general purpose buckets, ListObjectsV2 returns
+// objects in lexicographical order based on their key names.
+// - Directory bucket - For directory buckets, ListObjectsV2 does not return
+// objects in lexicographical order.
+//
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// Bucket_name.s3express-az_id.region.amazonaws.com . This section describes the
+// latest revision of this action. We recommend that you use this revised API
+// operation for application development. For backward compatibility, Amazon S3
+// continues to support the prior version of this API operation, ListObjects (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html)
// . The following operations are related to ListObjectsV2 :
// - GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
// - PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
@@ -58,15 +79,25 @@ func (c *Client) ListObjectsV2(ctx context.Context, params *ListObjectsV2Input,
type ListObjectsV2Input struct {
- // Bucket name to list. When using this action with an access point, you must
- // direct requests to the access point hostname. The access point hostname takes
- // the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When
- // using this action with an access point through the Amazon Web Services SDKs, you
- // provide the access point ARN in place of the bucket name. For more information
- // about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // Directory buckets - When you use this operation with a directory bucket, you
+ // must use virtual-hosted-style requests in the format
+ // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
+ // supported. Directory bucket names must be unique in the chosen Availability
+ // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
+ // example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 ). For information about bucket
+ // naming restrictions, see Directory bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Access points and Object Lambda access points are
+ // not supported by directory buckets. S3 on Outposts - When you use this action
+ // with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts
+ // hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -77,73 +108,103 @@ type ListObjectsV2Input struct {
Bucket *string
// ContinuationToken indicates to Amazon S3 that the list is being continued on
- // this bucket with a token. ContinuationToken is obfuscated and is not a real key.
+ // this bucket with a token. ContinuationToken is obfuscated and is not a real
+ // key. You can use this ContinuationToken for pagination of the list results.
ContinuationToken *string
// A delimiter is a character that you use to group keys.
+ // - Directory buckets - For directory buckets, / is the only supported
+ // delimiter.
+ // - Directory buckets - When you query ListObjectsV2 with a delimiter during
+ // in-progress multipart uploads, the CommonPrefixes response parameter contains
+ // the prefixes that are associated with the in-progress multipart uploads. For
+ // more information about multipart uploads, see Multipart Upload Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html)
+ // in the Amazon S3 User Guide.
Delimiter *string
// Encoding type used by Amazon S3 to encode object keys in the response.
EncodingType types.EncodingType
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// The owner field is not present in ListObjectsV2 by default. If you want to
// return the owner field with each key in the result, then set the FetchOwner
- // field to true .
- FetchOwner bool
+ // field to true . Directory buckets - For directory buckets, the bucket owner is
+ // returned as the object owner for all objects.
+ FetchOwner *bool
// Sets the maximum number of keys returned in the response. By default, the
// action returns up to 1,000 key names. The response might contain fewer keys but
// will never contain more.
- MaxKeys int32
+ MaxKeys *int32
// Specifies the optional fields that you want returned in the response. Fields
- // that you do not specify are not returned.
+ // that you do not specify are not returned. This functionality is not supported
+ // for directory buckets.
OptionalObjectAttributes []types.OptionalObjectAttributes
- // Limits the response to keys that begin with the specified prefix.
+ // Limits the response to keys that begin with the specified prefix. Directory
+ // buckets - For directory buckets, only prefixes that end in a delimiter ( / ) are
+ // supported.
Prefix *string
// Confirms that the requester knows that she or he will be charged for the list
// objects request in V2 style. Bucket owners need not specify this parameter in
- // their requests.
+ // their requests. This functionality is not supported for directory buckets.
RequestPayer types.RequestPayer
// StartAfter is where you want Amazon S3 to start listing from. Amazon S3 starts
- // listing after this specified key. StartAfter can be any key in the bucket.
+ // listing after this specified key. StartAfter can be any key in the bucket. This
+ // functionality is not supported for directory buckets.
StartAfter *string
noSmithyDocumentSerde
}
+func (in *ListObjectsV2Input) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.Prefix = in.Prefix
+
+}
+
type ListObjectsV2Output struct {
- // All of the keys (up to 1,000) rolled up into a common prefix count as a single
- // return when calculating the number of returns. A response can contain
- // CommonPrefixes only if you specify a delimiter. CommonPrefixes contains all (if
- // there are any) keys between Prefix and the next occurrence of the string
- // specified by a delimiter. CommonPrefixes lists keys that act like
- // subdirectories in the directory specified by Prefix . For example, if the prefix
- // is notes/ and the delimiter is a slash ( / ) as in notes/summer/july , the
- // common prefix is notes/summer/ . All of the keys that roll up into a common
- // prefix count as a single return when calculating the number of returns.
+ // All of the keys (up to 1,000) that share the same prefix are grouped together.
+ // When counting the total numbers of returns by this API operation, this group of
+ // keys is considered as one item. A response can contain CommonPrefixes only if
+ // you specify a delimiter. CommonPrefixes contains all (if there are any) keys
+ // between Prefix and the next occurrence of the string specified by a delimiter.
+ // CommonPrefixes lists keys that act like subdirectories in the directory
+ // specified by Prefix . For example, if the prefix is notes/ and the delimiter is
+ // a slash ( / ) as in notes/summer/july , the common prefix is notes/summer/ . All
+ // of the keys that roll up into a common prefix count as a single return when
+ // calculating the number of returns.
+ // - Directory buckets - For directory buckets, only prefixes that end in a
+ // delimiter ( / ) are supported.
+ // - Directory buckets - When you query ListObjectsV2 with a delimiter during
+ // in-progress multipart uploads, the CommonPrefixes response parameter contains
+ // the prefixes that are associated with the in-progress multipart uploads. For
+ // more information about multipart uploads, see Multipart Upload Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html)
+ // in the Amazon S3 User Guide.
CommonPrefixes []types.CommonPrefix
// Metadata about each object returned.
Contents []types.Object
// If ContinuationToken was sent with the request, it is included in the response.
+ // You can use the returned ContinuationToken for pagination of the list response.
+ // You can use this ContinuationToken for pagination of the list results.
ContinuationToken *string
// Causes keys that contain the same string between the prefix and the first
// occurrence of the delimiter to be rolled up into a single result element in the
// CommonPrefixes collection. These rolled-up keys are not returned elsewhere in
// the response. Each rolled-up result counts as only one return against the
- // MaxKeys value.
+ // MaxKeys value. Directory buckets - For directory buckets, / is the only
+ // supported delimiter.
Delimiter *string
// Encoding type used by Amazon S3 to encode object key names in the XML response.
@@ -155,32 +216,19 @@ type ListObjectsV2Output struct {
// Set to false if all of the results were returned. Set to true if more keys are
// available to return. If the number of results exceeds that specified by MaxKeys
// , all of the results might not be returned.
- IsTruncated bool
+ IsTruncated *bool
// KeyCount is the number of keys returned with this request. KeyCount will always
// be less than or equal to the MaxKeys field. For example, if you ask for 50
// keys, your result will include 50 keys or fewer.
- KeyCount int32
+ KeyCount *int32
// Sets the maximum number of keys returned in the response. By default, the
// action returns up to 1,000 key names. The response might contain fewer keys but
// will never contain more.
- MaxKeys int32
-
- // The bucket name. When using this action with an access point, you must direct
- // requests to the access point hostname. The access point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
- // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
- // use this action with S3 on Outposts through the Amazon Web Services SDKs, you
- // provide the Outposts access point ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see What is S3 on Outposts? (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
- // in the Amazon S3 User Guide.
+ MaxKeys *int32
+
+ // The bucket name.
Name *string
// NextContinuationToken is sent when isTruncated is true, which means there are
@@ -189,14 +237,16 @@ type ListObjectsV2Output struct {
// obfuscated and is not a real key
NextContinuationToken *string
- // Keys that begin with the indicated prefix.
+ // Keys that begin with the indicated prefix. Directory buckets - For directory
+ // buckets, only prefixes that end in a delimiter ( / ) are supported.
Prefix *string
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
- // If StartAfter was sent with the request, it is included in the response.
+ // If StartAfter was sent with the request, it is included in the response. This
+ // functionality is not supported for directory buckets.
StartAfter *string
// Metadata pertaining to the operation's result.
@@ -206,6 +256,9 @@ type ListObjectsV2Output struct {
}
func (c *Client) addOperationListObjectsV2Middlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpListObjectsV2{}, middleware.After)
if err != nil {
return err
@@ -214,6 +267,10 @@ func (c *Client) addOperationListObjectsV2Middlewares(stack *middleware.Stack, o
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "ListObjectsV2"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -235,9 +292,6 @@ func (c *Client) addOperationListObjectsV2Middlewares(stack *middleware.Stack, o
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -253,10 +307,10 @@ func (c *Client) addOperationListObjectsV2Middlewares(stack *middleware.Stack, o
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addListObjectsV2ResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpListObjectsV2ValidationMiddleware(stack); err != nil {
@@ -286,7 +340,7 @@ func (c *Client) addOperationListObjectsV2Middlewares(stack *middleware.Stack, o
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -337,8 +391,8 @@ func NewListObjectsV2Paginator(client ListObjectsV2APIClient, params *ListObject
}
options := ListObjectsV2PaginatorOptions{}
- if params.MaxKeys != 0 {
- options.Limit = params.MaxKeys
+ if params.MaxKeys != nil {
+ options.Limit = *params.MaxKeys
}
for _, fn := range optFns {
@@ -368,7 +422,11 @@ func (p *ListObjectsV2Paginator) NextPage(ctx context.Context, optFns ...func(*O
params := *p.params
params.ContinuationToken = p.nextToken
- params.MaxKeys = p.options.Limit
+ var limit *int32
+ if p.options.Limit > 0 {
+ limit = &p.options.Limit
+ }
+ params.MaxKeys = limit
result, err := p.client.ListObjectsV2(ctx, ¶ms, optFns...)
if err != nil {
@@ -378,7 +436,7 @@ func (p *ListObjectsV2Paginator) NextPage(ctx context.Context, optFns ...func(*O
prevToken := p.nextToken
p.nextToken = nil
- if result.IsTruncated {
+ if result.IsTruncated != nil && *result.IsTruncated {
p.nextToken = result.NextContinuationToken
}
@@ -396,7 +454,6 @@ func newServiceMetadataMiddleware_opListObjectsV2(region string) *awsmiddleware.
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "ListObjectsV2",
}
}
@@ -426,139 +483,3 @@ func addListObjectsV2UpdateEndpoint(stack *middleware.Stack, options Options) er
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opListObjectsV2ResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opListObjectsV2ResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opListObjectsV2ResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*ListObjectsV2Input)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addListObjectsV2ResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opListObjectsV2ResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListParts.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListParts.go
index 14ef6f91..11b0d59b 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListParts.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_ListParts.go
@@ -4,37 +4,59 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"time"
)
-// Lists the parts that have been uploaded for a specific multipart upload. This
-// operation must include the upload ID, which you obtain by sending the initiate
-// multipart upload request (see CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
-// ). This request returns a maximum of 1,000 uploaded parts. The default number of
-// parts returned is 1,000 parts. You can restrict the number of parts returned by
-// specifying the max-parts request parameter. If your multipart upload consists
-// of more than 1,000 parts, the response returns an IsTruncated field with the
-// value of true, and a NextPartNumberMarker element. In subsequent ListParts
-// requests you can include the part-number-marker query string parameter and set
-// its value to the NextPartNumberMarker field value from the previous response.
-// If the upload was created using a checksum algorithm, you will need to have
-// permission to the kms:Decrypt action for the request to succeed. For more
+// Lists the parts that have been uploaded for a specific multipart upload. To use
+// this operation, you must provide the upload ID in the request. You obtain this
+// uploadID by sending the initiate multipart upload request through
+// CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
+// . The ListParts request returns a maximum of 1,000 uploaded parts. The limit of
+// 1,000 parts is also the default value. You can restrict the number of parts in a
+// response by specifying the max-parts request parameter. If your multipart
+// upload consists of more than 1,000 parts, the response returns an IsTruncated
+// field with the value of true , and a NextPartNumberMarker element. To list
+// remaining uploaded parts, in subsequent ListParts requests, include the
+// part-number-marker query string parameter and set its value to the
+// NextPartNumberMarker field value from the previous response. For more
// information on multipart uploads, see Uploading Objects Using Multipart Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html)
-// . For information on permissions required to use the multipart upload API, see
-// Multipart Upload and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
-// . The following operations are related to ListParts :
+// in the Amazon S3 User Guide. Directory buckets - For directory buckets, you must
+// make requests for this API operation to the Zonal endpoint. These endpoints
+// support virtual-hosted-style requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style
+// requests are not supported. For more information, see Regional and Zonal
+// endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Permissions
+// - General purpose bucket permissions - For information about permissions
+// required to use the multipart upload API, see Multipart Upload and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
+// in the Amazon S3 User Guide. If the upload was created using server-side
+// encryption with Key Management Service (KMS) keys (SSE-KMS) or dual-layer
+// server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), you must
+// have permission to the kms:Decrypt action for the ListParts request to
+// succeed.
+// - Directory bucket permissions - To grant access to this API operation on a
+// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// API operation for session-based authorization. Specifically, you grant the
+// s3express:CreateSession permission to the directory bucket in a bucket policy
+// or an IAM identity-based policy. Then, you make the CreateSession API call on
+// the bucket to obtain a session token. With the session token in your request
+// header, you can make API requests to this operation. After the session token
+// expires, you make another CreateSession API call to generate a new session
+// token for use. Amazon Web Services CLI or SDKs create session and refresh the
+// session token automatically to avoid service interruptions when a session
+// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// .
+//
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// Bucket_name.s3express-az_id.region.amazonaws.com . The following operations are
+// related to ListParts :
// - CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
// - UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
// - CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
@@ -58,16 +80,26 @@ func (c *Client) ListParts(ctx context.Context, params *ListPartsInput, optFns .
type ListPartsInput struct {
- // The name of the bucket to which the parts are being uploaded. When using this
- // action with an access point, you must direct requests to the access point
- // hostname. The access point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // The name of the bucket to which the parts are being uploaded. Directory buckets
+ // - When you use this operation with a directory bucket, you must use
+ // virtual-hosted-style requests in the format
+ // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
+ // supported. Directory bucket names must be unique in the chosen Availability
+ // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
+ // example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 ). For information about bucket
+ // naming restrictions, see Directory bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Access points and Object Lambda access points are
+ // not supported by directory buckets. S3 on Outposts - When you use this action
+ // with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts
+ // hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -87,13 +119,13 @@ type ListPartsInput struct {
// This member is required.
UploadId *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Sets the maximum number of parts to return.
- MaxParts int32
+ MaxParts *int32
// Specifies the part after which listing should begin. Only parts with higher
// part numbers will be listed.
@@ -101,34 +133,44 @@ type ListPartsInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
// The server-side encryption (SSE) algorithm used to encrypt the object. This
// parameter is needed only when the object was created using a checksum algorithm.
// For more information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
SSECustomerAlgorithm *string
// The server-side encryption (SSE) customer managed key. This parameter is needed
// only when the object was created using a checksum algorithm. For more
// information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
SSECustomerKey *string
// The MD5 server-side encryption (SSE) customer managed key. This parameter is
// needed only when the object was created using a checksum algorithm. For more
// information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
SSECustomerKeyMD5 *string
noSmithyDocumentSerde
}
+func (in *ListPartsInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.Key = in.Key
+
+}
+
type ListPartsOutput struct {
// If the bucket has a lifecycle rule configured with an action to abort
@@ -139,11 +181,13 @@ type ListPartsOutput struct {
// Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config)
// . The response will also include the x-amz-abort-rule-id header that will
// provide the ID of the lifecycle configuration rule that defines this action.
+ // This functionality is not supported for directory buckets.
AbortDate *time.Time
// This header is returned along with the x-amz-abort-date header. It identifies
// applicable lifecycle configuration rule that defines the action to abort
- // incomplete multipart uploads.
+ // incomplete multipart uploads. This functionality is not supported for directory
+ // buckets.
AbortRuleId *string
// The name of the bucket to which the multipart upload was initiated. Does not
@@ -162,13 +206,13 @@ type ListPartsOutput struct {
// Indicates whether the returned list of parts is truncated. A true value
// indicates that the list was truncated. A list can be truncated if the number of
// parts exceeds the limit returned in the MaxParts element.
- IsTruncated bool
+ IsTruncated *bool
// Object key for which the multipart upload was initiated.
Key *string
// Maximum number of parts that were allowed in the response.
- MaxParts int32
+ MaxParts *int32
// When a list is truncated, this element specifies the last part in the list, as
// well as the value to use for the part-number-marker request parameter in a
@@ -177,7 +221,8 @@ type ListPartsOutput struct {
// Container element that identifies the object owner, after the object is
// created. If multipart upload is initiated by an IAM user, this element provides
- // the parent account ID and display name.
+ // the parent account ID and display name. Directory buckets - The bucket owner is
+ // returned as the object owner for all the parts.
Owner *types.Owner
// When a list is truncated, this element specifies the last part in the list, as
@@ -190,11 +235,12 @@ type ListPartsOutput struct {
Parts []types.Part
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
- // Class of storage (STANDARD or REDUCED_REDUNDANCY) used to store the uploaded
- // object.
+ // The class of storage used to store the uploaded object. Directory buckets -
+ // Only the S3 Express One Zone storage class is supported by directory buckets to
+ // store objects.
StorageClass types.StorageClass
// Upload ID identifying the multipart upload whose parts are being listed.
@@ -207,6 +253,9 @@ type ListPartsOutput struct {
}
func (c *Client) addOperationListPartsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpListParts{}, middleware.After)
if err != nil {
return err
@@ -215,6 +264,10 @@ func (c *Client) addOperationListPartsMiddlewares(stack *middleware.Stack, optio
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "ListParts"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -236,9 +289,6 @@ func (c *Client) addOperationListPartsMiddlewares(stack *middleware.Stack, optio
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -254,10 +304,10 @@ func (c *Client) addOperationListPartsMiddlewares(stack *middleware.Stack, optio
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addListPartsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpListPartsValidationMiddleware(stack); err != nil {
@@ -287,7 +337,7 @@ func (c *Client) addOperationListPartsMiddlewares(stack *middleware.Stack, optio
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -336,8 +386,8 @@ func NewListPartsPaginator(client ListPartsAPIClient, params *ListPartsInput, op
}
options := ListPartsPaginatorOptions{}
- if params.MaxParts != 0 {
- options.Limit = params.MaxParts
+ if params.MaxParts != nil {
+ options.Limit = *params.MaxParts
}
for _, fn := range optFns {
@@ -367,7 +417,11 @@ func (p *ListPartsPaginator) NextPage(ctx context.Context, optFns ...func(*Optio
params := *p.params
params.PartNumberMarker = p.nextToken
- params.MaxParts = p.options.Limit
+ var limit *int32
+ if p.options.Limit > 0 {
+ limit = &p.options.Limit
+ }
+ params.MaxParts = limit
result, err := p.client.ListParts(ctx, ¶ms, optFns...)
if err != nil {
@@ -377,7 +431,7 @@ func (p *ListPartsPaginator) NextPage(ctx context.Context, optFns ...func(*Optio
prevToken := p.nextToken
p.nextToken = nil
- if result.IsTruncated {
+ if result.IsTruncated != nil && *result.IsTruncated {
p.nextToken = result.NextPartNumberMarker
}
@@ -395,7 +449,6 @@ func newServiceMetadataMiddleware_opListParts(region string) *awsmiddleware.Regi
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "ListParts",
}
}
@@ -424,139 +477,3 @@ func addListPartsUpdateEndpoint(stack *middleware.Stack, options Options) error
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opListPartsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opListPartsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opListPartsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*ListPartsInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addListPartsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opListPartsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAccelerateConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAccelerateConfiguration.go
index 723273d9..80344efb 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAccelerateConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAccelerateConfiguration.go
@@ -4,28 +4,25 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer
-// Acceleration is a bucket-level feature that enables you to perform faster data
-// transfers to Amazon S3. To use this operation, you must have permission to
-// perform the s3:PutAccelerateConfiguration action. The bucket owner has this
-// permission by default. The bucket owner can grant this permission to others. For
-// more information about permissions, see Permissions Related to Bucket
-// Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
+// This operation is not supported by directory buckets. Sets the accelerate
+// configuration of an existing bucket. Amazon S3 Transfer Acceleration is a
+// bucket-level feature that enables you to perform faster data transfers to Amazon
+// S3. To use this operation, you must have permission to perform the
+// s3:PutAccelerateConfiguration action. The bucket owner has this permission by
+// default. The bucket owner can grant this permission to others. For more
+// information about permissions, see Permissions Related to Bucket Subresource
+// Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
// . The Transfer Acceleration state of a bucket can be set to one of the following
// two values:
@@ -69,24 +66,29 @@ type PutBucketAccelerateConfigurationInput struct {
// This member is required.
Bucket *string
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *PutBucketAccelerateConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketAccelerateConfigurationOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -95,6 +97,9 @@ type PutBucketAccelerateConfigurationOutput struct {
}
func (c *Client) addOperationPutBucketAccelerateConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketAccelerateConfiguration{}, middleware.After)
if err != nil {
return err
@@ -103,6 +108,10 @@ func (c *Client) addOperationPutBucketAccelerateConfigurationMiddlewares(stack *
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketAccelerateConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -124,9 +133,6 @@ func (c *Client) addOperationPutBucketAccelerateConfigurationMiddlewares(stack *
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -142,10 +148,10 @@ func (c *Client) addOperationPutBucketAccelerateConfigurationMiddlewares(stack *
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketAccelerateConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketAccelerateConfigurationValidationMiddleware(stack); err != nil {
@@ -178,7 +184,7 @@ func (c *Client) addOperationPutBucketAccelerateConfigurationMiddlewares(stack *
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -198,7 +204,6 @@ func newServiceMetadataMiddleware_opPutBucketAccelerateConfiguration(region stri
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketAccelerateConfiguration",
}
}
@@ -248,139 +253,3 @@ func addPutBucketAccelerateConfigurationUpdateEndpoint(stack *middleware.Stack,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketAccelerateConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketAccelerateConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketAccelerateConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketAccelerateConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketAccelerateConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketAccelerateConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAcl.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAcl.go
index bb706bbe..6382d276 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAcl.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAcl.go
@@ -4,25 +4,22 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Sets the permissions on an existing bucket using access control lists (ACL).
-// For more information, see Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html)
-// . To set the ACL of a bucket, you must have WRITE_ACP permission. You can use
-// one of the following two ways to set a bucket's permissions:
+// This operation is not supported by directory buckets. Sets the permissions on
+// an existing bucket using access control lists (ACL). For more information, see
+// Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html)
+// . To set the ACL of a bucket, you must have the WRITE_ACP permission. You can
+// use one of the following two ways to set a bucket's permissions:
// - Specify the ACL in the request body
// - Specify permissions using request headers
//
@@ -129,12 +126,12 @@ type PutBucketAclInput struct {
// Contains the elements that set the ACL permissions for an object per grantee.
AccessControlPolicy *types.AccessControlPolicy
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -146,9 +143,9 @@ type PutBucketAclInput struct {
// Amazon Web Services SDKs, this field is calculated automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Allows grantee the read, write, read ACP, and write ACP permissions on the
@@ -172,6 +169,11 @@ type PutBucketAclInput struct {
noSmithyDocumentSerde
}
+func (in *PutBucketAclInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketAclOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -180,6 +182,9 @@ type PutBucketAclOutput struct {
}
func (c *Client) addOperationPutBucketAclMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketAcl{}, middleware.After)
if err != nil {
return err
@@ -188,6 +193,10 @@ func (c *Client) addOperationPutBucketAclMiddlewares(stack *middleware.Stack, op
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketAcl"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -209,9 +218,6 @@ func (c *Client) addOperationPutBucketAclMiddlewares(stack *middleware.Stack, op
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -227,10 +233,10 @@ func (c *Client) addOperationPutBucketAclMiddlewares(stack *middleware.Stack, op
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketAclResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketAclValidationMiddleware(stack); err != nil {
@@ -263,12 +269,15 @@ func (c *Client) addOperationPutBucketAclMiddlewares(stack *middleware.Stack, op
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -283,7 +292,6 @@ func newServiceMetadataMiddleware_opPutBucketAcl(region string) *awsmiddleware.R
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketAcl",
}
}
@@ -333,139 +341,3 @@ func addPutBucketAclUpdateEndpoint(stack *middleware.Stack, options Options) err
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketAclResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketAclResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketAclResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketAclInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketAclResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketAclResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAnalyticsConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAnalyticsConfiguration.go
index 581c5ca4..9b1009f6 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAnalyticsConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketAnalyticsConfiguration.go
@@ -4,31 +4,27 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Sets an analytics configuration for the bucket (specified by the analytics
-// configuration ID). You can have up to 1,000 analytics configurations per bucket.
-// You can choose to have storage class analysis export analysis reports sent to a
-// comma-separated values (CSV) flat file. See the DataExport request element.
-// Reports are updated daily and are based on the object filters that you
-// configure. When selecting data export, you specify a destination bucket and an
-// optional destination prefix where the file is written. You can export the data
-// to a destination bucket in a different account. However, the destination bucket
-// must be in the same Region as the bucket that you are making the PUT analytics
-// configuration to. For more information, see Amazon S3 Analytics – Storage Class
-// Analysis (https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html)
+// This operation is not supported by directory buckets. Sets an analytics
+// configuration for the bucket (specified by the analytics configuration ID). You
+// can have up to 1,000 analytics configurations per bucket. You can choose to have
+// storage class analysis export analysis reports sent to a comma-separated values
+// (CSV) flat file. See the DataExport request element. Reports are updated daily
+// and are based on the object filters that you configure. When selecting data
+// export, you specify a destination bucket and an optional destination prefix
+// where the file is written. You can export the data to a destination bucket in a
+// different account. However, the destination bucket must be in the same Region as
+// the bucket that you are making the PUT analytics configuration to. For more
+// information, see Amazon S3 Analytics – Storage Class Analysis (https://docs.aws.amazon.com/AmazonS3/latest/dev/analytics-storage-class.html)
// . You must create a bucket policy on the destination bucket where the exported
// file is written to grant permissions to Amazon S3 to write objects to the
// bucket. For an example policy, see Granting Permissions for Amazon S3 Inventory
@@ -89,14 +85,19 @@ type PutBucketAnalyticsConfigurationInput struct {
// This member is required.
Id *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *PutBucketAnalyticsConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketAnalyticsConfigurationOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -105,6 +106,9 @@ type PutBucketAnalyticsConfigurationOutput struct {
}
func (c *Client) addOperationPutBucketAnalyticsConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketAnalyticsConfiguration{}, middleware.After)
if err != nil {
return err
@@ -113,6 +117,10 @@ func (c *Client) addOperationPutBucketAnalyticsConfigurationMiddlewares(stack *m
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketAnalyticsConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -134,9 +142,6 @@ func (c *Client) addOperationPutBucketAnalyticsConfigurationMiddlewares(stack *m
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -152,10 +157,10 @@ func (c *Client) addOperationPutBucketAnalyticsConfigurationMiddlewares(stack *m
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketAnalyticsConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketAnalyticsConfigurationValidationMiddleware(stack); err != nil {
@@ -185,7 +190,7 @@ func (c *Client) addOperationPutBucketAnalyticsConfigurationMiddlewares(stack *m
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -205,7 +210,6 @@ func newServiceMetadataMiddleware_opPutBucketAnalyticsConfiguration(region strin
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketAnalyticsConfiguration",
}
}
@@ -235,139 +239,3 @@ func addPutBucketAnalyticsConfigurationUpdateEndpoint(stack *middleware.Stack, o
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketAnalyticsConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketAnalyticsConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketAnalyticsConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketAnalyticsConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketAnalyticsConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketAnalyticsConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketCors.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketCors.go
index 7a1f49c3..394a2bad 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketCors.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketCors.go
@@ -4,33 +4,30 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Sets the cors configuration for your bucket. If the configuration exists,
-// Amazon S3 replaces it. To use this operation, you must be allowed to perform the
-// s3:PutBucketCORS action. By default, the bucket owner has this permission and
-// can grant it to others. You set this configuration on a bucket so that the
-// bucket can service cross-origin requests. For example, you might want to enable
-// a request whose origin is http://www.example.com to access your Amazon S3
-// bucket at my.example.bucket.com by using the browser's XMLHttpRequest
-// capability. To enable cross-origin resource sharing (CORS) on a bucket, you add
-// the cors subresource to the bucket. The cors subresource is an XML document in
-// which you configure rules that identify origins and the HTTP methods that can be
-// executed on your bucket. The document is limited to 64 KB in size. When Amazon
-// S3 receives a cross-origin request (or a pre-flight OPTIONS request) against a
+// This operation is not supported by directory buckets. Sets the cors
+// configuration for your bucket. If the configuration exists, Amazon S3 replaces
+// it. To use this operation, you must be allowed to perform the s3:PutBucketCORS
+// action. By default, the bucket owner has this permission and can grant it to
+// others. You set this configuration on a bucket so that the bucket can service
+// cross-origin requests. For example, you might want to enable a request whose
+// origin is http://www.example.com to access your Amazon S3 bucket at
+// my.example.bucket.com by using the browser's XMLHttpRequest capability. To
+// enable cross-origin resource sharing (CORS) on a bucket, you add the cors
+// subresource to the bucket. The cors subresource is an XML document in which you
+// configure rules that identify origins and the HTTP methods that can be executed
+// on your bucket. The document is limited to 64 KB in size. When Amazon S3
+// receives a cross-origin request (or a pre-flight OPTIONS request) against a
// bucket, it evaluates the cors configuration on the bucket and uses the first
// CORSRule rule that matches the incoming browser request to enable a cross-origin
// request. For a rule to match, the following conditions must be met:
@@ -76,12 +73,12 @@ type PutBucketCorsInput struct {
// This member is required.
CORSConfiguration *types.CORSConfiguration
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -93,14 +90,19 @@ type PutBucketCorsInput struct {
// Amazon Web Services SDKs, this field is calculated automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *PutBucketCorsInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketCorsOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -109,6 +111,9 @@ type PutBucketCorsOutput struct {
}
func (c *Client) addOperationPutBucketCorsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketCors{}, middleware.After)
if err != nil {
return err
@@ -117,6 +122,10 @@ func (c *Client) addOperationPutBucketCorsMiddlewares(stack *middleware.Stack, o
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketCors"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -138,9 +147,6 @@ func (c *Client) addOperationPutBucketCorsMiddlewares(stack *middleware.Stack, o
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -156,10 +162,10 @@ func (c *Client) addOperationPutBucketCorsMiddlewares(stack *middleware.Stack, o
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketCorsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketCorsValidationMiddleware(stack); err != nil {
@@ -192,12 +198,15 @@ func (c *Client) addOperationPutBucketCorsMiddlewares(stack *middleware.Stack, o
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -212,7 +221,6 @@ func newServiceMetadataMiddleware_opPutBucketCors(region string) *awsmiddleware.
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketCors",
}
}
@@ -262,139 +270,3 @@ func addPutBucketCorsUpdateEndpoint(stack *middleware.Stack, options Options) er
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketCorsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketCorsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketCorsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketCorsInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketCorsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketCorsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketEncryption.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketEncryption.go
index ef109196..615e98a3 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketEncryption.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketEncryption.go
@@ -4,29 +4,26 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// This action uses the encryption subresource to configure default encryption and
-// Amazon S3 Bucket Keys for an existing bucket. By default, all buckets have a
-// default encryption configuration that uses server-side encryption with Amazon S3
-// managed keys (SSE-S3). You can optionally configure default encryption for a
-// bucket by using server-side encryption with Key Management Service (KMS) keys
-// (SSE-KMS) or dual-layer server-side encryption with Amazon Web Services KMS keys
-// (DSSE-KMS). If you specify default encryption by using SSE-KMS, you can also
-// configure Amazon S3 Bucket Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html)
+// This operation is not supported by directory buckets. This action uses the
+// encryption subresource to configure default encryption and Amazon S3 Bucket Keys
+// for an existing bucket. By default, all buckets have a default encryption
+// configuration that uses server-side encryption with Amazon S3 managed keys
+// (SSE-S3). You can optionally configure default encryption for a bucket by using
+// server-side encryption with Key Management Service (KMS) keys (SSE-KMS) or
+// dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS).
+// If you specify default encryption by using SSE-KMS, you can also configure
+// Amazon S3 Bucket Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html)
// . If you use PutBucketEncryption to set your default bucket encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html)
// to SSE-KMS, you should verify that your KMS key ID is correct. Amazon S3 does
// not validate the KMS key ID provided in PutBucketEncryption requests. This
@@ -76,12 +73,12 @@ type PutBucketEncryptionInput struct {
// This member is required.
ServerSideEncryptionConfiguration *types.ServerSideEncryptionConfiguration
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -92,14 +89,19 @@ type PutBucketEncryptionInput struct {
// automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *PutBucketEncryptionInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketEncryptionOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -108,6 +110,9 @@ type PutBucketEncryptionOutput struct {
}
func (c *Client) addOperationPutBucketEncryptionMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketEncryption{}, middleware.After)
if err != nil {
return err
@@ -116,6 +121,10 @@ func (c *Client) addOperationPutBucketEncryptionMiddlewares(stack *middleware.St
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketEncryption"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -137,9 +146,6 @@ func (c *Client) addOperationPutBucketEncryptionMiddlewares(stack *middleware.St
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -155,10 +161,10 @@ func (c *Client) addOperationPutBucketEncryptionMiddlewares(stack *middleware.St
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketEncryptionResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketEncryptionValidationMiddleware(stack); err != nil {
@@ -191,12 +197,15 @@ func (c *Client) addOperationPutBucketEncryptionMiddlewares(stack *middleware.St
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -211,7 +220,6 @@ func newServiceMetadataMiddleware_opPutBucketEncryption(region string) *awsmiddl
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketEncryption",
}
}
@@ -261,139 +269,3 @@ func addPutBucketEncryptionUpdateEndpoint(stack *middleware.Stack, options Optio
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketEncryptionResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketEncryptionResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketEncryptionResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketEncryptionInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketEncryptionResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketEncryptionResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketIntelligentTieringConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketIntelligentTieringConfiguration.go
index d6725e64..a5f8fc7a 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketIntelligentTieringConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketIntelligentTieringConfiguration.go
@@ -4,22 +4,19 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Puts a S3 Intelligent-Tiering configuration to the specified bucket. You can
-// have up to 1,000 S3 Intelligent-Tiering configurations per bucket. The S3
+// This operation is not supported by directory buckets. Puts a S3
+// Intelligent-Tiering configuration to the specified bucket. You can have up to
+// 1,000 S3 Intelligent-Tiering configurations per bucket. The S3
// Intelligent-Tiering storage class is designed to optimize storage costs by
// automatically moving data to the most cost-effective storage access tier,
// without performance impact or operational overhead. S3 Intelligent-Tiering
@@ -84,6 +81,11 @@ type PutBucketIntelligentTieringConfigurationInput struct {
noSmithyDocumentSerde
}
+func (in *PutBucketIntelligentTieringConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketIntelligentTieringConfigurationOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -92,6 +94,9 @@ type PutBucketIntelligentTieringConfigurationOutput struct {
}
func (c *Client) addOperationPutBucketIntelligentTieringConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketIntelligentTieringConfiguration{}, middleware.After)
if err != nil {
return err
@@ -100,6 +105,10 @@ func (c *Client) addOperationPutBucketIntelligentTieringConfigurationMiddlewares
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketIntelligentTieringConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -121,9 +130,6 @@ func (c *Client) addOperationPutBucketIntelligentTieringConfigurationMiddlewares
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -139,10 +145,10 @@ func (c *Client) addOperationPutBucketIntelligentTieringConfigurationMiddlewares
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketIntelligentTieringConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketIntelligentTieringConfigurationValidationMiddleware(stack); err != nil {
@@ -172,7 +178,7 @@ func (c *Client) addOperationPutBucketIntelligentTieringConfigurationMiddlewares
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -192,7 +198,6 @@ func newServiceMetadataMiddleware_opPutBucketIntelligentTieringConfiguration(reg
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketIntelligentTieringConfiguration",
}
}
@@ -222,139 +227,3 @@ func addPutBucketIntelligentTieringConfigurationUpdateEndpoint(stack *middleware
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketIntelligentTieringConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketIntelligentTieringConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketIntelligentTieringConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketIntelligentTieringConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketIntelligentTieringConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketIntelligentTieringConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketInventoryConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketInventoryConfiguration.go
index 8c7f195d..e2d06796 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketInventoryConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketInventoryConfiguration.go
@@ -4,33 +4,29 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// This implementation of the PUT action adds an inventory configuration
-// (identified by the inventory ID) to the bucket. You can have up to 1,000
-// inventory configurations per bucket. Amazon S3 inventory generates inventories
-// of the objects in the bucket on a daily or weekly basis, and the results are
-// published to a flat file. The bucket that is inventoried is called the source
-// bucket, and the bucket where the inventory flat file is stored is called the
-// destination bucket. The destination bucket must be in the same Amazon Web
-// Services Region as the source bucket. When you configure an inventory for a
-// source bucket, you specify the destination bucket where you want the inventory
-// to be stored, and whether to generate the inventory daily or weekly. You can
-// also configure what object metadata to include and whether to inventory all
-// object versions or only current versions. For more information, see Amazon S3
-// Inventory (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html)
+// This operation is not supported by directory buckets. This implementation of
+// the PUT action adds an inventory configuration (identified by the inventory ID)
+// to the bucket. You can have up to 1,000 inventory configurations per bucket.
+// Amazon S3 inventory generates inventories of the objects in the bucket on a
+// daily or weekly basis, and the results are published to a flat file. The bucket
+// that is inventoried is called the source bucket, and the bucket where the
+// inventory flat file is stored is called the destination bucket. The destination
+// bucket must be in the same Amazon Web Services Region as the source bucket. When
+// you configure an inventory for a source bucket, you specify the destination
+// bucket where you want the inventory to be stored, and whether to generate the
+// inventory daily or weekly. You can also configure what object metadata to
+// include and whether to inventory all object versions or only current versions.
+// For more information, see Amazon S3 Inventory (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html)
// in the Amazon S3 User Guide. You must create a bucket policy on the destination
// bucket to grant permissions to Amazon S3 to write objects to the bucket in the
// defined location. For an example policy, see Granting Permissions for Amazon S3
@@ -92,14 +88,19 @@ type PutBucketInventoryConfigurationInput struct {
// This member is required.
InventoryConfiguration *types.InventoryConfiguration
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *PutBucketInventoryConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketInventoryConfigurationOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -108,6 +109,9 @@ type PutBucketInventoryConfigurationOutput struct {
}
func (c *Client) addOperationPutBucketInventoryConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketInventoryConfiguration{}, middleware.After)
if err != nil {
return err
@@ -116,6 +120,10 @@ func (c *Client) addOperationPutBucketInventoryConfigurationMiddlewares(stack *m
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketInventoryConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -137,9 +145,6 @@ func (c *Client) addOperationPutBucketInventoryConfigurationMiddlewares(stack *m
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -155,10 +160,10 @@ func (c *Client) addOperationPutBucketInventoryConfigurationMiddlewares(stack *m
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketInventoryConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketInventoryConfigurationValidationMiddleware(stack); err != nil {
@@ -188,7 +193,7 @@ func (c *Client) addOperationPutBucketInventoryConfigurationMiddlewares(stack *m
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -208,7 +213,6 @@ func newServiceMetadataMiddleware_opPutBucketInventoryConfiguration(region strin
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketInventoryConfiguration",
}
}
@@ -238,139 +242,3 @@ func addPutBucketInventoryConfigurationUpdateEndpoint(stack *middleware.Stack, o
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketInventoryConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketInventoryConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketInventoryConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketInventoryConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketInventoryConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketInventoryConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketLifecycleConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketLifecycleConfiguration.go
index 1cebaee5..ac2b63eb 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketLifecycleConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketLifecycleConfiguration.go
@@ -4,26 +4,23 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Creates a new lifecycle configuration for the bucket or replaces an existing
-// lifecycle configuration. Keep in mind that this will overwrite an existing
-// lifecycle configuration, so if you want to retain any configuration details,
-// they must be included in the new lifecycle configuration. For information about
-// lifecycle configuration, see Managing your storage lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)
+// This operation is not supported by directory buckets. Creates a new lifecycle
+// configuration for the bucket or replaces an existing lifecycle configuration.
+// Keep in mind that this will overwrite an existing lifecycle configuration, so if
+// you want to retain any configuration details, they must be included in the new
+// lifecycle configuration. For information about lifecycle configuration, see
+// Managing your storage lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)
// . Bucket lifecycle configuration now supports specifying a lifecycle rule using
// an object key name prefix, one or more object tags, or a combination of both.
// Accordingly, this section describes the latest API. The previous version of the
@@ -91,19 +88,19 @@ type PutBucketLifecycleConfigurationInput struct {
// This member is required.
Bucket *string
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Container for lifecycle rules. You can add as many as 1,000 rules.
@@ -112,6 +109,11 @@ type PutBucketLifecycleConfigurationInput struct {
noSmithyDocumentSerde
}
+func (in *PutBucketLifecycleConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketLifecycleConfigurationOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -120,6 +122,9 @@ type PutBucketLifecycleConfigurationOutput struct {
}
func (c *Client) addOperationPutBucketLifecycleConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketLifecycleConfiguration{}, middleware.After)
if err != nil {
return err
@@ -128,6 +133,10 @@ func (c *Client) addOperationPutBucketLifecycleConfigurationMiddlewares(stack *m
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketLifecycleConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -149,9 +158,6 @@ func (c *Client) addOperationPutBucketLifecycleConfigurationMiddlewares(stack *m
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -167,10 +173,10 @@ func (c *Client) addOperationPutBucketLifecycleConfigurationMiddlewares(stack *m
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketLifecycleConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketLifecycleConfigurationValidationMiddleware(stack); err != nil {
@@ -203,12 +209,15 @@ func (c *Client) addOperationPutBucketLifecycleConfigurationMiddlewares(stack *m
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -223,7 +232,6 @@ func newServiceMetadataMiddleware_opPutBucketLifecycleConfiguration(region strin
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketLifecycleConfiguration",
}
}
@@ -273,139 +281,3 @@ func addPutBucketLifecycleConfigurationUpdateEndpoint(stack *middleware.Stack, o
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketLifecycleConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketLifecycleConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketLifecycleConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketLifecycleConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketLifecycleConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketLifecycleConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketLogging.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketLogging.go
index 45628824..e69fa24c 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketLogging.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketLogging.go
@@ -4,32 +4,28 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Set the logging parameters for a bucket and to specify permissions for who can
-// view and modify the logging parameters. All logs are saved to buckets in the
-// same Amazon Web Services Region as the source bucket. To set the logging status
-// of a bucket, you must be the bucket owner. The bucket owner is automatically
-// granted FULL_CONTROL to all logs. You use the Grantee request element to grant
-// access to other people. The Permissions request element specifies the kind of
-// access the grantee has to the logs. If the target bucket for log delivery uses
-// the bucket owner enforced setting for S3 Object Ownership, you can't use the
-// Grantee request element to grant access to others. Permissions can only be
-// granted using policies. For more information, see Permissions for server access
-// log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general)
+// This operation is not supported by directory buckets. Set the logging
+// parameters for a bucket and to specify permissions for who can view and modify
+// the logging parameters. All logs are saved to buckets in the same Amazon Web
+// Services Region as the source bucket. To set the logging status of a bucket, you
+// must be the bucket owner. The bucket owner is automatically granted FULL_CONTROL
+// to all logs. You use the Grantee request element to grant access to other
+// people. The Permissions request element specifies the kind of access the
+// grantee has to the logs. If the target bucket for log delivery uses the bucket
+// owner enforced setting for S3 Object Ownership, you can't use the Grantee
+// request element to grant access to others. Permissions can only be granted using
+// policies. For more information, see Permissions for server access log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general)
// in the Amazon S3 User Guide. Grantee Values You can specify the person (grantee)
// to whom you're assigning access rights (by using request elements) in the
// following ways:
@@ -79,12 +75,12 @@ type PutBucketLoggingInput struct {
// This member is required.
BucketLoggingStatus *types.BucketLoggingStatus
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -94,14 +90,19 @@ type PutBucketLoggingInput struct {
// this field is calculated automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *PutBucketLoggingInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketLoggingOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -110,6 +111,9 @@ type PutBucketLoggingOutput struct {
}
func (c *Client) addOperationPutBucketLoggingMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketLogging{}, middleware.After)
if err != nil {
return err
@@ -118,6 +122,10 @@ func (c *Client) addOperationPutBucketLoggingMiddlewares(stack *middleware.Stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketLogging"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -139,9 +147,6 @@ func (c *Client) addOperationPutBucketLoggingMiddlewares(stack *middleware.Stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -157,10 +162,10 @@ func (c *Client) addOperationPutBucketLoggingMiddlewares(stack *middleware.Stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketLoggingResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketLoggingValidationMiddleware(stack); err != nil {
@@ -193,12 +198,15 @@ func (c *Client) addOperationPutBucketLoggingMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -213,7 +221,6 @@ func newServiceMetadataMiddleware_opPutBucketLogging(region string) *awsmiddlewa
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketLogging",
}
}
@@ -263,139 +270,3 @@ func addPutBucketLoggingUpdateEndpoint(stack *middleware.Stack, options Options)
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketLoggingResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketLoggingResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketLoggingResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketLoggingInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketLoggingResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketLoggingResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketMetricsConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketMetricsConfiguration.go
index 785a1f83..099736c1 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketMetricsConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketMetricsConfiguration.go
@@ -4,29 +4,26 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Sets a metrics configuration (specified by the metrics configuration ID) for
-// the bucket. You can have up to 1,000 metrics configurations per bucket. If
-// you're updating an existing metrics configuration, note that this is a full
-// replacement of the existing metrics configuration. If you don't include the
-// elements you want to keep, they are erased. To use this operation, you must have
-// permissions to perform the s3:PutMetricsConfiguration action. The bucket owner
-// has this permission by default. The bucket owner can grant this permission to
-// others. For more information about permissions, see Permissions Related to
-// Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
+// This operation is not supported by directory buckets. Sets a metrics
+// configuration (specified by the metrics configuration ID) for the bucket. You
+// can have up to 1,000 metrics configurations per bucket. If you're updating an
+// existing metrics configuration, note that this is a full replacement of the
+// existing metrics configuration. If you don't include the elements you want to
+// keep, they are erased. To use this operation, you must have permissions to
+// perform the s3:PutMetricsConfiguration action. The bucket owner has this
+// permission by default. The bucket owner can grant this permission to others. For
+// more information about permissions, see Permissions Related to Bucket
+// Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html)
// . For information about CloudWatch request metrics for Amazon S3, see
// Monitoring Metrics with Amazon CloudWatch (https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html)
@@ -73,14 +70,19 @@ type PutBucketMetricsConfigurationInput struct {
// This member is required.
MetricsConfiguration *types.MetricsConfiguration
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *PutBucketMetricsConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketMetricsConfigurationOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -89,6 +91,9 @@ type PutBucketMetricsConfigurationOutput struct {
}
func (c *Client) addOperationPutBucketMetricsConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketMetricsConfiguration{}, middleware.After)
if err != nil {
return err
@@ -97,6 +102,10 @@ func (c *Client) addOperationPutBucketMetricsConfigurationMiddlewares(stack *mid
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketMetricsConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -118,9 +127,6 @@ func (c *Client) addOperationPutBucketMetricsConfigurationMiddlewares(stack *mid
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -136,10 +142,10 @@ func (c *Client) addOperationPutBucketMetricsConfigurationMiddlewares(stack *mid
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketMetricsConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketMetricsConfigurationValidationMiddleware(stack); err != nil {
@@ -169,7 +175,7 @@ func (c *Client) addOperationPutBucketMetricsConfigurationMiddlewares(stack *mid
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -189,7 +195,6 @@ func newServiceMetadataMiddleware_opPutBucketMetricsConfiguration(region string)
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketMetricsConfiguration",
}
}
@@ -219,139 +224,3 @@ func addPutBucketMetricsConfigurationUpdateEndpoint(stack *middleware.Stack, opt
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketMetricsConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketMetricsConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketMetricsConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketMetricsConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketMetricsConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketMetricsConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketNotificationConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketNotificationConfiguration.go
index 098445cf..7139f6ea 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketNotificationConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketNotificationConfiguration.go
@@ -4,22 +4,19 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Enables notifications of specified events for a bucket. For more information
-// about event notifications, see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
+// This operation is not supported by directory buckets. Enables notifications of
+// specified events for a bucket. For more information about event notifications,
+// see Configuring Event Notifications (https://docs.aws.amazon.com/AmazonS3/latest/dev/NotificationHowTo.html)
// . Using this API, you can replace an existing notification configuration. The
// configuration is an XML file that defines the event types that you want Amazon
// S3 to publish and the destination where you want Amazon S3 to publish an event
@@ -80,18 +77,23 @@ type PutBucketNotificationConfigurationInput struct {
// This member is required.
NotificationConfiguration *types.NotificationConfiguration
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations. True or
// false value.
- SkipDestinationValidation bool
+ SkipDestinationValidation *bool
noSmithyDocumentSerde
}
+func (in *PutBucketNotificationConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketNotificationConfigurationOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -100,6 +102,9 @@ type PutBucketNotificationConfigurationOutput struct {
}
func (c *Client) addOperationPutBucketNotificationConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketNotificationConfiguration{}, middleware.After)
if err != nil {
return err
@@ -108,6 +113,10 @@ func (c *Client) addOperationPutBucketNotificationConfigurationMiddlewares(stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketNotificationConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -129,9 +138,6 @@ func (c *Client) addOperationPutBucketNotificationConfigurationMiddlewares(stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -147,10 +153,10 @@ func (c *Client) addOperationPutBucketNotificationConfigurationMiddlewares(stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketNotificationConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketNotificationConfigurationValidationMiddleware(stack); err != nil {
@@ -180,7 +186,7 @@ func (c *Client) addOperationPutBucketNotificationConfigurationMiddlewares(stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -200,7 +206,6 @@ func newServiceMetadataMiddleware_opPutBucketNotificationConfiguration(region st
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketNotificationConfiguration",
}
}
@@ -230,139 +235,3 @@ func addPutBucketNotificationConfigurationUpdateEndpoint(stack *middleware.Stack
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketNotificationConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketNotificationConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketNotificationConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketNotificationConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketNotificationConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketNotificationConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketOwnershipControls.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketOwnershipControls.go
index 6944f1b8..f89f86d6 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketOwnershipControls.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketOwnershipControls.go
@@ -4,24 +4,21 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Creates or modifies OwnershipControls for an Amazon S3 bucket. To use this
-// operation, you must have the s3:PutBucketOwnershipControls permission. For more
-// information about Amazon S3 permissions, see Specifying permissions in a policy (https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-with-s3-actions.html)
+// This operation is not supported by directory buckets. Creates or modifies
+// OwnershipControls for an Amazon S3 bucket. To use this operation, you must have
+// the s3:PutBucketOwnershipControls permission. For more information about Amazon
+// S3 permissions, see Specifying permissions in a policy (https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-with-s3-actions.html)
// . For information about Amazon S3 Object Ownership, see Using object ownership (https://docs.aws.amazon.com/AmazonS3/latest/user-guide/about-object-ownership.html)
// . The following operations are related to PutBucketOwnershipControls :
// - GetBucketOwnershipControls
@@ -59,14 +56,19 @@ type PutBucketOwnershipControlsInput struct {
// this field is calculated automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *PutBucketOwnershipControlsInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketOwnershipControlsOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -75,6 +77,9 @@ type PutBucketOwnershipControlsOutput struct {
}
func (c *Client) addOperationPutBucketOwnershipControlsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketOwnershipControls{}, middleware.After)
if err != nil {
return err
@@ -83,6 +88,10 @@ func (c *Client) addOperationPutBucketOwnershipControlsMiddlewares(stack *middle
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketOwnershipControls"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -104,9 +113,6 @@ func (c *Client) addOperationPutBucketOwnershipControlsMiddlewares(stack *middle
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -122,10 +128,10 @@ func (c *Client) addOperationPutBucketOwnershipControlsMiddlewares(stack *middle
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketOwnershipControlsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketOwnershipControlsValidationMiddleware(stack); err != nil {
@@ -158,12 +164,15 @@ func (c *Client) addOperationPutBucketOwnershipControlsMiddlewares(stack *middle
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -178,7 +187,6 @@ func newServiceMetadataMiddleware_opPutBucketOwnershipControls(region string) *a
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketOwnershipControls",
}
}
@@ -218,139 +226,3 @@ func addPutBucketOwnershipControlsUpdateEndpoint(stack *middleware.Stack, option
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketOwnershipControlsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketOwnershipControlsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketOwnershipControlsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketOwnershipControlsInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketOwnershipControlsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketOwnershipControlsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketPolicy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketPolicy.go
index 999c38a7..b3da186a 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketPolicy.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketPolicy.go
@@ -4,37 +4,57 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Applies an Amazon S3 bucket policy to an Amazon S3 bucket. If you are using an
-// identity other than the root user of the Amazon Web Services account that owns
-// the bucket, the calling identity must have the PutBucketPolicy permissions on
-// the specified bucket and belong to the bucket owner's account in order to use
-// this operation. If you don't have PutBucketPolicy permissions, Amazon S3
-// returns a 403 Access Denied error. If you have the correct permissions, but
-// you're not using an identity that belongs to the bucket owner's account, Amazon
-// S3 returns a 405 Method Not Allowed error. To ensure that bucket owners don't
+// Applies an Amazon S3 bucket policy to an Amazon S3 bucket. Directory buckets -
+// For directory buckets, you must make requests for this API operation to the
+// Regional endpoint. These endpoints support path-style requests in the format
+// https://s3express-control.region_code.amazonaws.com/bucket-name .
+// Virtual-hosted-style requests aren't supported. For more information, see
+// Regional and Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Permissions If you are using an identity other than
+// the root user of the Amazon Web Services account that owns the bucket, the
+// calling identity must both have the PutBucketPolicy permissions on the
+// specified bucket and belong to the bucket owner's account in order to use this
+// operation. If you don't have PutBucketPolicy permissions, Amazon S3 returns a
+// 403 Access Denied error. If you have the correct permissions, but you're not
+// using an identity that belongs to the bucket owner's account, Amazon S3 returns
+// a 405 Method Not Allowed error. To ensure that bucket owners don't
// inadvertently lock themselves out of their own buckets, the root principal in a
// bucket owner's Amazon Web Services account can perform the GetBucketPolicy ,
// PutBucketPolicy , and DeleteBucketPolicy API actions, even if their bucket
// policy explicitly denies the root principal's access. Bucket owner root
// principals can only be blocked from performing these API actions by VPC endpoint
-// policies and Amazon Web Services Organizations policies. For more information,
-// see Bucket policy examples (https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html)
-// . The following operations are related to PutBucketPolicy :
+// policies and Amazon Web Services Organizations policies.
+// - General purpose bucket permissions - The s3:PutBucketPolicy permission is
+// required in a policy. For more information about general purpose buckets bucket
+// policies, see Using Bucket Policies and User Policies (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-iam-policies.html)
+// in the Amazon S3 User Guide.
+// - Directory bucket permissions - To grant access to this API operation, you
+// must have the s3express:PutBucketPolicy permission in an IAM identity-based
+// policy instead of a bucket policy. Cross-account access to this API operation
+// isn't supported. This operation can only be performed by the Amazon Web Services
+// account that owns the resource. For more information about directory bucket
+// policies and permissions, see Amazon Web Services Identity and Access
+// Management (IAM) for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html)
+// in the Amazon S3 User Guide.
+//
+// Example bucket policies General purpose buckets example bucket policies - See
+// Bucket policy examples (https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html)
+// in the Amazon S3 User Guide. Directory bucket example bucket policies - See
+// Example bucket policies for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html)
+// in the Amazon S3 User Guide. HTTP Host header syntax Directory buckets - The
+// HTTP Host header syntax is s3express-control.region.amazonaws.com . The
+// following operations are related to PutBucketPolicy :
// - CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)
// - DeleteBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html)
func (c *Client) PutBucketPolicy(ctx context.Context, params *PutBucketPolicyInput, optFns ...func(*Options)) (*PutBucketPolicyOutput, error) {
@@ -54,43 +74,72 @@ func (c *Client) PutBucketPolicy(ctx context.Context, params *PutBucketPolicyInp
type PutBucketPolicyInput struct {
- // The name of the bucket.
+ // The name of the bucket. Directory buckets - When you use this operation with a
+ // directory bucket, you must use path-style requests in the format
+ // https://s3express-control.region_code.amazonaws.com/bucket-name .
+ // Virtual-hosted-style requests aren't supported. Directory bucket names must be
+ // unique in the chosen Availability Zone. Bucket names must also follow the format
+ // bucket_base_name--az_id--x-s3 (for example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3
+ // ). For information about bucket naming restrictions, see Directory bucket
+ // naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide
//
// This member is required.
Bucket *string
- // The bucket policy as a JSON document.
+ // The bucket policy as a JSON document. For directory buckets, the only IAM
+ // action supported in the bucket policy is s3express:CreateSession .
//
// This member is required.
Policy *string
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
- // in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
- // ignores any provided ChecksumAlgorithm parameter.
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum-algorithm or x-amz-trailer header sent. Otherwise, Amazon S3
+ // fails the request with the HTTP status code 400 Bad Request . For the
+ // x-amz-checksum-algorithm header, replace algorithm with the supported
+ // algorithm from the following list:
+ // - CRC32
+ // - CRC32C
+ // - SHA1
+ // - SHA256
+ // For more information, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide. If the individual checksum value you provide
+ // through x-amz-checksum-algorithm doesn't match the checksum algorithm you set
+ // through x-amz-sdk-checksum-algorithm , Amazon S3 ignores any provided
+ // ChecksumAlgorithm parameter and uses the checksum algorithm that matches the
+ // provided value in x-amz-checksum-algorithm . For directory buckets, when you
+ // use Amazon Web Services SDKs, CRC32 is the default checksum algorithm that's
+ // used for performance.
ChecksumAlgorithm types.ChecksumAlgorithm
// Set this parameter to true to confirm that you want to remove your permissions
- // to change this bucket policy in the future.
- ConfirmRemoveSelfBucketAccess bool
+ // to change this bucket policy in the future. This functionality is not supported
+ // for directory buckets.
+ ConfirmRemoveSelfBucketAccess *bool
// The MD5 hash of the request body. For requests made using the Amazon Web
// Services Command Line Interface (CLI) or Amazon Web Services SDKs, this field is
- // calculated automatically.
+ // calculated automatically. This functionality is not supported for directory
+ // buckets.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied). For directory buckets, this header
+ // is not supported in this API operation. If you specify this header, the request
+ // fails with the HTTP status code 501 Not Implemented .
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *PutBucketPolicyInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketPolicyOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -99,6 +148,9 @@ type PutBucketPolicyOutput struct {
}
func (c *Client) addOperationPutBucketPolicyMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketPolicy{}, middleware.After)
if err != nil {
return err
@@ -107,6 +159,10 @@ func (c *Client) addOperationPutBucketPolicyMiddlewares(stack *middleware.Stack,
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketPolicy"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -128,9 +184,6 @@ func (c *Client) addOperationPutBucketPolicyMiddlewares(stack *middleware.Stack,
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -146,10 +199,10 @@ func (c *Client) addOperationPutBucketPolicyMiddlewares(stack *middleware.Stack,
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketPolicyResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketPolicyValidationMiddleware(stack); err != nil {
@@ -182,12 +235,15 @@ func (c *Client) addOperationPutBucketPolicyMiddlewares(stack *middleware.Stack,
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -202,7 +258,6 @@ func newServiceMetadataMiddleware_opPutBucketPolicy(region string) *awsmiddlewar
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketPolicy",
}
}
@@ -252,139 +307,3 @@ func addPutBucketPolicyUpdateEndpoint(stack *middleware.Stack, options Options)
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketPolicyResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketPolicyResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketPolicyResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketPolicyInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketPolicyResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketPolicyResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketReplication.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketReplication.go
index d44e96bc..ddf58ad8 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketReplication.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketReplication.go
@@ -4,23 +4,19 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Creates a replication configuration or replaces an existing one. For more
-// information, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html)
+// This operation is not supported by directory buckets. Creates a replication
+// configuration or replaces an existing one. For more information, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html)
// in the Amazon S3 User Guide. Specify the replication configuration in the
// request body. In the replication configuration, you provide the name of the
// destination bucket or buckets where you want Amazon S3 to replicate objects, the
@@ -88,12 +84,12 @@ type PutBucketReplicationInput struct {
// This member is required.
ReplicationConfiguration *types.ReplicationConfiguration
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -105,9 +101,9 @@ type PutBucketReplicationInput struct {
// or Amazon Web Services SDKs, this field is calculated automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// A token to allow Object Lock to be enabled for an existing bucket.
@@ -116,6 +112,11 @@ type PutBucketReplicationInput struct {
noSmithyDocumentSerde
}
+func (in *PutBucketReplicationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketReplicationOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -124,6 +125,9 @@ type PutBucketReplicationOutput struct {
}
func (c *Client) addOperationPutBucketReplicationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketReplication{}, middleware.After)
if err != nil {
return err
@@ -132,6 +136,10 @@ func (c *Client) addOperationPutBucketReplicationMiddlewares(stack *middleware.S
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketReplication"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -153,9 +161,6 @@ func (c *Client) addOperationPutBucketReplicationMiddlewares(stack *middleware.S
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -171,10 +176,10 @@ func (c *Client) addOperationPutBucketReplicationMiddlewares(stack *middleware.S
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketReplicationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketReplicationValidationMiddleware(stack); err != nil {
@@ -207,12 +212,15 @@ func (c *Client) addOperationPutBucketReplicationMiddlewares(stack *middleware.S
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -227,7 +235,6 @@ func newServiceMetadataMiddleware_opPutBucketReplication(region string) *awsmidd
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketReplication",
}
}
@@ -277,139 +284,3 @@ func addPutBucketReplicationUpdateEndpoint(stack *middleware.Stack, options Opti
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketReplicationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketReplicationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketReplicationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketReplicationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketReplicationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketReplicationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketRequestPayment.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketRequestPayment.go
index 427b7b10..d1dc5a76 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketRequestPayment.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketRequestPayment.go
@@ -4,25 +4,22 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Sets the request payment configuration for a bucket. By default, the bucket
-// owner pays for downloads from the bucket. This configuration parameter enables
-// the bucket owner (only) to specify that the person requesting the download will
-// be charged for the download. For more information, see Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html)
+// This operation is not supported by directory buckets. Sets the request payment
+// configuration for a bucket. By default, the bucket owner pays for downloads from
+// the bucket. This configuration parameter enables the bucket owner (only) to
+// specify that the person requesting the download will be charged for the
+// download. For more information, see Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/RequesterPaysBuckets.html)
// . The following operations are related to PutBucketRequestPayment :
// - CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html)
// - GetBucketRequestPayment (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html)
@@ -53,12 +50,12 @@ type PutBucketRequestPaymentInput struct {
// This member is required.
RequestPaymentConfiguration *types.RequestPaymentConfiguration
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -70,14 +67,19 @@ type PutBucketRequestPaymentInput struct {
// or Amazon Web Services SDKs, this field is calculated automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *PutBucketRequestPaymentInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketRequestPaymentOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -86,6 +88,9 @@ type PutBucketRequestPaymentOutput struct {
}
func (c *Client) addOperationPutBucketRequestPaymentMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketRequestPayment{}, middleware.After)
if err != nil {
return err
@@ -94,6 +99,10 @@ func (c *Client) addOperationPutBucketRequestPaymentMiddlewares(stack *middlewar
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketRequestPayment"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -115,9 +124,6 @@ func (c *Client) addOperationPutBucketRequestPaymentMiddlewares(stack *middlewar
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -133,10 +139,10 @@ func (c *Client) addOperationPutBucketRequestPaymentMiddlewares(stack *middlewar
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketRequestPaymentResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketRequestPaymentValidationMiddleware(stack); err != nil {
@@ -169,12 +175,15 @@ func (c *Client) addOperationPutBucketRequestPaymentMiddlewares(stack *middlewar
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -189,7 +198,6 @@ func newServiceMetadataMiddleware_opPutBucketRequestPayment(region string) *awsm
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketRequestPayment",
}
}
@@ -239,139 +247,3 @@ func addPutBucketRequestPaymentUpdateEndpoint(stack *middleware.Stack, options O
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketRequestPaymentResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketRequestPaymentResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketRequestPaymentResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketRequestPaymentInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketRequestPaymentResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketRequestPaymentResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketTagging.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketTagging.go
index 9792ad38..725facc1 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketTagging.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketTagging.go
@@ -4,29 +4,26 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Sets the tags for a bucket. Use tags to organize your Amazon Web Services bill
-// to reflect your own cost structure. To do this, sign up to get your Amazon Web
-// Services account bill with tag key values included. Then, to see the cost of
-// combined resources, organize your billing information according to resources
-// with the same tag key values. For example, you can tag several resources with a
-// specific application name, and then organize your billing information to see the
-// total cost of that application across several services. For more information,
-// see Cost Allocation and Tagging (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)
+// This operation is not supported by directory buckets. Sets the tags for a
+// bucket. Use tags to organize your Amazon Web Services bill to reflect your own
+// cost structure. To do this, sign up to get your Amazon Web Services account bill
+// with tag key values included. Then, to see the cost of combined resources,
+// organize your billing information according to resources with the same tag key
+// values. For example, you can tag several resources with a specific application
+// name, and then organize your billing information to see the total cost of that
+// application across several services. For more information, see Cost Allocation
+// and Tagging (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)
// and Using Cost Allocation in Amazon S3 Bucket Tags (https://docs.aws.amazon.com/AmazonS3/latest/userguide/CostAllocTagging.html)
// . When this operation sets the tags for a bucket, it will overwrite any current
// tags the bucket already has. You cannot use this operation to add tags to an
@@ -78,12 +75,12 @@ type PutBucketTaggingInput struct {
// This member is required.
Tagging *types.Tagging
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -95,14 +92,19 @@ type PutBucketTaggingInput struct {
// or Amazon Web Services SDKs, this field is calculated automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *PutBucketTaggingInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketTaggingOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -111,6 +113,9 @@ type PutBucketTaggingOutput struct {
}
func (c *Client) addOperationPutBucketTaggingMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketTagging{}, middleware.After)
if err != nil {
return err
@@ -119,6 +124,10 @@ func (c *Client) addOperationPutBucketTaggingMiddlewares(stack *middleware.Stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketTagging"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -140,9 +149,6 @@ func (c *Client) addOperationPutBucketTaggingMiddlewares(stack *middleware.Stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -158,10 +164,10 @@ func (c *Client) addOperationPutBucketTaggingMiddlewares(stack *middleware.Stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketTaggingResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketTaggingValidationMiddleware(stack); err != nil {
@@ -194,12 +200,15 @@ func (c *Client) addOperationPutBucketTaggingMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -214,7 +223,6 @@ func newServiceMetadataMiddleware_opPutBucketTagging(region string) *awsmiddlewa
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketTagging",
}
}
@@ -264,139 +272,3 @@ func addPutBucketTaggingUpdateEndpoint(stack *middleware.Stack, options Options)
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketTaggingResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketTaggingResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketTaggingResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketTaggingInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketTaggingResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketTaggingResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketVersioning.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketVersioning.go
index 9e3ddf76..c2b751ab 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketVersioning.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketVersioning.go
@@ -4,27 +4,24 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Sets the versioning state of an existing bucket. You can set the versioning
-// state with one of the following values: Enabled—Enables versioning for the
-// objects in the bucket. All objects added to the bucket receive a unique version
-// ID. Suspended—Disables versioning for the objects in the bucket. All objects
-// added to the bucket receive the version ID null. If the versioning state has
-// never been set on a bucket, it has no versioning state; a GetBucketVersioning (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html)
+// This operation is not supported by directory buckets. Sets the versioning state
+// of an existing bucket. You can set the versioning state with one of the
+// following values: Enabled—Enables versioning for the objects in the bucket. All
+// objects added to the bucket receive a unique version ID. Suspended—Disables
+// versioning for the objects in the bucket. All objects added to the bucket
+// receive the version ID null. If the versioning state has never been set on a
+// bucket, it has no versioning state; a GetBucketVersioning (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html)
// request does not return a versioning state value. In order to enable MFA Delete,
// you must be the bucket owner. If you are the bucket owner and want to enable MFA
// Delete in the bucket versioning configuration, you must include the x-amz-mfa
@@ -67,12 +64,12 @@ type PutBucketVersioningInput struct {
// This member is required.
VersioningConfiguration *types.VersioningConfiguration
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -84,9 +81,9 @@ type PutBucketVersioningInput struct {
// or Amazon Web Services SDKs, this field is calculated automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// The concatenation of the authentication device's serial number, a space, and
@@ -96,6 +93,11 @@ type PutBucketVersioningInput struct {
noSmithyDocumentSerde
}
+func (in *PutBucketVersioningInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketVersioningOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -104,6 +106,9 @@ type PutBucketVersioningOutput struct {
}
func (c *Client) addOperationPutBucketVersioningMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketVersioning{}, middleware.After)
if err != nil {
return err
@@ -112,6 +117,10 @@ func (c *Client) addOperationPutBucketVersioningMiddlewares(stack *middleware.St
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketVersioning"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -133,9 +142,6 @@ func (c *Client) addOperationPutBucketVersioningMiddlewares(stack *middleware.St
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -151,10 +157,10 @@ func (c *Client) addOperationPutBucketVersioningMiddlewares(stack *middleware.St
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketVersioningResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketVersioningValidationMiddleware(stack); err != nil {
@@ -187,12 +193,15 @@ func (c *Client) addOperationPutBucketVersioningMiddlewares(stack *middleware.St
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -207,7 +216,6 @@ func newServiceMetadataMiddleware_opPutBucketVersioning(region string) *awsmiddl
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketVersioning",
}
}
@@ -257,139 +265,3 @@ func addPutBucketVersioningUpdateEndpoint(stack *middleware.Stack, options Optio
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketVersioningResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketVersioningResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketVersioningResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketVersioningInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketVersioningResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketVersioningResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketWebsite.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketWebsite.go
index e21b4c17..27555453 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketWebsite.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutBucketWebsite.go
@@ -4,26 +4,22 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Sets the configuration of the website that is specified in the website
-// subresource. To configure a bucket as a website, you can add this subresource on
-// the bucket with website configuration information such as the file name of the
-// index document and any redirect rules. For more information, see Hosting
-// Websites on Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html)
+// This operation is not supported by directory buckets. Sets the configuration of
+// the website that is specified in the website subresource. To configure a bucket
+// as a website, you can add this subresource on the bucket with website
+// configuration information such as the file name of the index document and any
+// redirect rules. For more information, see Hosting Websites on Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html)
// . This PUT action requires the S3:PutBucketWebsite permission. By default, only
// the bucket owner can configure the website attached to a bucket; however, bucket
// owners can allow other users to set the website configuration by writing a
@@ -89,12 +85,12 @@ type PutBucketWebsiteInput struct {
// This member is required.
WebsiteConfiguration *types.WebsiteConfiguration
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -106,14 +102,19 @@ type PutBucketWebsiteInput struct {
// or Amazon Web Services SDKs, this field is calculated automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *PutBucketWebsiteInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutBucketWebsiteOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -122,6 +123,9 @@ type PutBucketWebsiteOutput struct {
}
func (c *Client) addOperationPutBucketWebsiteMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutBucketWebsite{}, middleware.After)
if err != nil {
return err
@@ -130,6 +134,10 @@ func (c *Client) addOperationPutBucketWebsiteMiddlewares(stack *middleware.Stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutBucketWebsite"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -151,9 +159,6 @@ func (c *Client) addOperationPutBucketWebsiteMiddlewares(stack *middleware.Stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -169,10 +174,10 @@ func (c *Client) addOperationPutBucketWebsiteMiddlewares(stack *middleware.Stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutBucketWebsiteResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketWebsiteValidationMiddleware(stack); err != nil {
@@ -205,12 +210,15 @@ func (c *Client) addOperationPutBucketWebsiteMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -225,7 +233,6 @@ func newServiceMetadataMiddleware_opPutBucketWebsite(region string) *awsmiddlewa
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutBucketWebsite",
}
}
@@ -275,139 +282,3 @@ func addPutBucketWebsiteUpdateEndpoint(stack *middleware.Stack, options Options)
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutBucketWebsiteResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutBucketWebsiteResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutBucketWebsiteResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutBucketWebsiteInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutBucketWebsiteResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutBucketWebsiteResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObject.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObject.go
index 51c2f1fd..1bade82e 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObject.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObject.go
@@ -4,89 +4,88 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
awshttp "github.com/aws/aws-sdk-go-v2/aws/transport/http"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"io"
"time"
)
-// 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
-// response, Amazon S3 added the entire object to the bucket. You cannot use
-// PutObject to only update a single piece of metadata for an existing object. You
-// must put the entire object with updated metadata if you want to update some
-// values. Amazon S3 is a distributed system. If it receives multiple write
-// requests for the same object simultaneously, it overwrites all but the last
-// object written. To prevent objects from being deleted or overwritten, you can
-// use Amazon S3 Object Lock (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html)
-// . To ensure that data is not corrupted traversing the network, use the
-// Content-MD5 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
-// s3:PutObject in your IAM permissions.
-// - To 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.
-// - The Content-MD5 header is required for any request to upload an object with
-// a retention period configured using Amazon S3 Object Lock. For more information
-// about Amazon S3 Object Lock, see Amazon S3 Object Lock Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html)
+// Adds an object to a bucket.
+// - Amazon S3 never adds partial objects; if you receive a success response,
+// Amazon S3 added the entire object to the bucket. You cannot use PutObject to
+// only update a single piece of metadata for an existing object. You must put the
+// entire object with updated metadata if you want to update some values.
+// - If your bucket uses the bucket owner enforced setting for Object Ownership,
+// ACLs are disabled and no longer affect permissions. All objects written to the
+// bucket by any account will be owned by the bucket owner.
+// - Directory buckets - For directory buckets, you must make requests for this
+// API operation to the Zonal endpoint. These endpoints support
+// virtual-hosted-style requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name .
+// Path-style requests are not supported. For more information, see Regional and
+// Zonal endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
// in the Amazon S3 User Guide.
//
-// You have four mutually exclusive options to protect data using server-side
-// encryption in Amazon S3, depending on how you choose to manage the encryption
-// keys. Specifically, the encryption key options are Amazon S3 managed keys
-// (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
-// customer-provided keys (SSE-C). Amazon S3 encrypts data with server-side
-// encryption by using Amazon S3 managed keys (SSE-S3) by default. You can
-// optionally tell Amazon S3 to encrypt data at rest by 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)
-// . When adding a new object, you can use headers to grant ACL-based 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. By
-// default, all objects are private. Only the owner has full access control. For
-// more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
-// and Managing ACLs Using the REST API (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html)
-// . If the bucket that you're uploading objects to uses the bucket owner enforced
-// setting for S3 Object Ownership, ACLs are disabled and no longer affect
-// permissions. Buckets that use this setting only accept PUT requests that don't
-// specify an ACL or PUT requests that specify bucket owner full control ACLs, such
-// as the bucket-owner-full-control canned ACL or an equivalent form of this ACL
-// expressed in the XML format. PUT requests that contain other ACLs (for example,
-// custom grants to certain Amazon Web Services accounts) fail and return a 400
-// error with the error code AccessControlListNotSupported . For more information,
-// see Controlling ownership of objects and disabling ACLs (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
-// setting for Object Ownership, all objects written to the bucket by any account
-// will be owned by the bucket owner. By default, Amazon S3 uses the STANDARD
-// Storage Class to store newly created objects. The STANDARD storage class
-// provides high durability and high availability. Depending on performance needs,
-// you can specify a different Storage Class. Amazon S3 on Outposts only uses the
-// OUTPOSTS Storage Class. For more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
-// in the Amazon S3 User Guide. If you enable versioning for a bucket, Amazon S3
-// automatically generates a unique version ID for the object being stored. Amazon
-// S3 returns this ID in the response. When you enable versioning for a bucket, if
-// Amazon S3 receives multiple write requests for the same object simultaneously,
-// it stores all of the objects. For more information about versioning, see Adding
-// Objects to Versioning-Enabled Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html)
-// . For information about returning the versioning state of a bucket, see
-// GetBucketVersioning (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html)
-// . For more information about related Amazon S3 APIs, see the following:
+// Amazon S3 is a distributed system. If it receives multiple write requests for
+// the same object simultaneously, it overwrites all but the last object written.
+// However, Amazon S3 provides features that can modify this behavior:
+// - S3 Object Lock - To prevent objects from being deleted or overwritten, you
+// can use Amazon S3 Object Lock (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock.html)
+// in the Amazon S3 User Guide. This functionality is not supported for directory
+// buckets.
+// - S3 Versioning - When you enable versioning for a bucket, if Amazon S3
+// receives multiple write requests for the same object simultaneously, it stores
+// all versions of the objects. For each write request that is made to the same
+// object, Amazon S3 automatically generates a unique version ID of that object
+// being stored in Amazon S3. You can retrieve, replace, or delete any version of
+// the object. For more information about versioning, see Adding Objects to
+// Versioning-Enabled Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html)
+// in the Amazon S3 User Guide. For information about returning the versioning
+// state of a bucket, see GetBucketVersioning (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html)
+// . This functionality is not supported for directory buckets.
+//
+// Permissions
+// - General purpose bucket permissions - The following permissions are required
+// in your policies when your PutObject request includes specific headers.
+// - s3:PutObject - To successfully complete the PutObject request, you must
+// always have the s3:PutObject permission on a bucket to add an object to it.
+// - s3:PutObjectAcl - To successfully change the objects ACL of your PutObject
+// request, you must have the s3:PutObjectAcl .
+// - s3:PutObjectTagging - To successfully set the tag-set with your PutObject
+// request, you must have the s3:PutObjectTagging .
+// - Directory bucket permissions - To grant access to this API operation on a
+// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// API operation for session-based authorization. Specifically, you grant the
+// s3express:CreateSession permission to the directory bucket in a bucket policy
+// or an IAM identity-based policy. Then, you make the CreateSession API call on
+// the bucket to obtain a session token. With the session token in your request
+// header, you can make API requests to this operation. After the session token
+// expires, you make another CreateSession API call to generate a new session
+// token for use. Amazon Web Services CLI or SDKs create session and refresh the
+// session token automatically to avoid service interruptions when a session
+// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// .
+//
+// Data integrity with Content-MD5
+// - General purpose bucket - To ensure that data is not corrupted traversing
+// the network, use the Content-MD5 header. When you use this header, Amazon S3
+// checks the object against the provided MD5 value and, if they do not match,
+// Amazon S3 returns an error. Alternatively, when the object's ETag is its MD5
+// digest, you can calculate the MD5 while putting the object to Amazon S3 and
+// compare the returned ETag to the calculated MD5 value.
+// - Directory bucket - This functionality is not supported for directory
+// buckets.
+//
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// Bucket_name.s3express-az_id.region.amazonaws.com . For more information about
+// related Amazon S3 APIs, see the following:
// - CopyObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)
// - DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)
func (c *Client) PutObject(ctx context.Context, params *PutObjectInput, optFns ...func(*Options)) (*PutObjectOutput, error) {
@@ -106,16 +105,26 @@ func (c *Client) PutObject(ctx context.Context, params *PutObjectInput, optFns .
type PutObjectInput struct {
- // The bucket name to which the PUT action was initiated. When using this action
- // with an access point, you must direct requests to the access point hostname. The
- // access point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // The bucket name to which the PUT action was initiated. Directory buckets - When
+ // you use this operation with a directory bucket, you must use
+ // virtual-hosted-style requests in the format
+ // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
+ // supported. Directory bucket names must be unique in the chosen Availability
+ // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
+ // example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 ). For information about bucket
+ // naming restrictions, see Directory bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Access points and Object Lambda access points are
+ // not supported by directory buckets. S3 on Outposts - When you use this action
+ // with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts
+ // hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -131,7 +140,25 @@ type PutObjectInput struct {
Key *string
// The canned ACL to apply to the object. For more information, see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL)
- // . This action is not supported by Amazon S3 on Outposts.
+ // in the Amazon S3 User Guide. When adding a new object, you can use headers to
+ // grant ACL-based 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. By default, all objects are private. Only the owner has full
+ // access control. For more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
+ // and Managing ACLs Using the REST API (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html)
+ // in the Amazon S3 User Guide. If the bucket that you're uploading objects to uses
+ // the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and
+ // no longer affect permissions. Buckets that use this setting only accept PUT
+ // requests that don't specify an ACL or PUT requests that specify bucket owner
+ // full control ACLs, such as the bucket-owner-full-control canned ACL or an
+ // equivalent form of this ACL expressed in the XML format. PUT requests that
+ // contain other ACLs (for example, custom grants to certain Amazon Web Services
+ // accounts) fail and return a 400 error with the error code
+ // AccessControlListNotSupported . For more information, see Controlling
+ // ownership of objects and disabling ACLs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
+ // in the Amazon S3 User Guide.
+ // - This functionality is not supported for directory buckets.
+ // - This functionality is not supported for Amazon S3 on Outposts.
ACL types.ObjectCannedACL
// Object data.
@@ -141,22 +168,34 @@ type PutObjectInput struct {
// with server-side encryption using Key Management Service (KMS) keys (SSE-KMS).
// Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object
// encryption with SSE-KMS. Specifying this header with a PUT action doesn’t affect
- // bucket-level settings for S3 Bucket Key.
- BucketKeyEnabled bool
+ // bucket-level settings for S3 Bucket Key. This functionality is not supported for
+ // directory buckets.
+ BucketKeyEnabled *bool
// Can be used to specify caching behavior along the request/reply chain. For more
// information, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9)
// .
CacheControl *string
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
- // in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
- // ignores any provided ChecksumAlgorithm parameter.
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum-algorithm or x-amz-trailer header sent. Otherwise, Amazon S3
+ // fails the request with the HTTP status code 400 Bad Request . For the
+ // x-amz-checksum-algorithm header, replace algorithm with the supported
+ // algorithm from the following list:
+ // - CRC32
+ // - CRC32C
+ // - SHA1
+ // - SHA256
+ // For more information, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide. If the individual checksum value you provide
+ // through x-amz-checksum-algorithm doesn't match the checksum algorithm you set
+ // through x-amz-sdk-checksum-algorithm , Amazon S3 ignores any provided
+ // ChecksumAlgorithm parameter and uses the checksum algorithm that matches the
+ // provided value in x-amz-checksum-algorithm . For directory buckets, when you
+ // use Amazon Web Services SDKs, CRC32 is the default checksum algorithm that's
+ // used for performance.
ChecksumAlgorithm types.ChecksumAlgorithm
// This header can be used as a data integrity check to verify that the data
@@ -206,7 +245,7 @@ type PutObjectInput struct {
// cannot be determined automatically. For more information, see
// https://www.rfc-editor.org/rfc/rfc9110.html#name-content-length (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)
// according to RFC 1864. This header can be used as a message integrity check to
@@ -214,7 +253,11 @@ type PutObjectInput struct {
// optional, we recommend using the Content-MD5 mechanism as an end-to-end
// integrity check. For more information about REST request authentication, see
// REST Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
- // .
+ // . The Content-MD5 header is required for any request to upload an object with a
+ // retention period configured using Amazon S3 Object Lock. For more information
+ // about Amazon S3 Object Lock, see Amazon S3 Object Lock Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html)
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
ContentMD5 *string
// A standard MIME type describing the format of the contents. For more
@@ -222,9 +265,9 @@ type PutObjectInput struct {
// .
ContentType *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// The date and time at which the object is no longer cacheable. For more
@@ -232,20 +275,24 @@ type PutObjectInput struct {
// .
Expires *time.Time
- // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object. This
- // action is not supported by Amazon S3 on Outposts.
+ // Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the object.
+ // - This functionality is not supported for directory buckets.
+ // - This functionality is not supported for Amazon S3 on Outposts.
GrantFullControl *string
- // Allows grantee to read the object data and its metadata. This action is not
- // supported by Amazon S3 on Outposts.
+ // Allows grantee to read the object data and its metadata.
+ // - This functionality is not supported for directory buckets.
+ // - This functionality is not supported for Amazon S3 on Outposts.
GrantRead *string
- // Allows grantee to read the object ACL. This action is not supported by Amazon
- // S3 on Outposts.
+ // Allows grantee to read the object ACL.
+ // - This functionality is not supported for directory buckets.
+ // - This functionality is not supported for Amazon S3 on Outposts.
GrantReadACP *string
- // Allows grantee to write the ACL for the applicable object. This action is not
- // supported by Amazon S3 on Outposts.
+ // Allows grantee to write the ACL for the applicable object.
+ // - This functionality is not supported for directory buckets.
+ // - This functionality is not supported for Amazon S3 on Outposts.
GrantWriteACP *string
// A map of metadata to store with the object in S3.
@@ -253,46 +300,54 @@ type PutObjectInput struct {
// Specifies whether a legal hold will be applied to this object. For more
// information about S3 Object Lock, see Object Lock (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html)
- // .
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus
- // The Object Lock mode that you want to apply to this object.
+ // The Object Lock mode that you want to apply to this object. This functionality
+ // is not supported for directory buckets.
ObjectLockMode types.ObjectLockMode
// The date and time when you want this object's Object Lock to expire. Must be
- // formatted as a timestamp parameter.
+ // formatted as a timestamp parameter. This functionality is not supported for
+ // directory buckets.
ObjectLockRetainUntilDate *time.Time
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
- // Specifies the algorithm to use to when encrypting the object (for example,
- // AES256).
+ // Specifies the algorithm to use when encrypting the object (for example, AES256
+ // ). This functionality is not supported for directory buckets.
SSECustomerAlgorithm *string
// Specifies the customer-provided encryption key for Amazon S3 to use in
// encrypting data. This value is used to store the object and then it is
// discarded; Amazon S3 does not store the encryption key. The key must be
// appropriate for use with the algorithm specified in the
- // x-amz-server-side-encryption-customer-algorithm header.
+ // x-amz-server-side-encryption-customer-algorithm header. This functionality is
+ // not supported for directory buckets.
SSECustomerKey *string
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
// Amazon S3 uses this header for a message integrity check to ensure that the
- // encryption key was transmitted without error.
+ // encryption key was transmitted without error. This functionality is not
+ // supported for directory buckets.
SSECustomerKeyMD5 *string
// 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
// 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.
+ // GetObject or CopyObject operations on this object. This value must be
+ // explicitly added during CopyObject operations. This functionality is not
+ // supported for directory buckets.
SSEKMSEncryptionContext *string
// If x-amz-server-side-encryption has a valid value of aws:kms or aws:kms:dsse ,
@@ -303,117 +358,168 @@ type PutObjectInput struct {
// x-amz-server-side-encryption-aws-kms-key-id , Amazon S3 uses the Amazon Web
// Services managed key ( aws/s3 ) to protect the data. If the KMS key does not
// exist in the same account that's issuing the command, you must use the full ARN
- // and not just the ID.
+ // and not just the ID. This functionality is not supported for directory buckets.
SSEKMSKeyId *string
- // The server-side encryption algorithm used when storing this object in Amazon S3
- // (for example, AES256 , aws:kms , aws:kms:dsse ).
+ // The server-side encryption algorithm that was used when you store this object
+ // in Amazon S3 (for example, AES256 , aws:kms , aws:kms:dsse ). General purpose
+ // buckets - You have four mutually exclusive options to protect data using
+ // server-side encryption in Amazon S3, depending on how you choose to manage the
+ // encryption keys. Specifically, the encryption key options are Amazon S3 managed
+ // keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS or DSSE-KMS), and
+ // customer-provided keys (SSE-C). Amazon S3 encrypts data with server-side
+ // encryption by using Amazon S3 managed keys (SSE-S3) by default. You can
+ // optionally tell Amazon S3 to encrypt data at rest by 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)
+ // in the Amazon S3 User Guide. Directory buckets - For directory buckets, only the
+ // server-side encryption with Amazon S3 managed keys (SSE-S3) ( AES256 ) value is
+ // supported.
ServerSideEncryption types.ServerSideEncryption
// By default, Amazon S3 uses the STANDARD Storage Class to store newly created
// objects. The STANDARD storage class provides high durability and high
// availability. Depending on performance needs, you can specify a different
- // Storage Class. Amazon S3 on Outposts only uses the OUTPOSTS Storage Class. For
- // more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
+ // Storage Class. For more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
// in the Amazon S3 User Guide.
+ // - For directory buckets, only the S3 Express One Zone storage class is
+ // supported to store newly created objects.
+ // - Amazon S3 on Outposts only uses the OUTPOSTS Storage Class.
StorageClass types.StorageClass
// The tag-set for the object. The tag-set must be encoded as URL Query
- // parameters. (For example, "Key1=Value1")
+ // parameters. (For example, "Key1=Value1") This functionality is not supported for
+ // directory buckets.
Tagging *string
// 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
// value of this header in the object metadata. For information about object
// metadata, see Object Key and Metadata (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html)
- // . In the following example, the request header sets the redirect to an object
- // (anotherPage.html) in the same bucket: x-amz-website-redirect-location:
- // /anotherPage.html In the following example, the request header sets the object
- // redirect to another website: x-amz-website-redirect-location:
- // http://www.example.com/ For more information about website hosting in Amazon S3,
- // see Hosting Websites on Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html)
+ // in the Amazon S3 User Guide. In the following example, the request header sets
+ // the redirect to an object (anotherPage.html) in the same bucket:
+ // x-amz-website-redirect-location: /anotherPage.html In the following example, the
+ // request header sets the object redirect to another website:
+ // x-amz-website-redirect-location: http://www.example.com/ For more information
+ // about website hosting in Amazon S3, see Hosting Websites on Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/WebsiteHosting.html)
// and How to Configure Website Page Redirects (https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html)
- // .
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
WebsiteRedirectLocation *string
noSmithyDocumentSerde
}
+func (in *PutObjectInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.Key = in.Key
+
+}
+
type PutObjectOutput struct {
// Indicates whether the uploaded object uses an S3 Bucket Key for server-side
- // encryption with Key Management Service (KMS) keys (SSE-KMS).
- BucketKeyEnabled bool
+ // encryption with Key Management Service (KMS) keys (SSE-KMS). This functionality
+ // is not supported for directory buckets.
+ BucketKeyEnabled *bool
// The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32 *string
// The base64-encoded, 32-bit CRC32C checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32C *string
// The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use the API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA1 *string
// The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA256 *string
- // Entity tag for the uploaded object.
+ // Entity tag for the uploaded object. General purpose buckets - To ensure that
+ // data is not corrupted traversing the network, for objects where the ETag is the
+ // MD5 digest of the object, you can calculate the MD5 while putting an object to
+ // Amazon S3 and compare the returned ETag to the calculated MD5 value. Directory
+ // buckets - The ETag for the object in a directory bucket isn't the MD5 digest of
+ // the object.
ETag *string
// If the expiration is configured for the object (see
// PutBucketLifecycleConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html)
- // ), the response includes this header. It includes the expiry-date and rule-id
- // key-value pairs that provide information about object expiration. The value of
- // the rule-id is URL-encoded.
+ // ) in the Amazon S3 User Guide, the response includes this header. It includes
+ // the expiry-date and rule-id key-value pairs that provide information about
+ // object expiration. The value of the rule-id is URL-encoded. This functionality
+ // is not supported for directory buckets.
Expiration *string
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// If server-side encryption with a customer-provided encryption key was
- // requested, the response will include this header confirming the encryption
- // algorithm used.
+ // requested, the response will include this header to confirm the encryption
+ // algorithm that's used. This functionality is not supported for directory
+ // buckets.
SSECustomerAlgorithm *string
// If server-side encryption with a customer-provided encryption key was
- // requested, the response will include this header to provide round-trip message
- // integrity verification of the customer-provided encryption key.
+ // requested, the response will include this header to provide the round-trip
+ // message integrity verification of the customer-provided encryption key. This
+ // functionality is not supported for directory buckets.
SSECustomerKeyMD5 *string
- // If present, specifies the Amazon Web Services KMS Encryption Context to use for
+ // If present, indicates the Amazon Web Services KMS Encryption Context to use for
// object encryption. The value of this header is a base64-encoded UTF-8 string
// 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.
+ // for future GetObject or CopyObject operations on this object. This
+ // functionality is not supported for directory buckets.
SSEKMSEncryptionContext *string
// If x-amz-server-side-encryption has a valid value of aws:kms or aws:kms:dsse ,
- // this header specifies the ID of the Key Management Service (KMS) symmetric
- // encryption customer managed key that was used for the object.
+ // this header indicates the ID of the Key Management Service (KMS) symmetric
+ // encryption customer managed key that was used for the object. This functionality
+ // is not supported for directory buckets.
SSEKMSKeyId *string
- // The server-side encryption algorithm used when storing this object in Amazon S3
- // (for example, AES256 , aws:kms , aws:kms:dsse ).
+ // The server-side encryption algorithm used when you store this object in Amazon
+ // S3 (for example, AES256 , aws:kms , aws:kms:dsse ). For directory buckets, only
+ // server-side encryption with Amazon S3 managed keys (SSE-S3) ( AES256 ) is
+ // supported.
ServerSideEncryption types.ServerSideEncryption
- // Version of the object.
+ // Version ID of the object. If you enable versioning for a bucket, Amazon S3
+ // automatically generates a unique version ID for the object being stored. Amazon
+ // S3 returns this ID in the response. When you enable versioning for a bucket, if
+ // Amazon S3 receives multiple write requests for the same object simultaneously,
+ // it stores all of the objects. For more information about versioning, see Adding
+ // Objects to Versioning-Enabled Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html)
+ // in the Amazon S3 User Guide. For information about returning the versioning
+ // state of a bucket, see GetBucketVersioning (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html)
+ // . This functionality is not supported for directory buckets.
VersionId *string
// Metadata pertaining to the operation's result.
@@ -423,6 +529,9 @@ type PutObjectOutput struct {
}
func (c *Client) addOperationPutObjectMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutObject{}, middleware.After)
if err != nil {
return err
@@ -431,6 +540,10 @@ func (c *Client) addOperationPutObjectMiddlewares(stack *middleware.Stack, optio
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutObject"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -452,9 +565,6 @@ func (c *Client) addOperationPutObjectMiddlewares(stack *middleware.Stack, optio
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -470,10 +580,10 @@ func (c *Client) addOperationPutObjectMiddlewares(stack *middleware.Stack, optio
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutObjectResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutObjectValidationMiddleware(stack); err != nil {
@@ -512,7 +622,7 @@ func (c *Client) addOperationPutObjectMiddlewares(stack *middleware.Stack, optio
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -532,7 +642,6 @@ func newServiceMetadataMiddleware_opPutObject(region string) *awsmiddleware.Regi
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutObject",
}
}
@@ -615,139 +724,3 @@ func addPutObjectPayloadAsUnsigned(stack *middleware.Stack, options Options) err
v4.RemoveComputePayloadSHA256Middleware(stack)
return v4.AddUnsignedPayloadMiddleware(stack)
}
-
-type opPutObjectResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutObjectResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutObjectResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutObjectInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutObjectResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutObjectResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectAcl.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectAcl.go
index 22a0dcc2..5716f550 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectAcl.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectAcl.go
@@ -4,30 +4,25 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Uses the acl subresource to set the access control list (ACL) permissions for a
-// new or existing object in an S3 bucket. You must have WRITE_ACP permission to
-// set the ACL of an object. For more information, see What permissions can I
-// grant? (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#permissions)
-// in the Amazon S3 User Guide. This action is not supported by Amazon S3 on
-// Outposts. Depending on your application needs, you can choose to set the ACL on
-// an object using either the request body or the headers. For example, if you have
-// an existing application that updates a bucket ACL using the request body, you
-// can continue to use that approach. For more information, see Access Control
+// This operation is not supported by directory buckets. Uses the acl subresource
+// to set the access control list (ACL) permissions for a new or existing object in
+// an S3 bucket. You must have the WRITE_ACP permission to set the ACL of an
+// object. For more information, see What permissions can I grant? (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#permissions)
+// in the Amazon S3 User Guide. This functionality is not supported for Amazon S3
+// on Outposts. Depending on your application needs, you can choose to set the ACL
+// on an object using either the request body or the headers. For example, if you
+// have an existing application that updates a bucket ACL using the request body,
+// you can continue to use that approach. For more information, see Access Control
// List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
// in the Amazon S3 User Guide. If your bucket uses the bucket owner enforced
// setting for S3 Object Ownership, ACLs are disabled and no longer affect
@@ -118,27 +113,17 @@ func (c *Client) PutObjectAcl(ctx context.Context, params *PutObjectAclInput, op
type PutObjectAclInput struct {
// The bucket name that contains the object to which you want to attach the ACL.
- // When using this action with an access point, you must direct requests to the
+ // Access points - When you use this action with an access point, you must provide
+ // the alias of the access point in place of the bucket name or specify the access
+ // point ARN. When using the access point ARN, you must direct requests to the
// access point hostname. The access point hostname takes the form
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide
// the access point ARN in place of the bucket name. For more information about
// access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide.
- //
- // This member is required.
- Bucket *string
-
- // Key for which the PUT action was initiated. When using this action with an
- // access point, you must direct requests to the access point hostname. The access
- // point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // in the Amazon S3 User Guide. S3 on Outposts - When you use this action with
+ // Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname.
+ // The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -146,6 +131,11 @@ type PutObjectAclInput struct {
// in the Amazon S3 User Guide.
//
// This member is required.
+ Bucket *string
+
+ // Key for which the PUT action was initiated.
+ //
+ // This member is required.
Key *string
// The canned ACL to apply to the object. For more information, see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL)
@@ -155,12 +145,12 @@ type PutObjectAclInput struct {
// Contains the elements that set the ACL permissions for an object per grantee.
AccessControlPolicy *types.AccessControlPolicy
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -172,21 +162,21 @@ type PutObjectAclInput struct {
// Amazon Web Services SDKs, this field is calculated automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Allows grantee the read, write, read ACP, and write ACP permissions on the
- // bucket. This action is not supported by Amazon S3 on Outposts.
+ // bucket. This functionality is not supported for Amazon S3 on Outposts.
GrantFullControl *string
- // Allows grantee to list the objects in the bucket. This action is not supported
- // by Amazon S3 on Outposts.
+ // Allows grantee to list the objects in the bucket. This functionality is not
+ // supported for Amazon S3 on Outposts.
GrantRead *string
- // Allows grantee to read the bucket ACL. This action is not supported by Amazon
- // S3 on Outposts.
+ // Allows grantee to read the bucket ACL. This functionality is not supported for
+ // Amazon S3 on Outposts.
GrantReadACP *string
// Allows grantee to create new objects in the bucket. For the bucket and object
@@ -194,29 +184,37 @@ type PutObjectAclInput struct {
// objects.
GrantWrite *string
- // Allows grantee to write the ACL for the applicable bucket. This action is not
- // supported by Amazon S3 on Outposts.
+ // Allows grantee to write the ACL for the applicable bucket. This functionality
+ // is not supported for Amazon S3 on Outposts.
GrantWriteACP *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
- // VersionId used to reference a specific version of the object.
+ // Version ID used to reference a specific version of the object. This
+ // functionality is not supported for directory buckets.
VersionId *string
noSmithyDocumentSerde
}
+func (in *PutObjectAclInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.Key = in.Key
+
+}
+
type PutObjectAclOutput struct {
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// Metadata pertaining to the operation's result.
@@ -226,6 +224,9 @@ type PutObjectAclOutput struct {
}
func (c *Client) addOperationPutObjectAclMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutObjectAcl{}, middleware.After)
if err != nil {
return err
@@ -234,6 +235,10 @@ func (c *Client) addOperationPutObjectAclMiddlewares(stack *middleware.Stack, op
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutObjectAcl"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -255,9 +260,6 @@ func (c *Client) addOperationPutObjectAclMiddlewares(stack *middleware.Stack, op
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -273,10 +275,10 @@ func (c *Client) addOperationPutObjectAclMiddlewares(stack *middleware.Stack, op
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutObjectAclResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutObjectAclValidationMiddleware(stack); err != nil {
@@ -309,12 +311,15 @@ func (c *Client) addOperationPutObjectAclMiddlewares(stack *middleware.Stack, op
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -329,7 +334,6 @@ func newServiceMetadataMiddleware_opPutObjectAcl(region string) *awsmiddleware.R
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutObjectAcl",
}
}
@@ -379,139 +383,3 @@ func addPutObjectAclUpdateEndpoint(stack *middleware.Stack, options Options) err
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutObjectAclResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutObjectAclResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutObjectAclResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutObjectAclInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutObjectAclResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutObjectAclResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectLegalHold.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectLegalHold.go
index d4d371df..3fa38af3 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectLegalHold.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectLegalHold.go
@@ -4,24 +4,19 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Applies a legal hold configuration to the specified object. For more
-// information, see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html)
-// . This action is not supported by Amazon S3 on Outposts.
+// This operation is not supported by directory buckets. Applies a legal hold
+// configuration to the specified object. For more information, see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html)
+// . This functionality is not supported for Amazon S3 on Outposts.
func (c *Client) PutObjectLegalHold(ctx context.Context, params *PutObjectLegalHoldInput, optFns ...func(*Options)) (*PutObjectLegalHoldOutput, error) {
if params == nil {
params = &PutObjectLegalHoldInput{}
@@ -40,7 +35,9 @@ func (c *Client) PutObjectLegalHold(ctx context.Context, params *PutObjectLegalH
type PutObjectLegalHoldInput struct {
// The bucket name containing the object that you want to place a legal hold on.
- // When using this action with an access point, you must direct requests to the
+ // Access points - When you use this action with an access point, you must provide
+ // the alias of the access point in place of the bucket name or specify the access
+ // point ARN. When using the access point ARN, you must direct requests to the
// access point hostname. The access point hostname takes the form
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide
@@ -56,12 +53,12 @@ type PutObjectLegalHoldInput struct {
// This member is required.
Key *string
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -71,9 +68,9 @@ type PutObjectLegalHoldInput struct {
// calculated automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Container element for the legal hold configuration you want to apply to the
@@ -82,11 +79,12 @@ type PutObjectLegalHoldInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
// The version ID of the object that you want to place a legal hold on.
@@ -95,10 +93,15 @@ type PutObjectLegalHoldInput struct {
noSmithyDocumentSerde
}
+func (in *PutObjectLegalHoldInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type PutObjectLegalHoldOutput struct {
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// Metadata pertaining to the operation's result.
@@ -108,6 +111,9 @@ type PutObjectLegalHoldOutput struct {
}
func (c *Client) addOperationPutObjectLegalHoldMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutObjectLegalHold{}, middleware.After)
if err != nil {
return err
@@ -116,6 +122,10 @@ func (c *Client) addOperationPutObjectLegalHoldMiddlewares(stack *middleware.Sta
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutObjectLegalHold"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -137,9 +147,6 @@ func (c *Client) addOperationPutObjectLegalHoldMiddlewares(stack *middleware.Sta
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -155,10 +162,10 @@ func (c *Client) addOperationPutObjectLegalHoldMiddlewares(stack *middleware.Sta
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutObjectLegalHoldResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutObjectLegalHoldValidationMiddleware(stack); err != nil {
@@ -191,12 +198,15 @@ func (c *Client) addOperationPutObjectLegalHoldMiddlewares(stack *middleware.Sta
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -211,7 +221,6 @@ func newServiceMetadataMiddleware_opPutObjectLegalHold(region string) *awsmiddle
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutObjectLegalHold",
}
}
@@ -261,139 +270,3 @@ func addPutObjectLegalHoldUpdateEndpoint(stack *middleware.Stack, options Option
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutObjectLegalHoldResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutObjectLegalHoldResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutObjectLegalHoldResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutObjectLegalHoldInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutObjectLegalHoldResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutObjectLegalHoldResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectLockConfiguration.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectLockConfiguration.go
index 5b4a897e..49425c8f 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectLockConfiguration.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectLockConfiguration.go
@@ -4,30 +4,27 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Places an Object Lock configuration on the specified bucket. The rule specified
-// in the Object Lock configuration will be applied by default to every new object
-// placed in the specified bucket. For more information, see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html)
+// This operation is not supported by directory buckets. Places an Object Lock
+// configuration on the specified bucket. The rule specified in the Object Lock
+// configuration will be applied by default to every new object placed in the
+// specified bucket. For more information, see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html)
// .
// - The DefaultRetention settings require both a mode and a period.
// - The DefaultRetention period can be either Days or Years but you must select
// one. You cannot specify Days and Years at the same time.
-// - You can only enable Object Lock for new buckets. If you want to turn on
-// Object Lock for an existing bucket, contact Amazon Web Services Support.
+// - You can enable Object Lock for new or existing buckets. For more
+// information, see Configuring Object Lock (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html)
+// .
func (c *Client) PutObjectLockConfiguration(ctx context.Context, params *PutObjectLockConfigurationInput, optFns ...func(*Options)) (*PutObjectLockConfigurationOutput, error) {
if params == nil {
params = &PutObjectLockConfigurationInput{}
@@ -50,12 +47,12 @@ type PutObjectLockConfigurationInput struct {
// This member is required.
Bucket *string
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -65,9 +62,9 @@ type PutObjectLockConfigurationInput struct {
// calculated automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// The Object Lock configuration that you want to apply to the specified bucket.
@@ -75,11 +72,12 @@ type PutObjectLockConfigurationInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
// A token to allow Object Lock to be enabled for an existing bucket.
@@ -88,10 +86,15 @@ type PutObjectLockConfigurationInput struct {
noSmithyDocumentSerde
}
+func (in *PutObjectLockConfigurationInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type PutObjectLockConfigurationOutput struct {
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// Metadata pertaining to the operation's result.
@@ -101,6 +104,9 @@ type PutObjectLockConfigurationOutput struct {
}
func (c *Client) addOperationPutObjectLockConfigurationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutObjectLockConfiguration{}, middleware.After)
if err != nil {
return err
@@ -109,6 +115,10 @@ func (c *Client) addOperationPutObjectLockConfigurationMiddlewares(stack *middle
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutObjectLockConfiguration"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -130,9 +140,6 @@ func (c *Client) addOperationPutObjectLockConfigurationMiddlewares(stack *middle
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -148,10 +155,10 @@ func (c *Client) addOperationPutObjectLockConfigurationMiddlewares(stack *middle
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutObjectLockConfigurationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutObjectLockConfigurationValidationMiddleware(stack); err != nil {
@@ -184,12 +191,15 @@ func (c *Client) addOperationPutObjectLockConfigurationMiddlewares(stack *middle
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -204,7 +214,6 @@ func newServiceMetadataMiddleware_opPutObjectLockConfiguration(region string) *a
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutObjectLockConfiguration",
}
}
@@ -254,139 +263,3 @@ func addPutObjectLockConfigurationUpdateEndpoint(stack *middleware.Stack, option
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutObjectLockConfigurationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutObjectLockConfigurationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutObjectLockConfigurationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutObjectLockConfigurationInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutObjectLockConfigurationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutObjectLockConfigurationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectRetention.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectRetention.go
index 95176ea6..5dfb98f3 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectRetention.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectRetention.go
@@ -4,27 +4,22 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Places an Object Retention configuration on an object. For more information,
-// see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html)
+// This operation is not supported by directory buckets. Places an Object
+// Retention configuration on an object. For more information, see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html)
// . Users or accounts require the s3:PutObjectRetention permission in order to
// place an Object Retention configuration on objects. Bypassing a Governance
// Retention configuration requires the s3:BypassGovernanceRetention permission.
-// This action is not supported by Amazon S3 on Outposts.
+// This functionality is not supported for Amazon S3 on Outposts.
func (c *Client) PutObjectRetention(ctx context.Context, params *PutObjectRetentionInput, optFns ...func(*Options)) (*PutObjectRetentionOutput, error) {
if params == nil {
params = &PutObjectRetentionInput{}
@@ -43,8 +38,10 @@ func (c *Client) PutObjectRetention(ctx context.Context, params *PutObjectRetent
type PutObjectRetentionInput struct {
// The bucket name that contains the object you want to apply this Object
- // Retention configuration to. When using this action with an access point, you
- // must direct requests to the access point hostname. The access point hostname
+ // Retention configuration to. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
// takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
// When using this action with an access point through the Amazon Web Services
// SDKs, you provide the access point ARN in place of the bucket name. For more
@@ -61,14 +58,14 @@ type PutObjectRetentionInput struct {
Key *string
// Indicates whether this action should bypass Governance-mode restrictions.
- BypassGovernanceRetention bool
-
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ BypassGovernanceRetention *bool
+
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -78,18 +75,19 @@ type PutObjectRetentionInput struct {
// calculated automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
// The container element for the Object Retention configuration.
@@ -102,10 +100,15 @@ type PutObjectRetentionInput struct {
noSmithyDocumentSerde
}
+func (in *PutObjectRetentionInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type PutObjectRetentionOutput struct {
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// Metadata pertaining to the operation's result.
@@ -115,6 +118,9 @@ type PutObjectRetentionOutput struct {
}
func (c *Client) addOperationPutObjectRetentionMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutObjectRetention{}, middleware.After)
if err != nil {
return err
@@ -123,6 +129,10 @@ func (c *Client) addOperationPutObjectRetentionMiddlewares(stack *middleware.Sta
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutObjectRetention"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -144,9 +154,6 @@ func (c *Client) addOperationPutObjectRetentionMiddlewares(stack *middleware.Sta
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -162,10 +169,10 @@ func (c *Client) addOperationPutObjectRetentionMiddlewares(stack *middleware.Sta
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutObjectRetentionResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutObjectRetentionValidationMiddleware(stack); err != nil {
@@ -198,12 +205,15 @@ func (c *Client) addOperationPutObjectRetentionMiddlewares(stack *middleware.Sta
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -218,7 +228,6 @@ func newServiceMetadataMiddleware_opPutObjectRetention(region string) *awsmiddle
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutObjectRetention",
}
}
@@ -268,139 +277,3 @@ func addPutObjectRetentionUpdateEndpoint(stack *middleware.Stack, options Option
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutObjectRetentionResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutObjectRetentionResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutObjectRetentionResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutObjectRetentionInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutObjectRetentionResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutObjectRetentionResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectTagging.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectTagging.go
index e9785b93..8b42d43d 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectTagging.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutObjectTagging.go
@@ -4,23 +4,19 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Sets the supplied tag-set to an object that already exists in a bucket. A tag
-// is a key-value pair. For more information, see Object Tagging (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html)
+// This operation is not supported by directory buckets. Sets the supplied tag-set
+// to an object that already exists in a bucket. A tag is a key-value pair. For
+// more information, see Object Tagging (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-tagging.html)
// . You can associate tags with an object by sending a PUT request against the
// tagging subresource that is associated with the object. You can retrieve tags by
// sending a GET request. For more information, see GetObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html)
@@ -64,16 +60,18 @@ func (c *Client) PutObjectTagging(ctx context.Context, params *PutObjectTaggingI
type PutObjectTaggingInput struct {
- // The bucket name containing the object. When using this action with an access
- // point, you must direct requests to the access point hostname. The access point
+ // The bucket name containing the object. Access points - When you use this action
+ // with an access point, you must provide the alias of the access point in place of
+ // the bucket name or specify the access point ARN. When using the access point
+ // ARN, you must direct requests to the access point hostname. The access point
// hostname takes the form
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide
// the access point ARN in place of the bucket name. For more information about
// access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // in the Amazon S3 User Guide. S3 on Outposts - When you use this action with
+ // Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname.
+ // The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -93,12 +91,12 @@ type PutObjectTaggingInput struct {
// This member is required.
Tagging *types.Tagging
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -108,18 +106,19 @@ type PutObjectTaggingInput struct {
// calculated automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
// The versionId of the object that the tag-set will be added to.
@@ -128,6 +127,11 @@ type PutObjectTaggingInput struct {
noSmithyDocumentSerde
}
+func (in *PutObjectTaggingInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type PutObjectTaggingOutput struct {
// The versionId of the object the tag-set was added to.
@@ -140,6 +144,9 @@ type PutObjectTaggingOutput struct {
}
func (c *Client) addOperationPutObjectTaggingMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutObjectTagging{}, middleware.After)
if err != nil {
return err
@@ -148,6 +155,10 @@ func (c *Client) addOperationPutObjectTaggingMiddlewares(stack *middleware.Stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutObjectTagging"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -169,9 +180,6 @@ func (c *Client) addOperationPutObjectTaggingMiddlewares(stack *middleware.Stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -187,10 +195,10 @@ func (c *Client) addOperationPutObjectTaggingMiddlewares(stack *middleware.Stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutObjectTaggingResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutObjectTaggingValidationMiddleware(stack); err != nil {
@@ -223,12 +231,15 @@ func (c *Client) addOperationPutObjectTaggingMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -243,7 +254,6 @@ func newServiceMetadataMiddleware_opPutObjectTagging(region string) *awsmiddlewa
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutObjectTagging",
}
}
@@ -293,139 +303,3 @@ func addPutObjectTaggingUpdateEndpoint(stack *middleware.Stack, options Options)
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutObjectTaggingResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutObjectTaggingResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutObjectTaggingResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutObjectTaggingInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutObjectTaggingResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutObjectTaggingResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutPublicAccessBlock.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutPublicAccessBlock.go
index 8aa349c7..ab0b5405 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutPublicAccessBlock.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_PutPublicAccessBlock.go
@@ -4,30 +4,26 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Creates or modifies the PublicAccessBlock configuration for an Amazon S3
-// bucket. To use this operation, you must have the s3:PutBucketPublicAccessBlock
-// permission. For more information about Amazon S3 permissions, see Specifying
-// Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
+// This operation is not supported by directory buckets. Creates or modifies the
+// PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation,
+// you must have the s3:PutBucketPublicAccessBlock permission. For more
+// information about Amazon S3 permissions, see Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
// . When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or
// an object, it checks the PublicAccessBlock configuration for both the bucket
// (or the bucket that contains the object) and the bucket owner's account. If the
// PublicAccessBlock configurations are different between the bucket and the
-// account, S3 uses the most restrictive combination of the bucket-level and
+// account, Amazon S3 uses the most restrictive combination of the bucket-level and
// account-level settings. For more information about when Amazon S3 considers a
// bucket or an object public, see The Meaning of "Public" (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html#access-control-block-public-access-policy-status)
// . The following operations are related to PutPublicAccessBlock :
@@ -67,12 +63,12 @@ type PutPublicAccessBlockInput struct {
// This member is required.
PublicAccessBlockConfiguration *types.PublicAccessBlockConfiguration
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
@@ -82,14 +78,19 @@ type PutPublicAccessBlockInput struct {
// SDKs, this field is calculated automatically.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
noSmithyDocumentSerde
}
+func (in *PutPublicAccessBlockInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.UseS3ExpressControlEndpoint = ptr.Bool(true)
+}
+
type PutPublicAccessBlockOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -98,6 +99,9 @@ type PutPublicAccessBlockOutput struct {
}
func (c *Client) addOperationPutPublicAccessBlockMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpPutPublicAccessBlock{}, middleware.After)
if err != nil {
return err
@@ -106,6 +110,10 @@ func (c *Client) addOperationPutPublicAccessBlockMiddlewares(stack *middleware.S
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "PutPublicAccessBlock"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -127,9 +135,6 @@ func (c *Client) addOperationPutPublicAccessBlockMiddlewares(stack *middleware.S
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -145,10 +150,10 @@ func (c *Client) addOperationPutPublicAccessBlockMiddlewares(stack *middleware.S
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addPutPublicAccessBlockResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpPutPublicAccessBlockValidationMiddleware(stack); err != nil {
@@ -181,12 +186,15 @@ func (c *Client) addOperationPutPublicAccessBlockMiddlewares(stack *middleware.S
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
return err
}
+ if err = s3cust.AddExpressDefaultChecksumMiddleware(stack); err != nil {
+ return err
+ }
return nil
}
@@ -201,7 +209,6 @@ func newServiceMetadataMiddleware_opPutPublicAccessBlock(region string) *awsmidd
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "PutPublicAccessBlock",
}
}
@@ -251,139 +258,3 @@ func addPutPublicAccessBlockUpdateEndpoint(stack *middleware.Stack, options Opti
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opPutPublicAccessBlockResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opPutPublicAccessBlockResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opPutPublicAccessBlockResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*PutPublicAccessBlockInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addPutPublicAccessBlockResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opPutPublicAccessBlockResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_RestoreObject.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_RestoreObject.go
index 0ccf96b3..a84b5326 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_RestoreObject.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_RestoreObject.go
@@ -4,24 +4,19 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Restores an archived copy of an object back into Amazon S3 This action is not
-// supported by Amazon S3 on Outposts. This action performs the following types of
-// requests:
+// This operation is not supported by directory buckets. Restores an archived copy
+// of an object back into Amazon S3 This functionality is not supported for Amazon
+// S3 on Outposts. This action performs the following types of requests:
// - select - Perform a select query on an archived object
// - restore an archive - Restore an archived object
//
@@ -184,16 +179,18 @@ func (c *Client) RestoreObject(ctx context.Context, params *RestoreObjectInput,
type RestoreObjectInput struct {
- // The bucket name containing the object to restore. When using this action with
- // an access point, you must direct requests to the access point hostname. The
+ // The bucket name containing the object to restore. Access points - When you use
+ // this action with an access point, you must provide the alias of the access point
+ // in place of the bucket name or specify the access point ARN. When using the
+ // access point ARN, you must direct requests to the access point hostname. The
// access point hostname takes the form
// AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
// action with an access point through the Amazon Web Services SDKs, you provide
// the access point ARN in place of the bucket name. For more information about
// access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // in the Amazon S3 User Guide. S3 on Outposts - When you use this action with
+ // Amazon S3 on Outposts, you must direct requests to the S3 on Outposts hostname.
+ // The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -208,28 +205,29 @@ type RestoreObjectInput struct {
// This member is required.
Key *string
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter.
ChecksumAlgorithm types.ChecksumAlgorithm
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
// Container for restore job parameters.
@@ -241,10 +239,15 @@ type RestoreObjectInput struct {
noSmithyDocumentSerde
}
+func (in *RestoreObjectInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type RestoreObjectOutput struct {
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// Indicates the path in the provided S3 output location where Select results will
@@ -258,6 +261,9 @@ type RestoreObjectOutput struct {
}
func (c *Client) addOperationRestoreObjectMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpRestoreObject{}, middleware.After)
if err != nil {
return err
@@ -266,6 +272,10 @@ func (c *Client) addOperationRestoreObjectMiddlewares(stack *middleware.Stack, o
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "RestoreObject"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -287,9 +297,6 @@ func (c *Client) addOperationRestoreObjectMiddlewares(stack *middleware.Stack, o
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -305,10 +312,10 @@ func (c *Client) addOperationRestoreObjectMiddlewares(stack *middleware.Stack, o
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addRestoreObjectResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpRestoreObjectValidationMiddleware(stack); err != nil {
@@ -341,7 +348,7 @@ func (c *Client) addOperationRestoreObjectMiddlewares(stack *middleware.Stack, o
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -361,7 +368,6 @@ func newServiceMetadataMiddleware_opRestoreObject(region string) *awsmiddleware.
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "RestoreObject",
}
}
@@ -411,139 +417,3 @@ func addRestoreObjectUpdateEndpoint(stack *middleware.Stack, options Options) er
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opRestoreObjectResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opRestoreObjectResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opRestoreObjectResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*RestoreObjectInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addRestoreObjectResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opRestoreObjectResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_SelectObjectContent.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_SelectObjectContent.go
index d6c2ff63..888ec9c2 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_SelectObjectContent.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_SelectObjectContent.go
@@ -4,34 +4,31 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithysync "github.com/aws/smithy-go/sync"
smithyhttp "github.com/aws/smithy-go/transport/http"
"sync"
)
-// This action filters the contents of an Amazon S3 object based on a simple
-// structured query language (SQL) statement. In the request, along with the SQL
-// expression, you must also specify a data serialization format (JSON, CSV, or
-// Apache Parquet) of the object. Amazon S3 uses this format to parse object data
-// into records, and returns only records that match the specified SQL expression.
-// You must also specify the data serialization format for the response. This
-// action is not supported by Amazon S3 on Outposts. For more information about
-// Amazon S3 Select, see Selecting Content from Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html)
+// This operation is not supported by directory buckets. This action filters the
+// contents of an Amazon S3 object based on a simple structured query language
+// (SQL) statement. In the request, along with the SQL expression, you must also
+// specify a data serialization format (JSON, CSV, or Apache Parquet) of the
+// object. Amazon S3 uses this format to parse object data into records, and
+// returns only records that match the specified SQL expression. You must also
+// specify the data serialization format for the response. This functionality is
+// not supported for Amazon S3 on Outposts. For more information about Amazon S3
+// Select, see Selecting Content from Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html)
// and SELECT Command (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html)
-// 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
-// information about permissions, see Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
+// in the Amazon S3 User Guide. Permissions You must have the s3:GetObject
+// permission for this operation. Amazon S3 Select does not support anonymous
+// access. For more information about permissions, see Specifying Permissions in a
+// Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
// in the Amazon S3 User Guide. Object Data Formats You can use Amazon S3 Select to
// query objects that have the following format properties:
// - CSV, JSON, and Parquet - Objects must be in CSV, JSON, or Parquet format.
@@ -134,9 +131,9 @@ type SelectObjectContentInput struct {
// This member is required.
OutputSerialization *types.OutputSerialization
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Specifies if periodic request progress information should be enabled.
@@ -174,6 +171,11 @@ type SelectObjectContentInput struct {
noSmithyDocumentSerde
}
+func (in *SelectObjectContentInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+
+}
+
type SelectObjectContentOutput struct {
eventStream *SelectObjectContentEventStream
@@ -189,6 +191,9 @@ func (o *SelectObjectContentOutput) GetStream() *SelectObjectContentEventStream
}
func (c *Client) addOperationSelectObjectContentMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpSelectObjectContent{}, middleware.After)
if err != nil {
return err
@@ -197,6 +202,10 @@ func (c *Client) addOperationSelectObjectContentMiddlewares(stack *middleware.St
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "SelectObjectContent"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -221,9 +230,6 @@ func (c *Client) addOperationSelectObjectContentMiddlewares(stack *middleware.St
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -233,10 +239,10 @@ func (c *Client) addOperationSelectObjectContentMiddlewares(stack *middleware.St
if err = addClientUserAgent(stack, options); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addSelectObjectContentResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpSelectObjectContentValidationMiddleware(stack); err != nil {
@@ -266,7 +272,7 @@ func (c *Client) addOperationSelectObjectContentMiddlewares(stack *middleware.St
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -286,7 +292,6 @@ func newServiceMetadataMiddleware_opSelectObjectContent(region string) *awsmiddl
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "SelectObjectContent",
}
}
@@ -416,139 +421,3 @@ func (es *SelectObjectContentEventStream) waitStreamClose() {
}
}
-
-type opSelectObjectContentResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opSelectObjectContentResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opSelectObjectContentResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*SelectObjectContentInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addSelectObjectContentResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opSelectObjectContentResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPart.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPart.go
index a3e1a7db..53507fba 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPart.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPart.go
@@ -4,37 +4,61 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
awshttp "github.com/aws/aws-sdk-go-v2/aws/transport/http"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
internalChecksum "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"io"
)
-// Uploads a part in a multipart upload. In this operation, you provide part data
-// in your request. However, you have an option to specify your existing Amazon S3
-// object as a data source for the part you are uploading. To upload a part from an
-// existing object, you use the UploadPartCopy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)
+// Uploads a part in a multipart upload. In this operation, you provide new data
+// as a part of an object in your request. However, you have an option to specify
+// your existing Amazon S3 object as a data source for the part you are uploading.
+// To upload a part from an existing object, you use the UploadPartCopy (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)
// operation. You must initiate a multipart upload (see CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
// ) before you can upload any part. In response to your initiate request, Amazon
-// S3 returns an upload ID, a unique identifier, that you must include in your
+// S3 returns an upload ID, a unique identifier that you must include in your
// upload part request. Part numbers can be any number from 1 to 10,000, inclusive.
// A part number uniquely identifies a part and also defines its position within
// the object being created. If you upload a new part using the same part number
// that was used with a previous part, the previously uploaded part is overwritten.
// For information about maximum and minimum part sizes and other multipart upload
// specifications, see Multipart upload limits (https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html)
-// in the Amazon S3 User Guide. To ensure that data is not corrupted when
+// in the Amazon S3 User Guide. After you initiate multipart upload and upload one
+// or more parts, you must either complete or abort multipart upload in order to
+// stop getting charged for storage of the uploaded parts. Only after you either
+// complete or abort multipart upload, Amazon S3 frees up the parts storage and
+// stops charging you for the parts storage. For more information on multipart
+// uploads, go to Multipart Upload Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html)
+// in the Amazon S3 User Guide . Directory buckets - For directory buckets, you
+// must make requests for this API operation to the Zonal endpoint. These endpoints
+// support virtual-hosted-style requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style
+// requests are not supported. For more information, see Regional and Zonal
+// endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Permissions
+// - General purpose bucket permissions - For information on the permissions
+// required to use the multipart upload API, see Multipart Upload and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
+// in the Amazon S3 User Guide.
+// - Directory bucket permissions - To grant access to this API operation on a
+// directory bucket, we recommend that you use the CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// API operation for session-based authorization. Specifically, you grant the
+// s3express:CreateSession permission to the directory bucket in a bucket policy
+// or an IAM identity-based policy. Then, you make the CreateSession API call on
+// the bucket to obtain a session token. With the session token in your request
+// header, you can make API requests to this operation. After the session token
+// expires, you make another CreateSession API call to generate a new session
+// token for use. Amazon Web Services CLI or SDKs create session and refresh the
+// session token automatically to avoid service interruptions when a session
+// expires. For more information about authorization, see CreateSession (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html)
+// .
+//
+// Data integrity General purpose bucket - To ensure that data is not corrupted
// traversing the network, specify the Content-MD5 header in the upload part
// request. Amazon S3 checks the part data against the provided MD5 value. If they
// do not match, Amazon S3 returns an error. If the upload request is signed with
@@ -42,51 +66,44 @@ import (
// header as a checksum instead of Content-MD5 . For more information see
// Authenticating Requests: Using the Authorization Header (Amazon Web Services
// Signature Version 4) (https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-auth-using-authorization-header.html)
-// . Note: After you initiate multipart upload and upload one or more parts, you
-// must either complete or abort multipart upload in order to stop getting charged
-// for storage of the uploaded parts. Only after you either complete or abort
-// multipart upload, Amazon S3 frees up the parts storage and stops charging you
-// for the parts storage. For more information on multipart uploads, go to
-// Multipart Upload Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html)
-// in the Amazon S3 User Guide . For information on the permissions required to use
-// the multipart upload API, go to Multipart Upload and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
-// in the 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 decrypts it when you access it. You have three mutually exclusive options to
-// protect data using server-side encryption in Amazon S3, depending on how you
-// choose to manage the encryption keys. Specifically, the encryption key options
-// are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and
-// 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)
-// . For more information, go to Using Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html)
-// 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
-// key (SSE-C), you don't need to specify the encryption parameters in each
-// UploadPart request. Instead, you only need to specify the server-side encryption
-// parameters in the initial Initiate Multipart request. For more information, see
-// CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
-// . If you requested server-side encryption using a customer-provided encryption
-// key (SSE-C) in your initiate multipart upload request, you must provide
-// identical encryption information in each part upload using the following
-// headers.
+// . Directory buckets - MD5 is not supported by directory buckets. You can use
+// checksum algorithms to check object integrity. Encryption
+// - General purpose bucket - 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 decrypts it when you access it. You have mutually exclusive options to
+// protect data using server-side encryption in Amazon S3, depending on how you
+// choose to manage the encryption keys. Specifically, the encryption key options
+// are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys (SSE-KMS), and
+// 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). Server-side encryption is
+// supported by the S3 Multipart Upload operations. Unless you are using a
+// customer-provided encryption key (SSE-C), you don't need to specify the
+// encryption parameters in each UploadPart request. Instead, you only need to
+// specify the server-side encryption parameters in the initial Initiate Multipart
+// request. For more information, see CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
+// . If you request server-side encryption using a customer-provided encryption key
+// (SSE-C) in your initiate multipart upload request, you must provide identical
+// encryption information in each part upload using the following request headers.
// - x-amz-server-side-encryption-customer-algorithm
// - x-amz-server-side-encryption-customer-key
// - x-amz-server-side-encryption-customer-key-MD5
+// - Directory bucket - For directory buckets, only server-side encryption with
+// Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported.
//
-// UploadPart has the following special errors:
-// - Code: NoSuchUpload
-// - Cause: The specified multipart upload does not exist. The upload ID might
-// be invalid, or the multipart upload might have been aborted or completed.
+// For more information, see Using Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html)
+// in the Amazon S3 User Guide. Special errors
+// - Error Code: NoSuchUpload
+// - Description: The specified multipart upload does not exist. The upload ID
+// might be invalid, or the multipart upload might have been aborted or completed.
// - HTTP Status Code: 404 Not Found
// - SOAP Fault Code Prefix: Client
//
-// The following operations are related to UploadPart :
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// Bucket_name.s3express-az_id.region.amazonaws.com . The following operations are
+// related to UploadPart :
// - CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
// - CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
// - AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)
@@ -109,16 +126,26 @@ func (c *Client) UploadPart(ctx context.Context, params *UploadPartInput, optFns
type UploadPartInput struct {
- // The name of the bucket to which the multipart upload was initiated. When using
- // this action with an access point, you must direct requests to the access point
- // hostname. The access point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // The name of the bucket to which the multipart upload was initiated. Directory
+ // buckets - When you use this operation with a directory bucket, you must use
+ // virtual-hosted-style requests in the format
+ // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
+ // supported. Directory bucket names must be unique in the chosen Availability
+ // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
+ // example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 ). For information about bucket
+ // naming restrictions, see Directory bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Access points and Object Lambda access points are
+ // not supported by directory buckets. S3 on Outposts - When you use this action
+ // with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts
+ // hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -137,7 +164,7 @@ type UploadPartInput struct {
// 10,000.
//
// This member is required.
- PartNumber int32
+ PartNumber *int32
// Upload ID identifying the multipart upload whose part is being uploaded.
//
@@ -147,12 +174,12 @@ type UploadPartInput struct {
// Object data.
Body io.Reader
- // Indicates the algorithm used to create the checksum for the object when using
- // the SDK. This header will not provide any additional functionality if not using
- // the SDK. When sending this header, there must be a corresponding x-amz-checksum
- // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with the
- // HTTP status code 400 Bad Request . For more information, see Checking object
- // integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // Indicates the algorithm used to create the checksum for the object when you use
+ // the SDK. This header will not provide any additional functionality if you don't
+ // use the SDK. When you send this header, there must be a corresponding
+ // x-amz-checksum or x-amz-trailer header sent. Otherwise, Amazon S3 fails the
+ // request with the HTTP status code 400 Bad Request . For more information, see
+ // Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide. If you provide an individual checksum, Amazon S3
// ignores any provided ChecksumAlgorithm parameter. This checksum algorithm must
// be the same for all parts and it match the checksum value supplied in the
@@ -189,29 +216,31 @@ type UploadPartInput struct {
// Size of the body in bytes. This parameter is useful when the size of the body
// cannot be determined automatically.
- ContentLength int64
+ ContentLength *int64
// The base64-encoded 128-bit MD5 digest of the part data. This parameter is
// auto-populated when using the command from the CLI. This parameter is required
- // if object lock parameters are specified.
+ // if object lock parameters are specified. This functionality is not supported for
+ // directory buckets.
ContentMD5 *string
- // The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request fails with the HTTP status code 403 Forbidden
- // (access denied).
+ // The account ID of the expected bucket owner. If the account ID that you provide
+ // does not match the actual owner of the bucket, the request fails with the HTTP
+ // status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
- // Specifies the algorithm to use to when encrypting the object (for example,
- // AES256).
+ // Specifies the algorithm to use when encrypting the object (for example,
+ // AES256). This functionality is not supported for directory buckets.
SSECustomerAlgorithm *string
// Specifies the customer-provided encryption key for Amazon S3 to use in
@@ -219,48 +248,65 @@ type UploadPartInput struct {
// discarded; Amazon S3 does not store the encryption key. The key must be
// appropriate for use with the algorithm specified in the
// x-amz-server-side-encryption-customer-algorithm header . This must be the same
- // encryption key specified in the initiate multipart upload request.
+ // encryption key specified in the initiate multipart upload request. This
+ // functionality is not supported for directory buckets.
SSECustomerKey *string
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
// Amazon S3 uses this header for a message integrity check to ensure that the
- // encryption key was transmitted without error.
+ // encryption key was transmitted without error. This functionality is not
+ // supported for directory buckets.
SSECustomerKeyMD5 *string
noSmithyDocumentSerde
}
+func (in *UploadPartInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.Key = in.Key
+
+}
+
type UploadPartOutput struct {
// Indicates whether the multipart upload uses an S3 Bucket Key for server-side
- // encryption with Key Management Service (KMS) keys (SSE-KMS).
- BucketKeyEnabled bool
+ // encryption with Key Management Service (KMS) keys (SSE-KMS). This functionality
+ // is not supported for directory buckets.
+ BucketKeyEnabled *bool
// The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32 *string
// The base64-encoded, 32-bit CRC32C checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32C *string
// The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use the API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA1 *string
// The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA256 *string
@@ -268,25 +314,29 @@ type UploadPartOutput struct {
ETag *string
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// If server-side encryption with a customer-provided encryption key was
- // requested, the response will include this header confirming the encryption
- // algorithm used.
+ // requested, the response will include this header to confirm the encryption
+ // algorithm that's used. This functionality is not supported for directory
+ // buckets.
SSECustomerAlgorithm *string
// If server-side encryption with a customer-provided encryption key was
- // requested, the response will include this header to provide round-trip message
- // integrity verification of the customer-provided encryption key.
+ // requested, the response will include this header to provide the round-trip
+ // message integrity verification of the customer-provided encryption key. This
+ // functionality is not supported for directory buckets.
SSECustomerKeyMD5 *string
- // If present, specifies the ID of the Key Management Service (KMS) symmetric
- // encryption customer managed key was used for the object.
+ // If present, indicates the ID of the Key Management Service (KMS) symmetric
+ // encryption customer managed key that was used for the object. This functionality
+ // is not supported for directory buckets.
SSEKMSKeyId *string
- // The server-side encryption algorithm used when storing this object in Amazon S3
- // (for example, AES256 , aws:kms ).
+ // The server-side encryption algorithm used when you store this object in Amazon
+ // S3 (for example, AES256 , aws:kms ). For directory buckets, only server-side
+ // encryption with Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported.
ServerSideEncryption types.ServerSideEncryption
// Metadata pertaining to the operation's result.
@@ -296,6 +346,9 @@ type UploadPartOutput struct {
}
func (c *Client) addOperationUploadPartMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpUploadPart{}, middleware.After)
if err != nil {
return err
@@ -304,6 +357,10 @@ func (c *Client) addOperationUploadPartMiddlewares(stack *middleware.Stack, opti
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "UploadPart"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -325,9 +382,6 @@ func (c *Client) addOperationUploadPartMiddlewares(stack *middleware.Stack, opti
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -343,10 +397,10 @@ func (c *Client) addOperationUploadPartMiddlewares(stack *middleware.Stack, opti
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addUploadPartResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpUploadPartValidationMiddleware(stack); err != nil {
@@ -385,7 +439,7 @@ func (c *Client) addOperationUploadPartMiddlewares(stack *middleware.Stack, opti
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -405,7 +459,6 @@ func newServiceMetadataMiddleware_opUploadPart(region string) *awsmiddleware.Reg
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "UploadPart",
}
}
@@ -489,139 +542,3 @@ func addUploadPartPayloadAsUnsigned(stack *middleware.Stack, options Options) er
v4.RemoveComputePayloadSHA256Middleware(stack)
return v4.AddUnsignedPayloadMiddleware(stack)
}
-
-type opUploadPartResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opUploadPartResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opUploadPartResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*UploadPartInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addUploadPartResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opUploadPartResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPartCopy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPartCopy.go
index ce9a179a..1d48a7be 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPartCopy.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_UploadPartCopy.go
@@ -4,83 +4,98 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
"time"
)
-// Uploads a part by copying data from an existing object as data source. You
-// specify the data source by adding the request header x-amz-copy-source in your
-// request and a byte range by adding the request header x-amz-copy-source-range
-// in your request. For information about maximum and minimum part sizes and other
-// multipart upload specifications, see Multipart upload limits (https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html)
-// in the Amazon S3 User Guide. Instead of using an existing object as part data,
-// you might use the UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
-// action and provide data in your request. You must initiate a multipart upload
-// before you can upload any part. In response to your initiate request. Amazon S3
-// returns a unique identifier, the upload ID, that you must include in your upload
-// part request. For more information about using the UploadPartCopy operation,
-// see the following:
-// - For conceptual information about multipart uploads, see Uploading Objects
-// Using Multipart Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html)
+// Uploads a part by copying data from an existing object as data source. To
+// specify the data source, you add the request header x-amz-copy-source in your
+// request. To specify a byte range, you add the request header
+// x-amz-copy-source-range in your request. For information about maximum and
+// minimum part sizes and other multipart upload specifications, see Multipart
+// upload limits (https://docs.aws.amazon.com/AmazonS3/latest/userguide/qfacts.html)
+// in the Amazon S3 User Guide. Instead of copying data from an existing object as
+// part data, you might use the UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
+// action to upload new data as a part of an object in your request. You must
+// initiate a multipart upload before you can upload any part. In response to your
+// initiate request, Amazon S3 returns the upload ID, a unique identifier that you
+// must include in your upload part request. For conceptual information about
+// multipart uploads, see Uploading Objects Using Multipart Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html)
+// in the Amazon S3 User Guide. For information about copying objects using a
+// single atomic action vs. a multipart upload, see Operations on Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html)
+// in the Amazon S3 User Guide. Directory buckets - For directory buckets, you must
+// make requests for this API operation to the Zonal endpoint. These endpoints
+// support virtual-hosted-style requests in the format
+// https://bucket_name.s3express-az_id.region.amazonaws.com/key-name . Path-style
+// requests are not supported. For more information, see Regional and Zonal
+// endpoints (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-Regions-and-Zones.html)
+// in the Amazon S3 User Guide. Authentication and authorization All UploadPartCopy
+// requests must be authenticated and signed by using IAM credentials (access key
+// ID and secret access key for the IAM identities). All headers with the x-amz-
+// prefix, including x-amz-copy-source , must be signed. For more information, see
+// REST Authentication (https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html)
+// . Directory buckets - You must use IAM credentials to authenticate and authorize
+// your access to the UploadPartCopy API operation, instead of using the temporary
+// security credentials through the CreateSession API operation. Amazon Web
+// Services CLI or SDKs handles authentication and authorization on your behalf.
+// Permissions You must have READ access to the source object and WRITE access to
+// the destination bucket.
+// - General purpose bucket permissions - You must have the permissions in a
+// policy based on the bucket types of your source bucket and destination bucket in
+// an UploadPartCopy operation.
+// - If the source object is in a general purpose bucket, you must have the
+// s3:GetObject permission to read the source object that is being copied.
+// - If the destination bucket is a general purpose bucket, you must have the
+// s3:PubObject permission to write the object copy to the destination bucket.
+// For information about permissions required to use the multipart upload API, see
+// Multipart Upload and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
// in the Amazon S3 User Guide.
-// - For information about permissions required to use the multipart upload API,
-// see Multipart Upload and Permissions (https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html)
+// - Directory bucket permissions - You must have permissions in a bucket policy
+// or an IAM identity-based policy based on the source and destination bucket types
+// in an UploadPartCopy operation.
+// - If the source object that you want to copy is in a directory bucket, you
+// must have the s3express:CreateSession permission in the Action element of a
+// policy to read the object . By default, the session is in the ReadWrite mode.
+// If you want to restrict the access, you can explicitly set the
+// s3express:SessionMode condition key to ReadOnly on the copy source bucket.
+// - If the copy destination is a directory bucket, you must have the
+// s3express:CreateSession permission in the Action element of a policy to write
+// the object to the destination. The s3express:SessionMode condition key cannot
+// be set to ReadOnly on the copy destination. For example policies, see Example
+// bucket policies for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html)
+// and Amazon Web Services Identity and Access Management (IAM) identity-based
+// policies for S3 Express One Zone (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html)
// in the Amazon S3 User Guide.
-// - For information about copying objects using a single atomic action vs. a
-// multipart upload, see Operations on Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html)
-// in the Amazon S3 User Guide.
-// - For information about using server-side encryption with customer-provided
-// encryption keys with the UploadPartCopy operation, see CopyObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)
+//
+// Encryption
+// - General purpose buckets - For information about using server-side
+// encryption with customer-provided encryption keys with the UploadPartCopy
+// operation, see CopyObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html)
// and UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
// .
+// - Directory buckets - For directory buckets, only server-side encryption with
+// Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported.
//
-// Note the following additional considerations about the request headers
-// x-amz-copy-source-if-match , x-amz-copy-source-if-none-match ,
-// x-amz-copy-source-if-unmodified-since , and x-amz-copy-source-if-modified-since
-// :
-// - Consideration 1 - If both of the x-amz-copy-source-if-match and
-// x-amz-copy-source-if-unmodified-since headers are present in the request as
-// follows: x-amz-copy-source-if-match condition evaluates to true , and;
-// x-amz-copy-source-if-unmodified-since condition evaluates to false ; Amazon S3
-// returns 200 OK and copies the data.
-// - Consideration 2 - If both of the x-amz-copy-source-if-none-match and
-// x-amz-copy-source-if-modified-since headers are present in the request as
-// follows: x-amz-copy-source-if-none-match condition evaluates to false , and;
-// x-amz-copy-source-if-modified-since condition evaluates to true ; Amazon S3
-// returns 412 Precondition Failed response code.
-//
-// Versioning If your bucket has versioning enabled, you could have multiple
-// versions of the same object. By default, x-amz-copy-source identifies the
-// current version of the object to copy. If the current version is a delete marker
-// and you don't specify a versionId in the x-amz-copy-source , Amazon S3 returns a
-// 404 error, because the object does not exist. If you specify versionId in the
-// x-amz-copy-source and the versionId is a delete marker, Amazon S3 returns an
-// HTTP 400 error, because you are not allowed to specify a delete marker as a
-// version for the x-amz-copy-source . You can optionally specify a specific
-// version of the source object to copy by adding the versionId subresource as
-// shown in the following example: x-amz-copy-source:
-// /bucket/object?versionId=version id Special errors
-// - Code: NoSuchUpload
-// - Cause: The specified multipart upload does not exist. The upload ID might
-// be invalid, or the multipart upload might have been aborted or completed.
+// Special errors
+// - Error Code: NoSuchUpload
+// - Description: The specified multipart upload does not exist. The upload ID
+// might be invalid, or the multipart upload might have been aborted or completed.
// - HTTP Status Code: 404 Not Found
-// - Code: InvalidRequest
-// - Cause: The specified copy source is not supported as a byte-range copy
-// source.
+// - Error Code: InvalidRequest
+// - Description: The specified copy source is not supported as a byte-range
+// copy source.
// - HTTP Status Code: 400 Bad Request
//
-// The following operations are related to UploadPartCopy :
+// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is
+// Bucket_name.s3express-az_id.region.amazonaws.com . The following operations are
+// related to UploadPartCopy :
// - CreateMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html)
// - UploadPart (https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)
// - CompleteMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CompleteMultipartUpload.html)
@@ -104,15 +119,25 @@ func (c *Client) UploadPartCopy(ctx context.Context, params *UploadPartCopyInput
type UploadPartCopyInput struct {
- // The bucket name. When using this action with an access point, you must direct
- // requests to the access point hostname. The access point hostname takes the form
- // AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com. When using this
- // action with an access point through the Amazon Web Services SDKs, you provide
- // the access point ARN in place of the bucket name. For more information about
- // access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
- // in the Amazon S3 User Guide. When you use this action with Amazon S3 on
- // Outposts, you must direct requests to the S3 on Outposts hostname. The S3 on
- // Outposts hostname takes the form
+ // The bucket name. Directory buckets - When you use this operation with a
+ // directory bucket, you must use virtual-hosted-style requests in the format
+ // Bucket_name.s3express-az_id.region.amazonaws.com . Path-style requests are not
+ // supported. Directory bucket names must be unique in the chosen Availability
+ // Zone. Bucket names must follow the format bucket_base_name--az-id--x-s3 (for
+ // example, DOC-EXAMPLE-BUCKET--usw2-az2--x-s3 ). For information about bucket
+ // naming restrictions, see Directory bucket naming rules (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-bucket-naming-rules.html)
+ // in the Amazon S3 User Guide. Access points - When you use this action with an
+ // access point, you must provide the alias of the access point in place of the
+ // bucket name or specify the access point ARN. When using the access point ARN,
+ // you must direct requests to the access point hostname. The access point hostname
+ // takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide. Access points and Object Lambda access points are
+ // not supported by directory buckets. S3 on Outposts - When you use this action
+ // with Amazon S3 on Outposts, you must direct requests to the S3 on Outposts
+ // hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com . When you
// use this action with S3 on Outposts through the Amazon Web Services SDKs, you
// provide the Outposts access point ARN in place of the bucket name. For more
@@ -137,20 +162,29 @@ type UploadPartCopyInput struct {
// reports/january.pdf through access point my-access-point owned by account
// 123456789012 in Region us-west-2 , use the URL encoding of
// arn:aws:s3:us-west-2:123456789012:accesspoint/my-access-point/object/reports/january.pdf
- // . The value must be URL encoded. Amazon S3 supports copy operations using access
- // points only when the source and destination buckets are in the same Amazon Web
- // Services Region. Alternatively, for objects accessed through Amazon S3 on
- // Outposts, specify the ARN of the object as accessed in the format
- // arn:aws:s3-outposts:::outpost//object/ . For example, to copy the object
- // reports/january.pdf through outpost my-outpost owned by account 123456789012
- // in Region us-west-2 , use the URL encoding of
+ // . The value must be URL encoded.
+ // - Amazon S3 supports copy operations using Access points only when the source
+ // and destination buckets are in the same Amazon Web Services Region.
+ // - Access points are not supported by directory buckets. Alternatively, for
+ // objects accessed through Amazon S3 on Outposts, specify the ARN of the object as
+ // accessed in the format arn:aws:s3-outposts:::outpost//object/ . For example,
+ // to copy the object reports/january.pdf through outpost my-outpost owned by
+ // account 123456789012 in Region us-west-2 , use the URL encoding of
// arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf
// . The value must be URL-encoded.
- // To copy a specific version of an object, append ?versionId= to the value (for
- // example,
- // awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893
- // ). If you don't specify a version ID, Amazon S3 copies the latest version of the
- // source object.
+ // If your bucket has versioning enabled, you could have multiple versions of the
+ // same object. By default, x-amz-copy-source identifies the current version of
+ // the source object to copy. To copy a specific version of the source object to
+ // copy, append ?versionId= to the x-amz-copy-source request header (for example,
+ // x-amz-copy-source:
+ // /awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893
+ // ). If the current version is a delete marker and you don't specify a versionId
+ // in the x-amz-copy-source request header, Amazon S3 returns a 404 Not Found
+ // error, because the object does not exist. If you specify versionId in the
+ // x-amz-copy-source and the versionId is a delete marker, Amazon S3 returns an
+ // HTTP 400 Bad Request error, because you are not allowed to specify a delete
+ // marker as a version for the x-amz-copy-source . Directory buckets - S3
+ // Versioning isn't enabled and supported for directory buckets.
//
// This member is required.
CopySource *string
@@ -164,23 +198,41 @@ type UploadPartCopyInput struct {
// 10,000.
//
// This member is required.
- PartNumber int32
+ PartNumber *int32
// Upload ID identifying the multipart upload whose part is being copied.
//
// This member is required.
UploadId *string
- // Copies the object if its entity tag (ETag) matches the specified tag.
+ // Copies the object if its entity tag (ETag) matches the specified tag. If both
+ // of the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since
+ // headers are present in the request as follows: x-amz-copy-source-if-match
+ // condition evaluates to true , and; x-amz-copy-source-if-unmodified-since
+ // condition evaluates to false ; Amazon S3 returns 200 OK and copies the data.
CopySourceIfMatch *string
- // Copies the object if it has been modified since the specified time.
+ // Copies the object if it has been modified since the specified time. If both of
+ // the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since
+ // headers are present in the request as follows: x-amz-copy-source-if-none-match
+ // condition evaluates to false , and; x-amz-copy-source-if-modified-since
+ // condition evaluates to true ; Amazon S3 returns 412 Precondition Failed
+ // response code.
CopySourceIfModifiedSince *time.Time
- // Copies the object if its entity tag (ETag) is different than the specified ETag.
+ // Copies the object if its entity tag (ETag) is different than the specified
+ // ETag. If both of the x-amz-copy-source-if-none-match and
+ // x-amz-copy-source-if-modified-since headers are present in the request as
+ // follows: x-amz-copy-source-if-none-match condition evaluates to false , and;
+ // x-amz-copy-source-if-modified-since condition evaluates to true ; Amazon S3
+ // returns 412 Precondition Failed response code.
CopySourceIfNoneMatch *string
- // Copies the object if it hasn't been modified since the specified time.
+ // Copies the object if it hasn't been modified since the specified time. If both
+ // of the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since
+ // headers are present in the request as follows: x-amz-copy-source-if-match
+ // condition evaluates to true , and; x-amz-copy-source-if-unmodified-since
+ // condition evaluates to false ; Amazon S3 returns 200 OK and copies the data.
CopySourceIfUnmodifiedSince *time.Time
// The range of bytes to copy from the source object. The range value must use the
@@ -191,40 +243,45 @@ type UploadPartCopyInput struct {
CopySourceRange *string
// Specifies the algorithm to use when decrypting the source object (for example,
- // AES256).
+ // AES256 ). This functionality is not supported when the source object is in a
+ // directory bucket.
CopySourceSSECustomerAlgorithm *string
// Specifies the customer-provided encryption key for Amazon S3 to use to decrypt
// the source object. The encryption key provided in this header must be one that
- // was used when the source object was created.
+ // was used when the source object was created. This functionality is not supported
+ // when the source object is in a directory bucket.
CopySourceSSECustomerKey *string
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
// Amazon S3 uses this header for a message integrity check to ensure that the
- // encryption key was transmitted without error.
+ // encryption key was transmitted without error. This functionality is not
+ // supported when the source object is in a directory bucket.
CopySourceSSECustomerKeyMD5 *string
- // The account ID of the expected destination bucket owner. If the destination
- // bucket is owned by a different account, the request fails with the HTTP status
- // code 403 Forbidden (access denied).
+ // The account ID of the expected destination bucket owner. If the account ID that
+ // you provide does not match the actual owner of the destination bucket, the
+ // request fails with the HTTP status code 403 Forbidden (access denied).
ExpectedBucketOwner *string
- // The account ID of the expected source bucket owner. If the source bucket is
- // owned by a different account, the request fails with the HTTP status code 403
- // Forbidden (access denied).
+ // The account ID of the expected source bucket owner. If the account ID that you
+ // provide does not match the actual owner of the source bucket, the request fails
+ // with the HTTP status code 403 Forbidden (access denied).
ExpectedSourceBucketOwner *string
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. If either the
- // source or destination Amazon S3 bucket has Requester Pays enabled, the requester
- // will pay for corresponding charges to copy the object. For information about
+ // source or destination S3 bucket has Requester Pays enabled, the requester will
+ // pay for corresponding charges to copy the object. For information about
// downloading objects from Requester Pays buckets, see Downloading Objects in
// Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets.
RequestPayer types.RequestPayer
- // Specifies the algorithm to use to when encrypting the object (for example,
- // AES256).
+ // Specifies the algorithm to use when encrypting the object (for example,
+ // AES256). This functionality is not supported when the destination bucket is a
+ // directory bucket.
SSECustomerAlgorithm *string
// Specifies the customer-provided encryption key for Amazon S3 to use in
@@ -232,50 +289,64 @@ type UploadPartCopyInput struct {
// discarded; Amazon S3 does not store the encryption key. The key must be
// appropriate for use with the algorithm specified in the
// x-amz-server-side-encryption-customer-algorithm header. This must be the same
- // encryption key specified in the initiate multipart upload request.
+ // encryption key specified in the initiate multipart upload request. This
+ // functionality is not supported when the destination bucket is a directory
+ // bucket.
SSECustomerKey *string
// Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
// Amazon S3 uses this header for a message integrity check to ensure that the
- // encryption key was transmitted without error.
+ // encryption key was transmitted without error. This functionality is not
+ // supported when the destination bucket is a directory bucket.
SSECustomerKeyMD5 *string
noSmithyDocumentSerde
}
+func (in *UploadPartCopyInput) bindEndpointParams(p *EndpointParameters) {
+ p.Bucket = in.Bucket
+ p.DisableS3ExpressSessionAuth = ptr.Bool(true)
+}
+
type UploadPartCopyOutput struct {
// Indicates whether the multipart upload uses an S3 Bucket Key for server-side
- // encryption with Key Management Service (KMS) keys (SSE-KMS).
- BucketKeyEnabled bool
+ // encryption with Key Management Service (KMS) keys (SSE-KMS). This functionality
+ // is not supported for directory buckets.
+ BucketKeyEnabled *bool
// Container for all response elements.
CopyPartResult *types.CopyPartResult
// The version of the source object that was copied, if you have enabled
- // versioning on the source bucket.
+ // versioning on the source bucket. This functionality is not supported when the
+ // source object is in a directory bucket.
CopySourceVersionId *string
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// If server-side encryption with a customer-provided encryption key was
- // requested, the response will include this header confirming the encryption
- // algorithm used.
+ // requested, the response will include this header to confirm the encryption
+ // algorithm that's used. This functionality is not supported for directory
+ // buckets.
SSECustomerAlgorithm *string
// If server-side encryption with a customer-provided encryption key was
- // requested, the response will include this header to provide round-trip message
- // integrity verification of the customer-provided encryption key.
+ // requested, the response will include this header to provide the round-trip
+ // message integrity verification of the customer-provided encryption key. This
+ // functionality is not supported for directory buckets.
SSECustomerKeyMD5 *string
- // If present, specifies the ID of the Key Management Service (KMS) symmetric
- // encryption customer managed key that was used for the object.
+ // If present, indicates the ID of the Key Management Service (KMS) symmetric
+ // encryption customer managed key that was used for the object. This functionality
+ // is not supported for directory buckets.
SSEKMSKeyId *string
- // The server-side encryption algorithm used when storing this object in Amazon S3
- // (for example, AES256 , aws:kms ).
+ // The server-side encryption algorithm used when you store this object in Amazon
+ // S3 (for example, AES256 , aws:kms ). For directory buckets, only server-side
+ // encryption with Amazon S3 managed keys (SSE-S3) ( AES256 ) is supported.
ServerSideEncryption types.ServerSideEncryption
// Metadata pertaining to the operation's result.
@@ -285,6 +356,9 @@ type UploadPartCopyOutput struct {
}
func (c *Client) addOperationUploadPartCopyMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpUploadPartCopy{}, middleware.After)
if err != nil {
return err
@@ -293,6 +367,10 @@ func (c *Client) addOperationUploadPartCopyMiddlewares(stack *middleware.Stack,
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "UploadPartCopy"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -314,9 +392,6 @@ func (c *Client) addOperationUploadPartCopyMiddlewares(stack *middleware.Stack,
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -332,10 +407,10 @@ func (c *Client) addOperationUploadPartCopyMiddlewares(stack *middleware.Stack,
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addUploadPartCopyResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
if err = addOpUploadPartCopyValidationMiddleware(stack); err != nil {
@@ -368,7 +443,7 @@ func (c *Client) addOperationUploadPartCopyMiddlewares(stack *middleware.Stack,
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -388,7 +463,6 @@ func newServiceMetadataMiddleware_opUploadPartCopy(region string) *awsmiddleware
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "UploadPartCopy",
}
}
@@ -418,139 +492,3 @@ func addUploadPartCopyUpdateEndpoint(stack *middleware.Stack, options Options) e
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opUploadPartCopyResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opUploadPartCopyResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opUploadPartCopyResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- input, ok := in.Parameters.(*UploadPartCopyInput)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.Bucket = input.Bucket
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addUploadPartCopyResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opUploadPartCopyResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_WriteGetObjectResponse.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_WriteGetObjectResponse.go
index 751f646d..ac90ff70 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_WriteGetObjectResponse.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/api_op_WriteGetObjectResponse.go
@@ -4,17 +4,12 @@ package s3
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- "github.com/aws/aws-sdk-go-v2/internal/v4a"
s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
smithy "github.com/aws/smithy-go"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
"github.com/aws/smithy-go/ptr"
smithyhttp "github.com/aws/smithy-go/transport/http"
@@ -23,9 +18,10 @@ import (
"time"
)
-// Passes transformed objects to a GetObject operation when using Object Lambda
-// access points. For information about Object Lambda access points, see
-// Transforming objects with Object Lambda access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html)
+// This operation is not supported by directory buckets. Passes transformed
+// objects to a GetObject operation when using Object Lambda access points. For
+// information about Object Lambda access points, see Transforming objects with
+// Object Lambda access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html)
// in the Amazon S3 User Guide. This operation supports metadata that can be
// returned by GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
// , in addition to RequestRoute , RequestToken , StatusCode , ErrorCode , and
@@ -94,7 +90,7 @@ type WriteGetObjectResponseInput struct {
// Indicates whether the object stored in Amazon S3 uses an S3 bucket key for
// server-side encryption with Amazon Web Services KMS (SSE-KMS).
- BucketKeyEnabled bool
+ BucketKeyEnabled *bool
// Specifies caching behavior along the request/reply chain.
CacheControl *string
@@ -155,7 +151,7 @@ type WriteGetObjectResponseInput struct {
ContentLanguage *string
// The size of the content body in bytes.
- ContentLength int64
+ ContentLength *int64
// The portion of the object returned in the response.
ContentRange *string
@@ -165,7 +161,7 @@ type WriteGetObjectResponseInput struct {
// Specifies whether an object stored in Amazon S3 is ( true ) or is not ( false )
// a delete marker.
- DeleteMarker bool
+ DeleteMarker *bool
// An opaque identifier assigned by a web server to a specific version of a
// resource found at a URL.
@@ -203,7 +199,7 @@ type WriteGetObjectResponseInput struct {
// can happen if you create metadata using an API like SOAP that supports more
// flexible metadata than the REST API. For example, using SOAP, you can create
// metadata whose values are not legal HTTP headers.
- MissingMeta int32
+ MissingMeta *int32
// Indicates whether an object stored in Amazon S3 has an active legal hold.
ObjectLockLegalHoldStatus types.ObjectLockLegalHoldStatus
@@ -217,7 +213,7 @@ type WriteGetObjectResponseInput struct {
ObjectLockRetainUntilDate *time.Time
// The count of parts this object has.
- PartsCount int32
+ PartsCount *int32
// Indicates if request involves bucket that is either a source or destination in
// a Replication rule. For more information about S3 Replication, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/userguide/replication.html)
@@ -225,7 +221,7 @@ type WriteGetObjectResponseInput struct {
ReplicationStatus types.ReplicationStatus
// If present, indicates that the requester was successfully charged for the
- // request.
+ // request. This functionality is not supported for directory buckets.
RequestCharged types.RequestCharged
// Provides information about object restoration operation and expiration time of
@@ -267,7 +263,7 @@ type WriteGetObjectResponseInput struct {
// - 416 - Range Not Satisfiable
// - 500 - Internal Server Error
// - 503 - Service Unavailable
- StatusCode int32
+ StatusCode *int32
// Provides storage class information of the object. Amazon S3 returns this header
// for all objects except for S3 Standard storage class objects. For more
@@ -276,7 +272,7 @@ type WriteGetObjectResponseInput struct {
StorageClass types.StorageClass
// The number of tags, if any, on the object.
- TagCount int32
+ TagCount *int32
// An ID used to reference a specific version of the object.
VersionId *string
@@ -284,6 +280,11 @@ type WriteGetObjectResponseInput struct {
noSmithyDocumentSerde
}
+func (in *WriteGetObjectResponseInput) bindEndpointParams(p *EndpointParameters) {
+
+ p.UseObjectLambdaEndpoint = ptr.Bool(true)
+}
+
type WriteGetObjectResponseOutput struct {
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
@@ -292,6 +293,9 @@ type WriteGetObjectResponseOutput struct {
}
func (c *Client) addOperationWriteGetObjectResponseMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestxml_serializeOpWriteGetObjectResponse{}, middleware.After)
if err != nil {
return err
@@ -300,6 +304,10 @@ func (c *Client) addOperationWriteGetObjectResponseMiddlewares(stack *middleware
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "WriteGetObjectResponse"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -324,9 +332,6 @@ func (c *Client) addOperationWriteGetObjectResponseMiddlewares(stack *middleware
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -342,13 +347,13 @@ func (c *Client) addOperationWriteGetObjectResponseMiddlewares(stack *middleware
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
- if err = addEndpointPrefix_opWriteGetObjectResponseMiddleware(stack); err != nil {
+ if err = addPutBucketContextMiddleware(stack); err != nil {
return err
}
- if err = addWriteGetObjectResponseResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addEndpointPrefix_opWriteGetObjectResponseMiddleware(stack); err != nil {
return err
}
if err = addOpWriteGetObjectResponseValidationMiddleware(stack); err != nil {
@@ -378,7 +383,7 @@ func (c *Client) addOperationWriteGetObjectResponseMiddlewares(stack *middleware
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
if err = addSerializeImmutableHostnameBucketMiddleware(stack, options); err != nil {
@@ -394,11 +399,11 @@ func (*endpointPrefix_opWriteGetObjectResponseMiddleware) ID() string {
return "EndpointHostPrefix"
}
-func (m *endpointPrefix_opWriteGetObjectResponseMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+func (m *endpointPrefix_opWriteGetObjectResponseMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
) {
if smithyhttp.GetHostnameImmutable(ctx) || smithyhttp.IsEndpointHostPrefixDisabled(ctx) {
- return next.HandleSerialize(ctx, in)
+ return next.HandleFinalize(ctx, in)
}
req, ok := in.Request.(*smithyhttp.Request)
@@ -406,9 +411,10 @@ func (m *endpointPrefix_opWriteGetObjectResponseMiddleware) HandleSerialize(ctx
return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
}
- input, ok := in.Parameters.(*WriteGetObjectResponseInput)
+ opaqueInput := getOperationInput(ctx)
+ input, ok := opaqueInput.(*WriteGetObjectResponseInput)
if !ok {
- return out, metadata, fmt.Errorf("unknown input type %T", in.Parameters)
+ return out, metadata, fmt.Errorf("unknown input type %T", opaqueInput)
}
var prefix strings.Builder
@@ -422,17 +428,16 @@ func (m *endpointPrefix_opWriteGetObjectResponseMiddleware) HandleSerialize(ctx
prefix.WriteString(".")
req.URL.Host = prefix.String() + req.URL.Host
- return next.HandleSerialize(ctx, in)
+ return next.HandleFinalize(ctx, in)
}
func addEndpointPrefix_opWriteGetObjectResponseMiddleware(stack *middleware.Stack) error {
- return stack.Serialize.Insert(&endpointPrefix_opWriteGetObjectResponseMiddleware{}, `OperationSerializer`, middleware.After)
+ return stack.Finalize.Insert(&endpointPrefix_opWriteGetObjectResponseMiddleware{}, "ResolveEndpointV2", middleware.After)
}
func newServiceMetadataMiddleware_opWriteGetObjectResponse(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "s3",
OperationName: "WriteGetObjectResponse",
}
}
@@ -452,134 +457,3 @@ func addWriteGetObjectResponseUpdateEndpoint(stack *middleware.Stack, options Op
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
-
-type opWriteGetObjectResponseResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opWriteGetObjectResponseResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opWriteGetObjectResponseResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- params.UseObjectLambdaEndpoint = ptr.Bool(true)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "s3"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, internalauth.SigV4)
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "s3"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- ctx = s3cust.SetSignerVersion(ctx, v4Scheme.Name)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("s3")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- ctx = s3cust.SetSignerVersion(ctx, v4a.Version)
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addWriteGetObjectResponseResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opWriteGetObjectResponseResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- Endpoint: options.BaseEndpoint,
- ForcePathStyle: options.UsePathStyle,
- Accelerate: options.UseAccelerate,
- DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
- UseArnRegion: options.UseARNRegion,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/auth.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/auth.go
new file mode 100644
index 00000000..6ef631bd
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/auth.go
@@ -0,0 +1,318 @@
+// Code generated by smithy-go-codegen DO NOT EDIT.
+
+package s3
+
+import (
+ "context"
+ "fmt"
+ awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
+ smithy "github.com/aws/smithy-go"
+ smithyauth "github.com/aws/smithy-go/auth"
+ "github.com/aws/smithy-go/middleware"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+)
+
+func bindAuthParamsRegion(params *AuthResolverParameters, _ interface{}, options Options) {
+ params.Region = options.Region
+}
+
+func bindAuthEndpointParams(params *AuthResolverParameters, input interface{}, options Options) {
+ params.endpointParams = bindEndpointParams(input, options)
+}
+
+type setLegacyContextSigningOptionsMiddleware struct {
+}
+
+func (*setLegacyContextSigningOptionsMiddleware) ID() string {
+ return "setLegacyContextSigningOptions"
+}
+
+func (m *setLegacyContextSigningOptionsMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ rscheme := getResolvedAuthScheme(ctx)
+ schemeID := rscheme.Scheme.SchemeID()
+
+ if sn := awsmiddleware.GetSigningName(ctx); sn != "" {
+ if schemeID == "aws.auth#sigv4" {
+ smithyhttp.SetSigV4SigningName(&rscheme.SignerProperties, sn)
+ } else if schemeID == "aws.auth#sigv4a" {
+ smithyhttp.SetSigV4ASigningName(&rscheme.SignerProperties, sn)
+ }
+ }
+
+ if sr := awsmiddleware.GetSigningRegion(ctx); sr != "" {
+ if schemeID == "aws.auth#sigv4" {
+ smithyhttp.SetSigV4SigningRegion(&rscheme.SignerProperties, sr)
+ } else if schemeID == "aws.auth#sigv4a" {
+ smithyhttp.SetSigV4ASigningRegions(&rscheme.SignerProperties, []string{sr})
+ }
+ }
+
+ return next.HandleFinalize(ctx, in)
+}
+
+func addSetLegacyContextSigningOptionsMiddleware(stack *middleware.Stack) error {
+ return stack.Finalize.Insert(&setLegacyContextSigningOptionsMiddleware{}, "Signing", middleware.Before)
+}
+
+type withAnonymous struct {
+ resolver AuthSchemeResolver
+}
+
+var _ AuthSchemeResolver = (*withAnonymous)(nil)
+
+func (v *withAnonymous) ResolveAuthSchemes(ctx context.Context, params *AuthResolverParameters) ([]*smithyauth.Option, error) {
+ opts, err := v.resolver.ResolveAuthSchemes(ctx, params)
+ if err != nil {
+ return nil, err
+ }
+
+ opts = append(opts, &smithyauth.Option{
+ SchemeID: smithyauth.SchemeIDAnonymous,
+ })
+ return opts, nil
+}
+
+func wrapWithAnonymousAuth(options *Options) {
+ if _, ok := options.AuthSchemeResolver.(*defaultAuthSchemeResolver); !ok {
+ return
+ }
+
+ options.AuthSchemeResolver = &withAnonymous{
+ resolver: options.AuthSchemeResolver,
+ }
+}
+
+// AuthResolverParameters contains the set of inputs necessary for auth scheme
+// resolution.
+type AuthResolverParameters struct {
+ // The name of the operation being invoked.
+ Operation string
+
+ // The endpoint resolver parameters for this operation. This service's default
+ // resolver delegates to endpoint rules.
+ endpointParams *EndpointParameters
+
+ // The region in which the operation is being invoked.
+ Region string
+}
+
+func bindAuthResolverParams(operation string, input interface{}, options Options) *AuthResolverParameters {
+ params := &AuthResolverParameters{
+ Operation: operation,
+ }
+
+ bindAuthEndpointParams(params, input, options)
+ bindAuthParamsRegion(params, input, options)
+
+ return params
+}
+
+// AuthSchemeResolver returns a set of possible authentication options for an
+// operation.
+type AuthSchemeResolver interface {
+ ResolveAuthSchemes(context.Context, *AuthResolverParameters) ([]*smithyauth.Option, error)
+}
+
+type defaultAuthSchemeResolver struct{}
+
+var _ AuthSchemeResolver = (*defaultAuthSchemeResolver)(nil)
+
+func (*defaultAuthSchemeResolver) ResolveAuthSchemes(ctx context.Context, params *AuthResolverParameters) ([]*smithyauth.Option, error) {
+ if overrides, ok := operationAuthOptions[params.Operation]; ok {
+ return overrides(params), nil
+ }
+ return serviceAuthOptions(params), nil
+}
+
+var operationAuthOptions = map[string]func(*AuthResolverParameters) []*smithyauth.Option{
+ "WriteGetObjectResponse": func(params *AuthResolverParameters) []*smithyauth.Option {
+ return []*smithyauth.Option{
+ {
+ SchemeID: smithyauth.SchemeIDSigV4,
+ SignerProperties: func() smithy.Properties {
+ var props smithy.Properties
+ smithyhttp.SetSigV4SigningName(&props, "s3")
+ smithyhttp.SetSigV4SigningRegion(&props, params.Region)
+ smithyhttp.SetIsUnsignedPayload(&props, true)
+ return props
+ }(),
+ },
+ }
+ },
+}
+
+func serviceAuthOptions(params *AuthResolverParameters) []*smithyauth.Option {
+ return []*smithyauth.Option{
+ {
+ SchemeID: smithyauth.SchemeIDSigV4,
+ SignerProperties: func() smithy.Properties {
+ var props smithy.Properties
+ smithyhttp.SetSigV4SigningName(&props, "s3")
+ smithyhttp.SetSigV4SigningRegion(&props, params.Region)
+ return props
+ }(),
+ },
+
+ {
+ SchemeID: smithyauth.SchemeIDSigV4A,
+ SignerProperties: func() smithy.Properties {
+ var props smithy.Properties
+ smithyhttp.SetSigV4ASigningName(&props, "s3")
+ smithyhttp.SetSigV4ASigningRegions(&props, []string{params.Region})
+ return props
+ }(),
+ },
+ }
+}
+
+type resolveAuthSchemeMiddleware struct {
+ operation string
+ options Options
+}
+
+func (*resolveAuthSchemeMiddleware) ID() string {
+ return "ResolveAuthScheme"
+}
+
+func (m *resolveAuthSchemeMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ params := bindAuthResolverParams(m.operation, getOperationInput(ctx), m.options)
+ options, err := m.options.AuthSchemeResolver.ResolveAuthSchemes(ctx, params)
+ if err != nil {
+ return out, metadata, fmt.Errorf("resolve auth scheme: %w", err)
+ }
+
+ scheme, ok := m.selectScheme(options)
+ if !ok {
+ return out, metadata, fmt.Errorf("could not select an auth scheme")
+ }
+
+ ctx = setResolvedAuthScheme(ctx, scheme)
+ return next.HandleFinalize(ctx, in)
+}
+
+func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option) (*resolvedAuthScheme, bool) {
+ for _, option := range options {
+ if option.SchemeID == smithyauth.SchemeIDAnonymous {
+ return newResolvedAuthScheme(smithyhttp.NewAnonymousScheme(), option), true
+ }
+
+ for _, scheme := range m.options.AuthSchemes {
+ if scheme.SchemeID() != option.SchemeID {
+ continue
+ }
+
+ if scheme.IdentityResolver(m.options) != nil {
+ return newResolvedAuthScheme(scheme, option), true
+ }
+ }
+ }
+
+ return nil, false
+}
+
+type resolvedAuthSchemeKey struct{}
+
+type resolvedAuthScheme struct {
+ Scheme smithyhttp.AuthScheme
+ IdentityProperties smithy.Properties
+ SignerProperties smithy.Properties
+}
+
+func newResolvedAuthScheme(scheme smithyhttp.AuthScheme, option *smithyauth.Option) *resolvedAuthScheme {
+ return &resolvedAuthScheme{
+ Scheme: scheme,
+ IdentityProperties: option.IdentityProperties,
+ SignerProperties: option.SignerProperties,
+ }
+}
+
+func setResolvedAuthScheme(ctx context.Context, scheme *resolvedAuthScheme) context.Context {
+ return middleware.WithStackValue(ctx, resolvedAuthSchemeKey{}, scheme)
+}
+
+func getResolvedAuthScheme(ctx context.Context) *resolvedAuthScheme {
+ v, _ := middleware.GetStackValue(ctx, resolvedAuthSchemeKey{}).(*resolvedAuthScheme)
+ return v
+}
+
+type getIdentityMiddleware struct {
+ options Options
+}
+
+func (*getIdentityMiddleware) ID() string {
+ return "GetIdentity"
+}
+
+func (m *getIdentityMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ rscheme := getResolvedAuthScheme(ctx)
+ if rscheme == nil {
+ return out, metadata, fmt.Errorf("no resolved auth scheme")
+ }
+
+ resolver := rscheme.Scheme.IdentityResolver(m.options)
+ if resolver == nil {
+ return out, metadata, fmt.Errorf("no identity resolver")
+ }
+
+ identity, err := resolver.GetIdentity(ctx, rscheme.IdentityProperties)
+ if err != nil {
+ return out, metadata, fmt.Errorf("get identity: %w", err)
+ }
+
+ ctx = setIdentity(ctx, identity)
+ return next.HandleFinalize(ctx, in)
+}
+
+type identityKey struct{}
+
+func setIdentity(ctx context.Context, identity smithyauth.Identity) context.Context {
+ return middleware.WithStackValue(ctx, identityKey{}, identity)
+}
+
+func getIdentity(ctx context.Context) smithyauth.Identity {
+ v, _ := middleware.GetStackValue(ctx, identityKey{}).(smithyauth.Identity)
+ return v
+}
+
+type signRequestMiddleware struct {
+}
+
+func (*signRequestMiddleware) ID() string {
+ return "Signing"
+}
+
+func (m *signRequestMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ req, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, fmt.Errorf("unexpected transport type %T", in.Request)
+ }
+
+ rscheme := getResolvedAuthScheme(ctx)
+ if rscheme == nil {
+ return out, metadata, fmt.Errorf("no resolved auth scheme")
+ }
+
+ identity := getIdentity(ctx)
+ if identity == nil {
+ return out, metadata, fmt.Errorf("no identity")
+ }
+
+ signer := rscheme.Scheme.Signer()
+ if signer == nil {
+ return out, metadata, fmt.Errorf("no signer")
+ }
+
+ if err := signer.SignRequest(ctx, req, identity, rscheme.SignerProperties); err != nil {
+ return out, metadata, fmt.Errorf("sign request: %w", err)
+ }
+
+ return next.HandleFinalize(ctx, in)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/bucket_context.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/bucket_context.go
new file mode 100644
index 00000000..860af056
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/bucket_context.go
@@ -0,0 +1,47 @@
+package s3
+
+import (
+ "context"
+
+ "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
+ "github.com/aws/smithy-go/middleware"
+)
+
+// putBucketContextMiddleware stores the input bucket name within the request context (if
+// present) which is required for a variety of custom S3 behaviors
+type putBucketContextMiddleware struct{}
+
+func (*putBucketContextMiddleware) ID() string {
+ return "putBucketContext"
+}
+
+func (m *putBucketContextMiddleware) HandleSerialize(
+ ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler,
+) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ if bucket, ok := m.bucketFromInput(in.Parameters); ok {
+ ctx = customizations.SetBucket(ctx, bucket)
+ }
+ return next.HandleSerialize(ctx, in)
+}
+
+func (m *putBucketContextMiddleware) bucketFromInput(params interface{}) (string, bool) {
+ v, ok := params.(bucketer)
+ if !ok {
+ return "", false
+ }
+
+ return v.bucket()
+}
+
+func addPutBucketContextMiddleware(stack *middleware.Stack) error {
+ // This is essentially a post-Initialize task - only run it once the input
+ // has received all modifications from that phase. Therefore we add it as
+ // an early Serialize step.
+ //
+ // FUTURE: it would be nice to have explicit phases that only we as SDK
+ // authors can hook into (such as between phases like this really should
+ // be)
+ return stack.Serialize.Add(&putBucketContextMiddleware{}, middleware.Before)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/create_mpu_checksum.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/create_mpu_checksum.go
new file mode 100644
index 00000000..5803b9e4
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/create_mpu_checksum.go
@@ -0,0 +1,36 @@
+package s3
+
+import (
+ "context"
+ "fmt"
+
+ internalcontext "github.com/aws/aws-sdk-go-v2/internal/context"
+ "github.com/aws/smithy-go/middleware"
+)
+
+// backfills checksum algorithm onto the context for CreateMultipart upload so
+// transfer manager can set a checksum header on the request accordingly for
+// s3express requests
+type setCreateMPUChecksumAlgorithm struct{}
+
+func (*setCreateMPUChecksumAlgorithm) ID() string {
+ return "setCreateMPUChecksumAlgorithm"
+}
+
+func (*setCreateMPUChecksumAlgorithm) HandleSerialize(
+ ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler,
+) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ input, ok := in.Parameters.(*CreateMultipartUploadInput)
+ if !ok {
+ return out, metadata, fmt.Errorf("unexpected input type %T", in.Parameters)
+ }
+
+ ctx = internalcontext.SetChecksumInputAlgorithm(ctx, string(input.ChecksumAlgorithm))
+ return next.HandleSerialize(ctx, in)
+}
+
+func addSetCreateMPUChecksumAlgorithm(s *middleware.Stack) error {
+ return s.Serialize.Add(&setCreateMPUChecksumAlgorithm{}, middleware.Before)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/deserializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/deserializers.go
index fc192a32..2be5df30 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/deserializers.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/deserializers.go
@@ -230,7 +230,7 @@ func awsRestxml_deserializeOpHttpBindingsCompleteMultipartUploadOutput(v *Comple
if err != nil {
return err
}
- v.BucketKeyEnabled = vv
+ v.BucketKeyEnabled = ptr.Bool(vv)
}
if headerValues := response.Header.Values("x-amz-expiration"); len(headerValues) != 0 {
@@ -516,7 +516,7 @@ func awsRestxml_deserializeOpHttpBindingsCopyObjectOutput(v *CopyObjectOutput, r
if err != nil {
return err
}
- v.BucketKeyEnabled = vv
+ v.BucketKeyEnabled = ptr.Bool(vv)
}
if headerValues := response.Header.Values("x-amz-copy-source-version-id"); len(headerValues) != 0 {
@@ -828,7 +828,7 @@ func awsRestxml_deserializeOpHttpBindingsCreateMultipartUploadOutput(v *CreateMu
if err != nil {
return err
}
- v.BucketKeyEnabled = vv
+ v.BucketKeyEnabled = ptr.Bool(vv)
}
if headerValues := response.Header.Values("x-amz-checksum-algorithm"); len(headerValues) != 0 {
@@ -943,6 +943,148 @@ func awsRestxml_deserializeOpDocumentCreateMultipartUploadOutput(v **CreateMulti
return nil
}
+type awsRestxml_deserializeOpCreateSession struct {
+}
+
+func (*awsRestxml_deserializeOpCreateSession) ID() string {
+ return "OperationDeserializer"
+}
+
+func (m *awsRestxml_deserializeOpCreateSession) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
+ out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
+) {
+ out, metadata, err = next.HandleDeserialize(ctx, in)
+ if err != nil {
+ return out, metadata, err
+ }
+
+ response, ok := out.RawResponse.(*smithyhttp.Response)
+ if !ok {
+ return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
+ }
+
+ if response.StatusCode < 200 || response.StatusCode >= 300 {
+ return out, metadata, awsRestxml_deserializeOpErrorCreateSession(response, &metadata)
+ }
+ output := &CreateSessionOutput{}
+ out.Result = output
+
+ var buff [1024]byte
+ ringBuffer := smithyio.NewRingBuffer(buff[:])
+ body := io.TeeReader(response.Body, ringBuffer)
+ rootDecoder := xml.NewDecoder(body)
+ t, err := smithyxml.FetchRootElement(rootDecoder)
+ if err == io.EOF {
+ return out, metadata, nil
+ }
+ if err != nil {
+ var snapshot bytes.Buffer
+ io.Copy(&snapshot, ringBuffer)
+ return out, metadata, &smithy.DeserializationError{
+ Err: fmt.Errorf("failed to decode response body, %w", err),
+ Snapshot: snapshot.Bytes(),
+ }
+ }
+
+ decoder := smithyxml.WrapNodeDecoder(rootDecoder, t)
+ err = awsRestxml_deserializeOpDocumentCreateSessionOutput(&output, decoder)
+ if err != nil {
+ var snapshot bytes.Buffer
+ io.Copy(&snapshot, ringBuffer)
+ return out, metadata, &smithy.DeserializationError{
+ Err: fmt.Errorf("failed to decode response body, %w", err),
+ Snapshot: snapshot.Bytes(),
+ }
+ }
+
+ return out, metadata, err
+}
+
+func awsRestxml_deserializeOpErrorCreateSession(response *smithyhttp.Response, metadata *middleware.Metadata) error {
+ var errorBuffer bytes.Buffer
+ if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
+ return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
+ }
+ errorBody := bytes.NewReader(errorBuffer.Bytes())
+
+ errorCode := "UnknownError"
+ errorMessage := errorCode
+
+ errorComponents, err := s3shared.GetErrorResponseComponents(errorBody, s3shared.ErrorResponseDeserializerOptions{
+ UseStatusCode: true, StatusCode: response.StatusCode,
+ })
+ if err != nil {
+ return err
+ }
+ if hostID := errorComponents.HostID; len(hostID) != 0 {
+ s3shared.SetHostIDMetadata(metadata, hostID)
+ }
+ if reqID := errorComponents.RequestID; len(reqID) != 0 {
+ awsmiddleware.SetRequestIDMetadata(metadata, reqID)
+ }
+ if len(errorComponents.Code) != 0 {
+ errorCode = errorComponents.Code
+ }
+ if len(errorComponents.Message) != 0 {
+ errorMessage = errorComponents.Message
+ }
+ errorBody.Seek(0, io.SeekStart)
+ switch {
+ case strings.EqualFold("NoSuchBucket", errorCode):
+ return awsRestxml_deserializeErrorNoSuchBucket(response, errorBody)
+
+ default:
+ genericError := &smithy.GenericAPIError{
+ Code: errorCode,
+ Message: errorMessage,
+ }
+ return genericError
+
+ }
+}
+
+func awsRestxml_deserializeOpDocumentCreateSessionOutput(v **CreateSessionOutput, decoder smithyxml.NodeDecoder) error {
+ if v == nil {
+ return fmt.Errorf("unexpected nil of type %T", v)
+ }
+ var sv *CreateSessionOutput
+ if *v == nil {
+ sv = &CreateSessionOutput{}
+ } else {
+ sv = *v
+ }
+
+ for {
+ t, done, err := decoder.Token()
+ if err != nil {
+ return err
+ }
+ if done {
+ break
+ }
+ originalDecoder := decoder
+ decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t)
+ switch {
+ case strings.EqualFold("Credentials", t.Name.Local):
+ nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
+ if err := awsRestxml_deserializeDocumentSessionCredentials(&sv.Credentials, nodeDecoder); err != nil {
+ return err
+ }
+
+ default:
+ // Do nothing and ignore the unexpected tag element
+ err = decoder.Decoder.Skip()
+ if err != nil {
+ return err
+ }
+
+ }
+ decoder = originalDecoder
+ }
+ *v = sv
+ return nil
+}
+
type awsRestxml_deserializeOpDeleteBucket struct {
}
@@ -2003,7 +2145,7 @@ func awsRestxml_deserializeOpHttpBindingsDeleteObjectOutput(v *DeleteObjectOutpu
if err != nil {
return err
}
- v.DeleteMarker = vv
+ v.DeleteMarker = ptr.Bool(vv)
}
if headerValues := response.Header.Values("x-amz-request-charged"); len(headerValues) != 0 {
@@ -5280,7 +5422,7 @@ func awsRestxml_deserializeOpHttpBindingsGetObjectOutput(v *GetObjectOutput, res
if err != nil {
return err
}
- v.BucketKeyEnabled = vv
+ v.BucketKeyEnabled = ptr.Bool(vv)
}
if headerValues := response.Header.Values("Cache-Control"); len(headerValues) != 0 {
@@ -5329,7 +5471,7 @@ func awsRestxml_deserializeOpHttpBindingsGetObjectOutput(v *GetObjectOutput, res
if err != nil {
return err
}
- v.ContentLength = vv
+ v.ContentLength = ptr.Int64(vv)
}
if headerValues := response.Header.Values("Content-Range"); len(headerValues) != 0 {
@@ -5348,7 +5490,7 @@ func awsRestxml_deserializeOpHttpBindingsGetObjectOutput(v *GetObjectOutput, res
if err != nil {
return err
}
- v.DeleteMarker = vv
+ v.DeleteMarker = ptr.Bool(vv)
}
if headerValues := response.Header.Values("ETag"); len(headerValues) != 0 {
@@ -5395,7 +5537,7 @@ func awsRestxml_deserializeOpHttpBindingsGetObjectOutput(v *GetObjectOutput, res
if err != nil {
return err
}
- v.MissingMeta = int32(vv)
+ v.MissingMeta = ptr.Int32(int32(vv))
}
if headerValues := response.Header.Values("x-amz-object-lock-legal-hold"); len(headerValues) != 0 {
@@ -5423,7 +5565,7 @@ func awsRestxml_deserializeOpHttpBindingsGetObjectOutput(v *GetObjectOutput, res
if err != nil {
return err
}
- v.PartsCount = int32(vv)
+ v.PartsCount = ptr.Int32(int32(vv))
}
if headerValues := response.Header.Values("x-amz-replication-status"); len(headerValues) != 0 {
@@ -5472,7 +5614,7 @@ func awsRestxml_deserializeOpHttpBindingsGetObjectOutput(v *GetObjectOutput, res
if err != nil {
return err
}
- v.TagCount = int32(vv)
+ v.TagCount = ptr.Int32(int32(vv))
}
if headerValues := response.Header.Values("x-amz-version-id"); len(headerValues) != 0 {
@@ -5776,7 +5918,7 @@ func awsRestxml_deserializeOpHttpBindingsGetObjectAttributesOutput(v *GetObjectA
if err != nil {
return err
}
- v.DeleteMarker = vv
+ v.DeleteMarker = ptr.Bool(vv)
}
if headerValues := response.Header.Values("Last-Modified"); len(headerValues) != 0 {
@@ -5861,7 +6003,7 @@ func awsRestxml_deserializeOpDocumentGetObjectAttributesOutput(v **GetObjectAttr
if err != nil {
return err
}
- sv.ObjectSize = i64
+ sv.ObjectSize = ptr.Int64(i64)
}
case strings.EqualFold("StorageClass", t.Name.Local):
@@ -6728,10 +6870,9 @@ func (m *awsRestxml_deserializeOpHeadBucket) HandleDeserialize(ctx context.Conte
output := &HeadBucketOutput{}
out.Result = output
- if _, err = io.Copy(ioutil.Discard, response.Body); err != nil {
- return out, metadata, &smithy.DeserializationError{
- Err: fmt.Errorf("failed to discard response body, %w", err),
- }
+ err = awsRestxml_deserializeOpHttpBindingsHeadBucketOutput(output, response)
+ if err != nil {
+ return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("failed to decode response with invalid Http bindings, %w", err)}
}
return out, metadata, err
@@ -6780,6 +6921,38 @@ func awsRestxml_deserializeOpErrorHeadBucket(response *smithyhttp.Response, meta
}
}
+func awsRestxml_deserializeOpHttpBindingsHeadBucketOutput(v *HeadBucketOutput, response *smithyhttp.Response) error {
+ if v == nil {
+ return fmt.Errorf("unsupported deserialization for nil %T", v)
+ }
+
+ if headerValues := response.Header.Values("x-amz-access-point-alias"); len(headerValues) != 0 {
+ headerValues[0] = strings.TrimSpace(headerValues[0])
+ vv, err := strconv.ParseBool(headerValues[0])
+ if err != nil {
+ return err
+ }
+ v.AccessPointAlias = ptr.Bool(vv)
+ }
+
+ if headerValues := response.Header.Values("x-amz-bucket-location-name"); len(headerValues) != 0 {
+ headerValues[0] = strings.TrimSpace(headerValues[0])
+ v.BucketLocationName = ptr.String(headerValues[0])
+ }
+
+ if headerValues := response.Header.Values("x-amz-bucket-location-type"); len(headerValues) != 0 {
+ headerValues[0] = strings.TrimSpace(headerValues[0])
+ v.BucketLocationType = types.LocationType(headerValues[0])
+ }
+
+ if headerValues := response.Header.Values("x-amz-bucket-region"); len(headerValues) != 0 {
+ headerValues[0] = strings.TrimSpace(headerValues[0])
+ v.BucketRegion = ptr.String(headerValues[0])
+ }
+
+ return nil
+}
+
type awsRestxml_deserializeOpHeadObject struct {
}
@@ -6878,7 +7051,7 @@ func awsRestxml_deserializeOpHttpBindingsHeadObjectOutput(v *HeadObjectOutput, r
if err != nil {
return err
}
- v.BucketKeyEnabled = vv
+ v.BucketKeyEnabled = ptr.Bool(vv)
}
if headerValues := response.Header.Values("Cache-Control"); len(headerValues) != 0 {
@@ -6927,7 +7100,7 @@ func awsRestxml_deserializeOpHttpBindingsHeadObjectOutput(v *HeadObjectOutput, r
if err != nil {
return err
}
- v.ContentLength = vv
+ v.ContentLength = ptr.Int64(vv)
}
if headerValues := response.Header.Values("Content-Type"); len(headerValues) != 0 {
@@ -6941,7 +7114,7 @@ func awsRestxml_deserializeOpHttpBindingsHeadObjectOutput(v *HeadObjectOutput, r
if err != nil {
return err
}
- v.DeleteMarker = vv
+ v.DeleteMarker = ptr.Bool(vv)
}
if headerValues := response.Header.Values("ETag"); len(headerValues) != 0 {
@@ -6988,7 +7161,7 @@ func awsRestxml_deserializeOpHttpBindingsHeadObjectOutput(v *HeadObjectOutput, r
if err != nil {
return err
}
- v.MissingMeta = int32(vv)
+ v.MissingMeta = ptr.Int32(int32(vv))
}
if headerValues := response.Header.Values("x-amz-object-lock-legal-hold"); len(headerValues) != 0 {
@@ -7016,7 +7189,7 @@ func awsRestxml_deserializeOpHttpBindingsHeadObjectOutput(v *HeadObjectOutput, r
if err != nil {
return err
}
- v.PartsCount = int32(vv)
+ v.PartsCount = ptr.Int32(int32(vv))
}
if headerValues := response.Header.Values("x-amz-replication-status"); len(headerValues) != 0 {
@@ -7223,7 +7396,7 @@ func awsRestxml_deserializeOpDocumentListBucketAnalyticsConfigurationsOutput(v *
if err != nil {
return fmt.Errorf("expected IsTruncated to be of type *bool, got %T instead", val)
}
- sv.IsTruncated = xtv
+ sv.IsTruncated = ptr.Bool(xtv)
}
case strings.EqualFold("NextContinuationToken", t.Name.Local):
@@ -7404,7 +7577,7 @@ func awsRestxml_deserializeOpDocumentListBucketIntelligentTieringConfigurationsO
if err != nil {
return fmt.Errorf("expected IsTruncated to be of type *bool, got %T instead", val)
}
- sv.IsTruncated = xtv
+ sv.IsTruncated = ptr.Bool(xtv)
}
case strings.EqualFold("NextContinuationToken", t.Name.Local):
@@ -7585,7 +7758,7 @@ func awsRestxml_deserializeOpDocumentListBucketInventoryConfigurationsOutput(v *
if err != nil {
return fmt.Errorf("expected IsTruncated to be of type *bool, got %T instead", val)
}
- sv.IsTruncated = xtv
+ sv.IsTruncated = ptr.Bool(xtv)
}
case strings.EqualFold("NextContinuationToken", t.Name.Local):
@@ -7760,7 +7933,7 @@ func awsRestxml_deserializeOpDocumentListBucketMetricsConfigurationsOutput(v **L
if err != nil {
return fmt.Errorf("expected IsTruncated to be of type *bool, got %T instead", val)
}
- sv.IsTruncated = xtv
+ sv.IsTruncated = ptr.Bool(xtv)
}
case strings.EqualFold("MetricsConfiguration", t.Name.Local):
@@ -7941,6 +8114,158 @@ func awsRestxml_deserializeOpDocumentListBucketsOutput(v **ListBucketsOutput, de
return nil
}
+type awsRestxml_deserializeOpListDirectoryBuckets struct {
+}
+
+func (*awsRestxml_deserializeOpListDirectoryBuckets) ID() string {
+ return "OperationDeserializer"
+}
+
+func (m *awsRestxml_deserializeOpListDirectoryBuckets) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
+ out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
+) {
+ out, metadata, err = next.HandleDeserialize(ctx, in)
+ if err != nil {
+ return out, metadata, err
+ }
+
+ response, ok := out.RawResponse.(*smithyhttp.Response)
+ if !ok {
+ return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
+ }
+
+ if response.StatusCode < 200 || response.StatusCode >= 300 {
+ return out, metadata, awsRestxml_deserializeOpErrorListDirectoryBuckets(response, &metadata)
+ }
+ output := &ListDirectoryBucketsOutput{}
+ out.Result = output
+
+ var buff [1024]byte
+ ringBuffer := smithyio.NewRingBuffer(buff[:])
+ body := io.TeeReader(response.Body, ringBuffer)
+ rootDecoder := xml.NewDecoder(body)
+ t, err := smithyxml.FetchRootElement(rootDecoder)
+ if err == io.EOF {
+ return out, metadata, nil
+ }
+ if err != nil {
+ var snapshot bytes.Buffer
+ io.Copy(&snapshot, ringBuffer)
+ return out, metadata, &smithy.DeserializationError{
+ Err: fmt.Errorf("failed to decode response body, %w", err),
+ Snapshot: snapshot.Bytes(),
+ }
+ }
+
+ decoder := smithyxml.WrapNodeDecoder(rootDecoder, t)
+ err = awsRestxml_deserializeOpDocumentListDirectoryBucketsOutput(&output, decoder)
+ if err != nil {
+ var snapshot bytes.Buffer
+ io.Copy(&snapshot, ringBuffer)
+ return out, metadata, &smithy.DeserializationError{
+ Err: fmt.Errorf("failed to decode response body, %w", err),
+ Snapshot: snapshot.Bytes(),
+ }
+ }
+
+ return out, metadata, err
+}
+
+func awsRestxml_deserializeOpErrorListDirectoryBuckets(response *smithyhttp.Response, metadata *middleware.Metadata) error {
+ var errorBuffer bytes.Buffer
+ if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
+ return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
+ }
+ errorBody := bytes.NewReader(errorBuffer.Bytes())
+
+ errorCode := "UnknownError"
+ errorMessage := errorCode
+
+ errorComponents, err := s3shared.GetErrorResponseComponents(errorBody, s3shared.ErrorResponseDeserializerOptions{
+ UseStatusCode: true, StatusCode: response.StatusCode,
+ })
+ if err != nil {
+ return err
+ }
+ if hostID := errorComponents.HostID; len(hostID) != 0 {
+ s3shared.SetHostIDMetadata(metadata, hostID)
+ }
+ if reqID := errorComponents.RequestID; len(reqID) != 0 {
+ awsmiddleware.SetRequestIDMetadata(metadata, reqID)
+ }
+ if len(errorComponents.Code) != 0 {
+ errorCode = errorComponents.Code
+ }
+ if len(errorComponents.Message) != 0 {
+ errorMessage = errorComponents.Message
+ }
+ errorBody.Seek(0, io.SeekStart)
+ switch {
+ default:
+ genericError := &smithy.GenericAPIError{
+ Code: errorCode,
+ Message: errorMessage,
+ }
+ return genericError
+
+ }
+}
+
+func awsRestxml_deserializeOpDocumentListDirectoryBucketsOutput(v **ListDirectoryBucketsOutput, decoder smithyxml.NodeDecoder) error {
+ if v == nil {
+ return fmt.Errorf("unexpected nil of type %T", v)
+ }
+ var sv *ListDirectoryBucketsOutput
+ if *v == nil {
+ sv = &ListDirectoryBucketsOutput{}
+ } else {
+ sv = *v
+ }
+
+ for {
+ t, done, err := decoder.Token()
+ if err != nil {
+ return err
+ }
+ if done {
+ break
+ }
+ originalDecoder := decoder
+ decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t)
+ switch {
+ case strings.EqualFold("Buckets", t.Name.Local):
+ nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
+ if err := awsRestxml_deserializeDocumentBuckets(&sv.Buckets, nodeDecoder); err != nil {
+ return err
+ }
+
+ case strings.EqualFold("ContinuationToken", t.Name.Local):
+ val, err := decoder.Value()
+ if err != nil {
+ return err
+ }
+ if val == nil {
+ break
+ }
+ {
+ xtv := string(val)
+ sv.ContinuationToken = ptr.String(xtv)
+ }
+
+ default:
+ // Do nothing and ignore the unexpected tag element
+ err = decoder.Decoder.Skip()
+ if err != nil {
+ return err
+ }
+
+ }
+ decoder = originalDecoder
+ }
+ *v = sv
+ return nil
+}
+
type awsRestxml_deserializeOpListMultipartUploads struct {
}
@@ -8135,7 +8460,7 @@ func awsRestxml_deserializeOpDocumentListMultipartUploadsOutput(v **ListMultipar
if err != nil {
return fmt.Errorf("expected IsTruncated to be of type *bool, got %T instead", val)
}
- sv.IsTruncated = xtv
+ sv.IsTruncated = ptr.Bool(xtv)
}
case strings.EqualFold("KeyMarker", t.Name.Local):
@@ -8165,7 +8490,7 @@ func awsRestxml_deserializeOpDocumentListMultipartUploadsOutput(v **ListMultipar
if err != nil {
return err
}
- sv.MaxUploads = int32(i64)
+ sv.MaxUploads = ptr.Int32(int32(i64))
}
case strings.EqualFold("NextKeyMarker", t.Name.Local):
@@ -8430,7 +8755,7 @@ func awsRestxml_deserializeOpDocumentListObjectsOutput(v **ListObjectsOutput, de
if err != nil {
return fmt.Errorf("expected IsTruncated to be of type *bool, got %T instead", val)
}
- sv.IsTruncated = xtv
+ sv.IsTruncated = ptr.Bool(xtv)
}
case strings.EqualFold("Marker", t.Name.Local):
@@ -8460,7 +8785,7 @@ func awsRestxml_deserializeOpDocumentListObjectsOutput(v **ListObjectsOutput, de
if err != nil {
return err
}
- sv.MaxKeys = int32(i64)
+ sv.MaxKeys = ptr.Int32(int32(i64))
}
case strings.EqualFold("Name", t.Name.Local):
@@ -8719,7 +9044,7 @@ func awsRestxml_deserializeOpDocumentListObjectsV2Output(v **ListObjectsV2Output
if err != nil {
return fmt.Errorf("expected IsTruncated to be of type *bool, got %T instead", val)
}
- sv.IsTruncated = xtv
+ sv.IsTruncated = ptr.Bool(xtv)
}
case strings.EqualFold("KeyCount", t.Name.Local):
@@ -8736,7 +9061,7 @@ func awsRestxml_deserializeOpDocumentListObjectsV2Output(v **ListObjectsV2Output
if err != nil {
return err
}
- sv.KeyCount = int32(i64)
+ sv.KeyCount = ptr.Int32(int32(i64))
}
case strings.EqualFold("MaxKeys", t.Name.Local):
@@ -8753,7 +9078,7 @@ func awsRestxml_deserializeOpDocumentListObjectsV2Output(v **ListObjectsV2Output
if err != nil {
return err
}
- sv.MaxKeys = int32(i64)
+ sv.MaxKeys = ptr.Int32(int32(i64))
}
case strings.EqualFold("Name", t.Name.Local):
@@ -9009,7 +9334,7 @@ func awsRestxml_deserializeOpDocumentListObjectVersionsOutput(v **ListObjectVers
if err != nil {
return fmt.Errorf("expected IsTruncated to be of type *bool, got %T instead", val)
}
- sv.IsTruncated = xtv
+ sv.IsTruncated = ptr.Bool(xtv)
}
case strings.EqualFold("KeyMarker", t.Name.Local):
@@ -9039,7 +9364,7 @@ func awsRestxml_deserializeOpDocumentListObjectVersionsOutput(v **ListObjectVers
if err != nil {
return err
}
- sv.MaxKeys = int32(i64)
+ sv.MaxKeys = ptr.Int32(int32(i64))
}
case strings.EqualFold("Name", t.Name.Local):
@@ -9322,7 +9647,7 @@ func awsRestxml_deserializeOpDocumentListPartsOutput(v **ListPartsOutput, decode
if err != nil {
return fmt.Errorf("expected IsTruncated to be of type *bool, got %T instead", val)
}
- sv.IsTruncated = xtv
+ sv.IsTruncated = ptr.Bool(xtv)
}
case strings.EqualFold("Key", t.Name.Local):
@@ -9352,7 +9677,7 @@ func awsRestxml_deserializeOpDocumentListPartsOutput(v **ListPartsOutput, decode
if err != nil {
return err
}
- sv.MaxParts = int32(i64)
+ sv.MaxParts = ptr.Int32(int32(i64))
}
case strings.EqualFold("NextPartNumberMarker", t.Name.Local):
@@ -10868,7 +11193,7 @@ func awsRestxml_deserializeOpHttpBindingsPutObjectOutput(v *PutObjectOutput, res
if err != nil {
return err
}
- v.BucketKeyEnabled = vv
+ v.BucketKeyEnabled = ptr.Bool(vv)
}
if headerValues := response.Header.Values("x-amz-checksum-crc32"); len(headerValues) != 0 {
@@ -11701,7 +12026,7 @@ func awsRestxml_deserializeOpHttpBindingsUploadPartOutput(v *UploadPartOutput, r
if err != nil {
return err
}
- v.BucketKeyEnabled = vv
+ v.BucketKeyEnabled = ptr.Bool(vv)
}
if headerValues := response.Header.Values("x-amz-checksum-crc32"); len(headerValues) != 0 {
@@ -11870,7 +12195,7 @@ func awsRestxml_deserializeOpHttpBindingsUploadPartCopyOutput(v *UploadPartCopyO
if err != nil {
return err
}
- v.BucketKeyEnabled = vv
+ v.BucketKeyEnabled = ptr.Bool(vv)
}
if headerValues := response.Header.Values("x-amz-copy-source-version-id"); len(headerValues) != 0 {
@@ -12392,7 +12717,7 @@ func awsRestxml_deserializeDocumentProgress(v **types.Progress, decoder smithyxm
if err != nil {
return err
}
- sv.BytesProcessed = i64
+ sv.BytesProcessed = ptr.Int64(i64)
}
case strings.EqualFold("BytesReturned", t.Name.Local):
@@ -12409,7 +12734,7 @@ func awsRestxml_deserializeDocumentProgress(v **types.Progress, decoder smithyxm
if err != nil {
return err
}
- sv.BytesReturned = i64
+ sv.BytesReturned = ptr.Int64(i64)
}
case strings.EqualFold("BytesScanned", t.Name.Local):
@@ -12426,7 +12751,7 @@ func awsRestxml_deserializeDocumentProgress(v **types.Progress, decoder smithyxm
if err != nil {
return err
}
- sv.BytesScanned = i64
+ sv.BytesScanned = ptr.Int64(i64)
}
default:
@@ -12479,7 +12804,7 @@ func awsRestxml_deserializeDocumentStats(v **types.Stats, decoder smithyxml.Node
if err != nil {
return err
}
- sv.BytesProcessed = i64
+ sv.BytesProcessed = ptr.Int64(i64)
}
case strings.EqualFold("BytesReturned", t.Name.Local):
@@ -12496,7 +12821,7 @@ func awsRestxml_deserializeDocumentStats(v **types.Stats, decoder smithyxml.Node
if err != nil {
return err
}
- sv.BytesReturned = i64
+ sv.BytesReturned = ptr.Int64(i64)
}
case strings.EqualFold("BytesScanned", t.Name.Local):
@@ -12513,7 +12838,7 @@ func awsRestxml_deserializeDocumentStats(v **types.Stats, decoder smithyxml.Node
if err != nil {
return err
}
- sv.BytesScanned = i64
+ sv.BytesScanned = ptr.Int64(i64)
}
default:
@@ -12639,7 +12964,7 @@ func awsRestxml_deserializeDocumentAbortIncompleteMultipartUpload(v **types.Abor
if err != nil {
return err
}
- sv.DaysAfterInitiation = int32(i64)
+ sv.DaysAfterInitiation = ptr.Int32(int32(i64))
}
default:
@@ -14192,7 +14517,7 @@ func awsRestxml_deserializeDocumentCORSRule(v **types.CORSRule, decoder smithyxm
if err != nil {
return err
}
- sv.MaxAgeSeconds = int32(i64)
+ sv.MaxAgeSeconds = ptr.Int32(int32(i64))
}
default:
@@ -14313,7 +14638,7 @@ func awsRestxml_deserializeDocumentDefaultRetention(v **types.DefaultRetention,
if err != nil {
return err
}
- sv.Days = int32(i64)
+ sv.Days = ptr.Int32(int32(i64))
}
case strings.EqualFold("Mode", t.Name.Local):
@@ -14343,7 +14668,7 @@ func awsRestxml_deserializeDocumentDefaultRetention(v **types.DefaultRetention,
if err != nil {
return err
}
- sv.Years = int32(i64)
+ sv.Years = ptr.Int32(int32(i64))
}
default:
@@ -14395,7 +14720,7 @@ func awsRestxml_deserializeDocumentDeletedObject(v **types.DeletedObject, decode
if err != nil {
return fmt.Errorf("expected DeleteMarker to be of type *bool, got %T instead", val)
}
- sv.DeleteMarker = xtv
+ sv.DeleteMarker = ptr.Bool(xtv)
}
case strings.EqualFold("DeleteMarkerVersionId", t.Name.Local):
@@ -14554,7 +14879,7 @@ func awsRestxml_deserializeDocumentDeleteMarkerEntry(v **types.DeleteMarkerEntry
if err != nil {
return fmt.Errorf("expected IsLatest to be of type *bool, got %T instead", val)
}
- sv.IsLatest = xtv
+ sv.IsLatest = ptr.Bool(xtv)
}
case strings.EqualFold("Key", t.Name.Local):
@@ -15500,7 +15825,7 @@ func awsRestxml_deserializeDocumentGetObjectAttributesParts(v **types.GetObjectA
if err != nil {
return fmt.Errorf("expected IsTruncated to be of type *bool, got %T instead", val)
}
- sv.IsTruncated = xtv
+ sv.IsTruncated = ptr.Bool(xtv)
}
case strings.EqualFold("MaxParts", t.Name.Local):
@@ -15517,7 +15842,7 @@ func awsRestxml_deserializeDocumentGetObjectAttributesParts(v **types.GetObjectA
if err != nil {
return err
}
- sv.MaxParts = int32(i64)
+ sv.MaxParts = ptr.Int32(int32(i64))
}
case strings.EqualFold("NextPartNumberMarker", t.Name.Local):
@@ -15566,7 +15891,7 @@ func awsRestxml_deserializeDocumentGetObjectAttributesParts(v **types.GetObjectA
if err != nil {
return err
}
- sv.TotalPartsCount = int32(i64)
+ sv.TotalPartsCount = ptr.Int32(int32(i64))
}
default:
@@ -16313,7 +16638,7 @@ func awsRestxml_deserializeDocumentInventoryConfiguration(v **types.InventoryCon
if err != nil {
return fmt.Errorf("expected IsEnabled to be of type *bool, got %T instead", val)
}
- sv.IsEnabled = xtv
+ sv.IsEnabled = ptr.Bool(xtv)
}
case strings.EqualFold("OptionalFields", t.Name.Local):
@@ -16967,7 +17292,7 @@ func awsRestxml_deserializeDocumentLifecycleExpiration(v **types.LifecycleExpira
if err != nil {
return err
}
- sv.Days = int32(i64)
+ sv.Days = ptr.Int32(int32(i64))
}
case strings.EqualFold("ExpiredObjectDeleteMarker", t.Name.Local):
@@ -16983,7 +17308,7 @@ func awsRestxml_deserializeDocumentLifecycleExpiration(v **types.LifecycleExpira
if err != nil {
return fmt.Errorf("expected ExpiredObjectDeleteMarker to be of type *bool, got %T instead", val)
}
- sv.ExpiredObjectDeleteMarker = xtv
+ sv.ExpiredObjectDeleteMarker = ptr.Bool(xtv)
}
default:
@@ -17147,7 +17472,7 @@ func awsRestxml_deserializeDocumentLifecycleRuleAndOperator(v **types.LifecycleR
if err != nil {
return err
}
- sv.ObjectSizeGreaterThan = i64
+ sv.ObjectSizeGreaterThan = ptr.Int64(i64)
}
case strings.EqualFold("ObjectSizeLessThan", t.Name.Local):
@@ -17164,7 +17489,7 @@ func awsRestxml_deserializeDocumentLifecycleRuleAndOperator(v **types.LifecycleR
if err != nil {
return err
}
- sv.ObjectSizeLessThan = i64
+ sv.ObjectSizeLessThan = ptr.Int64(i64)
}
case strings.EqualFold("Prefix", t.Name.Local):
@@ -17420,6 +17745,12 @@ func awsRestxml_deserializeDocumentLoggingEnabled(v **types.LoggingEnabled, deco
return err
}
+ case strings.EqualFold("TargetObjectKeyFormat", t.Name.Local):
+ nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
+ if err := awsRestxml_deserializeDocumentTargetObjectKeyFormat(&sv.TargetObjectKeyFormat, nodeDecoder); err != nil {
+ return err
+ }
+
case strings.EqualFold("TargetPrefix", t.Name.Local):
val, err := decoder.Value()
if err != nil {
@@ -18001,7 +18332,7 @@ func awsRestxml_deserializeDocumentNoncurrentVersionExpiration(v **types.Noncurr
if err != nil {
return err
}
- sv.NewerNoncurrentVersions = int32(i64)
+ sv.NewerNoncurrentVersions = ptr.Int32(int32(i64))
}
case strings.EqualFold("NoncurrentDays", t.Name.Local):
@@ -18018,7 +18349,7 @@ func awsRestxml_deserializeDocumentNoncurrentVersionExpiration(v **types.Noncurr
if err != nil {
return err
}
- sv.NoncurrentDays = int32(i64)
+ sv.NoncurrentDays = ptr.Int32(int32(i64))
}
default:
@@ -18071,7 +18402,7 @@ func awsRestxml_deserializeDocumentNoncurrentVersionTransition(v **types.Noncurr
if err != nil {
return err
}
- sv.NewerNoncurrentVersions = int32(i64)
+ sv.NewerNoncurrentVersions = ptr.Int32(int32(i64))
}
case strings.EqualFold("NoncurrentDays", t.Name.Local):
@@ -18088,7 +18419,7 @@ func awsRestxml_deserializeDocumentNoncurrentVersionTransition(v **types.Noncurr
if err != nil {
return err
}
- sv.NoncurrentDays = int32(i64)
+ sv.NoncurrentDays = ptr.Int32(int32(i64))
}
case strings.EqualFold("StorageClass", t.Name.Local):
@@ -18469,7 +18800,7 @@ func awsRestxml_deserializeDocumentObject(v **types.Object, decoder smithyxml.No
if err != nil {
return err
}
- sv.Size = i64
+ sv.Size = ptr.Int64(i64)
}
case strings.EqualFold("StorageClass", t.Name.Local):
@@ -18939,7 +19270,7 @@ func awsRestxml_deserializeDocumentObjectPart(v **types.ObjectPart, decoder smit
if err != nil {
return err
}
- sv.PartNumber = int32(i64)
+ sv.PartNumber = ptr.Int32(int32(i64))
}
case strings.EqualFold("Size", t.Name.Local):
@@ -18956,7 +19287,7 @@ func awsRestxml_deserializeDocumentObjectPart(v **types.ObjectPart, decoder smit
if err != nil {
return err
}
- sv.Size = i64
+ sv.Size = ptr.Int64(i64)
}
default:
@@ -19027,7 +19358,7 @@ func awsRestxml_deserializeDocumentObjectVersion(v **types.ObjectVersion, decode
if err != nil {
return fmt.Errorf("expected IsLatest to be of type *bool, got %T instead", val)
}
- sv.IsLatest = xtv
+ sv.IsLatest = ptr.Bool(xtv)
}
case strings.EqualFold("Key", t.Name.Local):
@@ -19086,7 +19417,7 @@ func awsRestxml_deserializeDocumentObjectVersion(v **types.ObjectVersion, decode
if err != nil {
return err
}
- sv.Size = i64
+ sv.Size = ptr.Int64(i64)
}
case strings.EqualFold("StorageClass", t.Name.Local):
@@ -19536,7 +19867,7 @@ func awsRestxml_deserializeDocumentPart(v **types.Part, decoder smithyxml.NodeDe
if err != nil {
return err
}
- sv.PartNumber = int32(i64)
+ sv.PartNumber = ptr.Int32(int32(i64))
}
case strings.EqualFold("Size", t.Name.Local):
@@ -19553,7 +19884,56 @@ func awsRestxml_deserializeDocumentPart(v **types.Part, decoder smithyxml.NodeDe
if err != nil {
return err
}
- sv.Size = i64
+ sv.Size = ptr.Int64(i64)
+ }
+
+ default:
+ // Do nothing and ignore the unexpected tag element
+ err = decoder.Decoder.Skip()
+ if err != nil {
+ return err
+ }
+
+ }
+ decoder = originalDecoder
+ }
+ *v = sv
+ return nil
+}
+
+func awsRestxml_deserializeDocumentPartitionedPrefix(v **types.PartitionedPrefix, decoder smithyxml.NodeDecoder) error {
+ if v == nil {
+ return fmt.Errorf("unexpected nil of type %T", v)
+ }
+ var sv *types.PartitionedPrefix
+ if *v == nil {
+ sv = &types.PartitionedPrefix{}
+ } else {
+ sv = *v
+ }
+
+ for {
+ t, done, err := decoder.Token()
+ if err != nil {
+ return err
+ }
+ if done {
+ break
+ }
+ originalDecoder := decoder
+ decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t)
+ switch {
+ case strings.EqualFold("PartitionDateSource", t.Name.Local):
+ val, err := decoder.Value()
+ if err != nil {
+ return err
+ }
+ if val == nil {
+ break
+ }
+ {
+ xtv := string(val)
+ sv.PartitionDateSource = types.PartitionDateSource(xtv)
}
default:
@@ -19741,7 +20121,7 @@ func awsRestxml_deserializeDocumentPolicyStatus(v **types.PolicyStatus, decoder
if err != nil {
return fmt.Errorf("expected IsPublic to be of type *bool, got %T instead", val)
}
- sv.IsPublic = xtv
+ sv.IsPublic = ptr.Bool(xtv)
}
default:
@@ -19793,7 +20173,7 @@ func awsRestxml_deserializeDocumentPublicAccessBlockConfiguration(v **types.Publ
if err != nil {
return fmt.Errorf("expected Setting to be of type *bool, got %T instead", val)
}
- sv.BlockPublicAcls = xtv
+ sv.BlockPublicAcls = ptr.Bool(xtv)
}
case strings.EqualFold("BlockPublicPolicy", t.Name.Local):
@@ -19809,7 +20189,7 @@ func awsRestxml_deserializeDocumentPublicAccessBlockConfiguration(v **types.Publ
if err != nil {
return fmt.Errorf("expected Setting to be of type *bool, got %T instead", val)
}
- sv.BlockPublicPolicy = xtv
+ sv.BlockPublicPolicy = ptr.Bool(xtv)
}
case strings.EqualFold("IgnorePublicAcls", t.Name.Local):
@@ -19825,7 +20205,7 @@ func awsRestxml_deserializeDocumentPublicAccessBlockConfiguration(v **types.Publ
if err != nil {
return fmt.Errorf("expected Setting to be of type *bool, got %T instead", val)
}
- sv.IgnorePublicAcls = xtv
+ sv.IgnorePublicAcls = ptr.Bool(xtv)
}
case strings.EqualFold("RestrictPublicBuckets", t.Name.Local):
@@ -19841,7 +20221,7 @@ func awsRestxml_deserializeDocumentPublicAccessBlockConfiguration(v **types.Publ
if err != nil {
return fmt.Errorf("expected Setting to be of type *bool, got %T instead", val)
}
- sv.RestrictPublicBuckets = xtv
+ sv.RestrictPublicBuckets = ptr.Bool(xtv)
}
default:
@@ -20353,7 +20733,7 @@ func awsRestxml_deserializeDocumentReplicationRule(v **types.ReplicationRule, de
if err != nil {
return err
}
- sv.Priority = int32(i64)
+ sv.Priority = ptr.Int32(int32(i64))
}
case strings.EqualFold("SourceSelectionCriteria", t.Name.Local):
@@ -20674,7 +21054,7 @@ func awsRestxml_deserializeDocumentReplicationTimeValue(v **types.ReplicationTim
if err != nil {
return err
}
- sv.Minutes = int32(i64)
+ sv.Minutes = ptr.Int32(int32(i64))
}
default:
@@ -20726,7 +21106,7 @@ func awsRestxml_deserializeDocumentRestoreStatus(v **types.RestoreStatus, decode
if err != nil {
return fmt.Errorf("expected IsRestoreInProgress to be of type *bool, got %T instead", val)
}
- sv.IsRestoreInProgress = xtv
+ sv.IsRestoreInProgress = ptr.Bool(xtv)
}
case strings.EqualFold("RestoreExpiryDate", t.Name.Local):
@@ -21063,7 +21443,7 @@ func awsRestxml_deserializeDocumentServerSideEncryptionRule(v **types.ServerSide
if err != nil {
return fmt.Errorf("expected BucketKeyEnabled to be of type *bool, got %T instead", val)
}
- sv.BucketKeyEnabled = xtv
+ sv.BucketKeyEnabled = ptr.Bool(xtv)
}
default:
@@ -21148,6 +21528,134 @@ func awsRestxml_deserializeDocumentServerSideEncryptionRulesUnwrapped(v *[]types
*v = sv
return nil
}
+func awsRestxml_deserializeDocumentSessionCredentials(v **types.SessionCredentials, decoder smithyxml.NodeDecoder) error {
+ if v == nil {
+ return fmt.Errorf("unexpected nil of type %T", v)
+ }
+ var sv *types.SessionCredentials
+ if *v == nil {
+ sv = &types.SessionCredentials{}
+ } else {
+ sv = *v
+ }
+
+ for {
+ t, done, err := decoder.Token()
+ if err != nil {
+ return err
+ }
+ if done {
+ break
+ }
+ originalDecoder := decoder
+ decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t)
+ switch {
+ case strings.EqualFold("AccessKeyId", t.Name.Local):
+ val, err := decoder.Value()
+ if err != nil {
+ return err
+ }
+ if val == nil {
+ break
+ }
+ {
+ xtv := string(val)
+ sv.AccessKeyId = ptr.String(xtv)
+ }
+
+ case strings.EqualFold("Expiration", t.Name.Local):
+ val, err := decoder.Value()
+ if err != nil {
+ return err
+ }
+ if val == nil {
+ break
+ }
+ {
+ xtv := string(val)
+ t, err := smithytime.ParseDateTime(xtv)
+ if err != nil {
+ return err
+ }
+ sv.Expiration = ptr.Time(t)
+ }
+
+ case strings.EqualFold("SecretAccessKey", t.Name.Local):
+ val, err := decoder.Value()
+ if err != nil {
+ return err
+ }
+ if val == nil {
+ break
+ }
+ {
+ xtv := string(val)
+ sv.SecretAccessKey = ptr.String(xtv)
+ }
+
+ case strings.EqualFold("SessionToken", t.Name.Local):
+ val, err := decoder.Value()
+ if err != nil {
+ return err
+ }
+ if val == nil {
+ break
+ }
+ {
+ xtv := string(val)
+ sv.SessionToken = ptr.String(xtv)
+ }
+
+ default:
+ // Do nothing and ignore the unexpected tag element
+ err = decoder.Decoder.Skip()
+ if err != nil {
+ return err
+ }
+
+ }
+ decoder = originalDecoder
+ }
+ *v = sv
+ return nil
+}
+
+func awsRestxml_deserializeDocumentSimplePrefix(v **types.SimplePrefix, decoder smithyxml.NodeDecoder) error {
+ if v == nil {
+ return fmt.Errorf("unexpected nil of type %T", v)
+ }
+ var sv *types.SimplePrefix
+ if *v == nil {
+ sv = &types.SimplePrefix{}
+ } else {
+ sv = *v
+ }
+
+ for {
+ t, done, err := decoder.Token()
+ if err != nil {
+ return err
+ }
+ if done {
+ break
+ }
+ originalDecoder := decoder
+ decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t)
+ switch {
+ default:
+ // Do nothing and ignore the unexpected tag element
+ err = decoder.Decoder.Skip()
+ if err != nil {
+ return err
+ }
+
+ }
+ decoder = originalDecoder
+ }
+ *v = sv
+ return nil
+}
+
func awsRestxml_deserializeDocumentSourceSelectionCriteria(v **types.SourceSelectionCriteria, decoder smithyxml.NodeDecoder) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
@@ -21680,6 +22188,54 @@ func awsRestxml_deserializeDocumentTargetGrantsUnwrapped(v *[]types.TargetGrant,
*v = sv
return nil
}
+func awsRestxml_deserializeDocumentTargetObjectKeyFormat(v **types.TargetObjectKeyFormat, decoder smithyxml.NodeDecoder) error {
+ if v == nil {
+ return fmt.Errorf("unexpected nil of type %T", v)
+ }
+ var sv *types.TargetObjectKeyFormat
+ if *v == nil {
+ sv = &types.TargetObjectKeyFormat{}
+ } else {
+ sv = *v
+ }
+
+ for {
+ t, done, err := decoder.Token()
+ if err != nil {
+ return err
+ }
+ if done {
+ break
+ }
+ originalDecoder := decoder
+ decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t)
+ switch {
+ case strings.EqualFold("PartitionedPrefix", t.Name.Local):
+ nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
+ if err := awsRestxml_deserializeDocumentPartitionedPrefix(&sv.PartitionedPrefix, nodeDecoder); err != nil {
+ return err
+ }
+
+ case strings.EqualFold("SimplePrefix", t.Name.Local):
+ nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t)
+ if err := awsRestxml_deserializeDocumentSimplePrefix(&sv.SimplePrefix, nodeDecoder); err != nil {
+ return err
+ }
+
+ default:
+ // Do nothing and ignore the unexpected tag element
+ err = decoder.Decoder.Skip()
+ if err != nil {
+ return err
+ }
+
+ }
+ decoder = originalDecoder
+ }
+ *v = sv
+ return nil
+}
+
func awsRestxml_deserializeDocumentTiering(v **types.Tiering, decoder smithyxml.NodeDecoder) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
@@ -21729,7 +22285,7 @@ func awsRestxml_deserializeDocumentTiering(v **types.Tiering, decoder smithyxml.
if err != nil {
return err
}
- sv.Days = int32(i64)
+ sv.Days = ptr.Int32(int32(i64))
}
default:
@@ -22009,7 +22565,7 @@ func awsRestxml_deserializeDocumentTransition(v **types.Transition, decoder smit
if err != nil {
return err
}
- sv.Days = int32(i64)
+ sv.Days = ptr.Int32(int32(i64))
}
case strings.EqualFold("StorageClass", t.Name.Local):
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/endpoint_auth_resolver.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/endpoint_auth_resolver.go
new file mode 100644
index 00000000..91af48fc
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/endpoint_auth_resolver.go
@@ -0,0 +1,115 @@
+package s3
+
+import (
+ "context"
+ "fmt"
+
+ smithyauth "github.com/aws/smithy-go/auth"
+)
+
+type endpointAuthResolver struct {
+ EndpointResolver EndpointResolverV2
+}
+
+var _ AuthSchemeResolver = (*endpointAuthResolver)(nil)
+
+func (r *endpointAuthResolver) ResolveAuthSchemes(
+ ctx context.Context, params *AuthResolverParameters,
+) (
+ []*smithyauth.Option, error,
+) {
+ opts, err := r.resolveAuthSchemes(ctx, params)
+ if err != nil {
+ return nil, err
+ }
+
+ // canonicalize sigv4-s3express ID
+ for _, opt := range opts {
+ if opt.SchemeID == "sigv4-s3express" {
+ opt.SchemeID = "com.amazonaws.s3#sigv4express"
+ }
+ }
+
+ // preserve pre-SRA behavior where everything technically had anonymous
+ return append(opts, &smithyauth.Option{
+ SchemeID: smithyauth.SchemeIDAnonymous,
+ }), nil
+}
+
+func (r *endpointAuthResolver) resolveAuthSchemes(
+ ctx context.Context, params *AuthResolverParameters,
+) (
+ []*smithyauth.Option, error,
+) {
+ baseOpts, err := (&defaultAuthSchemeResolver{}).ResolveAuthSchemes(ctx, params)
+ if err != nil {
+ return nil, fmt.Errorf("get base options: %w", err)
+ }
+
+ endpt, err := r.EndpointResolver.ResolveEndpoint(ctx, *params.endpointParams)
+ if err != nil {
+ return nil, fmt.Errorf("resolve endpoint: %w", err)
+ }
+
+ endptOpts, ok := smithyauth.GetAuthOptions(&endpt.Properties)
+ if !ok {
+ return baseOpts, nil
+ }
+
+ // the list of options from the endpoint is authoritative, however, the
+ // modeled options have some properties that the endpoint ones don't, so we
+ // start from the latter and merge in
+ for _, endptOpt := range endptOpts {
+ if baseOpt := findScheme(baseOpts, endptOpt.SchemeID); baseOpt != nil {
+ rebaseProps(endptOpt, baseOpt)
+ }
+ }
+
+ return endptOpts, nil
+}
+
+// rebase the properties of dst, taking src as the base and overlaying those
+// from dst
+func rebaseProps(dst, src *smithyauth.Option) {
+ iprops, sprops := src.IdentityProperties, src.SignerProperties
+
+ iprops.SetAll(&dst.IdentityProperties)
+ sprops.SetAll(&dst.SignerProperties)
+
+ dst.IdentityProperties = iprops
+ dst.SignerProperties = sprops
+}
+
+func findScheme(opts []*smithyauth.Option, schemeID string) *smithyauth.Option {
+ for _, opt := range opts {
+ if opt.SchemeID == schemeID {
+ return opt
+ }
+ }
+ return nil
+}
+
+func finalizeServiceEndpointAuthResolver(options *Options) {
+ if _, ok := options.AuthSchemeResolver.(*defaultAuthSchemeResolver); !ok {
+ return
+ }
+
+ options.AuthSchemeResolver = &endpointAuthResolver{
+ EndpointResolver: options.EndpointResolverV2,
+ }
+}
+
+func finalizeOperationEndpointAuthResolver(options *Options) {
+ resolver, ok := options.AuthSchemeResolver.(*endpointAuthResolver)
+ if !ok {
+ return
+ }
+
+ if resolver.EndpointResolver == options.EndpointResolverV2 {
+ return
+ }
+
+ options.AuthSchemeResolver = &endpointAuthResolver{
+ EndpointResolver: options.EndpointResolverV2,
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/endpoints.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/endpoints.go
index 7d57e70d..a1f2e36d 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/endpoints.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/endpoints.go
@@ -9,9 +9,13 @@ import (
"github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
internalConfig "github.com/aws/aws-sdk-go-v2/internal/configsources"
+ internalcontext "github.com/aws/aws-sdk-go-v2/internal/context"
+ "github.com/aws/aws-sdk-go-v2/internal/endpoints"
"github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn"
+ s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
internalendpoints "github.com/aws/aws-sdk-go-v2/service/s3/internal/endpoints"
smithy "github.com/aws/smithy-go"
+ smithyauth "github.com/aws/smithy-go/auth"
smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/endpoints/private/rulesfn"
"github.com/aws/smithy-go/middleware"
@@ -224,96 +228,6 @@ func resolveBaseEndpoint(cfg aws.Config, o *Options) {
}
}
-// Utility function to aid with translating pseudo-regions to classical regions
-// with the appropriate setting indicated by the pseudo-region
-func mapPseudoRegion(pr string) (region string, fips aws.FIPSEndpointState) {
- const fipsInfix = "-fips-"
- const fipsPrefix = "fips-"
- const fipsSuffix = "-fips"
-
- if strings.Contains(pr, fipsInfix) ||
- strings.Contains(pr, fipsPrefix) ||
- strings.Contains(pr, fipsSuffix) {
- region = strings.ReplaceAll(strings.ReplaceAll(strings.ReplaceAll(
- pr, fipsInfix, "-"), fipsPrefix, ""), fipsSuffix, "")
- fips = aws.FIPSEndpointStateEnabled
- } else {
- region = pr
- }
-
- return region, fips
-}
-
-// builtInParameterResolver is the interface responsible for resolving BuiltIn
-// values during the sourcing of EndpointParameters
-type builtInParameterResolver interface {
- ResolveBuiltIns(*EndpointParameters) error
-}
-
-// builtInResolver resolves modeled BuiltIn values using only the members defined
-// below.
-type builtInResolver struct {
- // The AWS region used to dispatch the request.
- Region string
-
- // Sourced BuiltIn value in a historical enabled or disabled state.
- UseFIPS aws.FIPSEndpointState
-
- // Sourced BuiltIn value in a historical enabled or disabled state.
- UseDualStack aws.DualStackEndpointState
-
- // Base endpoint that can potentially be modified during Endpoint resolution.
- Endpoint *string
-
- // When true, force a path-style endpoint to be used where the bucket name is part
- // of the path.
- ForcePathStyle bool
-
- // When true, use S3 Accelerate. NOTE: Not all regions support S3 accelerate.
- Accelerate bool
-
- // Whether the global endpoint should be used, rather then the regional endpoint
- // for us-east-1.
- UseGlobalEndpoint bool
-
- // Whether multi-region access points (MRAP) should be disabled.
- DisableMultiRegionAccessPoints bool
-
- // When an Access Point ARN is provided and this flag is enabled, the SDK MUST use
- // the ARN's region when constructing the endpoint instead of the client's
- // configured region.
- UseArnRegion bool
-}
-
-// Invoked at runtime to resolve BuiltIn Values. Only resolution code specific to
-// each BuiltIn value is generated.
-func (b *builtInResolver) ResolveBuiltIns(params *EndpointParameters) error {
-
- region, _ := mapPseudoRegion(b.Region)
- if len(region) == 0 {
- return fmt.Errorf("Could not resolve AWS::Region")
- } else {
- params.Region = aws.String(region)
- }
- if b.UseFIPS == aws.FIPSEndpointStateEnabled {
- params.UseFIPS = aws.Bool(true)
- } else {
- params.UseFIPS = aws.Bool(false)
- }
- if b.UseDualStack == aws.DualStackEndpointStateEnabled {
- params.UseDualStack = aws.Bool(true)
- } else {
- params.UseDualStack = aws.Bool(false)
- }
- params.Endpoint = b.Endpoint
- params.ForcePathStyle = aws.Bool(b.ForcePathStyle)
- params.Accelerate = aws.Bool(b.Accelerate)
- params.UseGlobalEndpoint = aws.Bool(b.UseGlobalEndpoint)
- params.DisableMultiRegionAccessPoints = aws.Bool(b.DisableMultiRegionAccessPoints)
- params.UseArnRegion = aws.Bool(b.UseArnRegion)
- return nil
-}
-
// EndpointParameters provides the parameters that influence how endpoints are
// resolved.
type EndpointParameters struct {
@@ -391,6 +305,20 @@ type EndpointParameters struct {
// Parameter is required.
UseObjectLambdaEndpoint *bool
+ // The S3 Key used to send the request. This is an optional parameter that will be
+ // set automatically for operations that are scoped to an S3 Key.
+ //
+ // Parameter is
+ // required.
+ Key *string
+
+ // The S3 Prefix used to send the request. This is an optional parameter that will
+ // be set automatically for operations that are scoped to an S3 Prefix.
+ //
+ // Parameter
+ // is required.
+ Prefix *string
+
// Internal parameter to disable Access Point Buckets
//
// Parameter is required.
@@ -412,6 +340,18 @@ type EndpointParameters struct {
//
// AWS::S3::UseArnRegion
UseArnRegion *bool
+
+ // Internal parameter to indicate whether S3Express operation should use control
+ // plane, (ex. CreateBucket)
+ //
+ // Parameter is required.
+ UseS3ExpressControlEndpoint *bool
+
+ // Parameter to indicate whether S3Express session auth should be
+ // disabled
+ //
+ // Parameter is required.
+ DisableS3ExpressSessionAuth *bool
}
// ValidateRequired validates required parameters are set.
@@ -458,89 +398,899 @@ func (p EndpointParameters) WithDefaults() EndpointParameters {
p.ForcePathStyle = ptr.Bool(false)
}
- if p.UseDualStack == nil {
- p.UseDualStack = ptr.Bool(false)
- }
+ if p.UseDualStack == nil {
+ p.UseDualStack = ptr.Bool(false)
+ }
+
+ if p.UseFIPS == nil {
+ p.UseFIPS = ptr.Bool(false)
+ }
+
+ if p.UseGlobalEndpoint == nil {
+ p.UseGlobalEndpoint = ptr.Bool(false)
+ }
+ return p
+}
+
+// EndpointResolverV2 provides the interface for resolving service endpoints.
+type EndpointResolverV2 interface {
+ // ResolveEndpoint attempts to resolve the endpoint with the provided options,
+ // returning the endpoint if found. Otherwise an error is returned.
+ ResolveEndpoint(ctx context.Context, params EndpointParameters) (
+ smithyendpoints.Endpoint, error,
+ )
+}
+
+// resolver provides the implementation for resolving endpoints.
+type resolver struct{}
+
+func NewDefaultEndpointResolverV2() EndpointResolverV2 {
+ return &resolver{}
+}
+
+// ResolveEndpoint attempts to resolve the endpoint with the provided options,
+// returning the endpoint if found. Otherwise an error is returned.
+func (r *resolver) ResolveEndpoint(
+ ctx context.Context, params EndpointParameters,
+) (
+ endpoint smithyendpoints.Endpoint, err error,
+) {
+ params = params.WithDefaults()
+ if err = params.ValidateRequired(); err != nil {
+ return endpoint, fmt.Errorf("endpoint parameters are not valid, %w", err)
+ }
+ _UseFIPS := *params.UseFIPS
+ _UseDualStack := *params.UseDualStack
+ _ForcePathStyle := *params.ForcePathStyle
+ _Accelerate := *params.Accelerate
+ _UseGlobalEndpoint := *params.UseGlobalEndpoint
+ _DisableMultiRegionAccessPoints := *params.DisableMultiRegionAccessPoints
+
+ if exprVal := params.Region; exprVal != nil {
+ _Region := *exprVal
+ _ = _Region
+ if _Accelerate == true {
+ if _UseFIPS == true {
+ return endpoint, fmt.Errorf("endpoint rule error, %s", "Accelerate cannot be used with FIPS")
+ }
+ }
+ if _UseDualStack == true {
+ if exprVal := params.Endpoint; exprVal != nil {
+ _Endpoint := *exprVal
+ _ = _Endpoint
+ return endpoint, fmt.Errorf("endpoint rule error, %s", "Cannot set dual-stack in combination with a custom endpoint.")
+ }
+ }
+ if exprVal := params.Endpoint; exprVal != nil {
+ _Endpoint := *exprVal
+ _ = _Endpoint
+ if _UseFIPS == true {
+ return endpoint, fmt.Errorf("endpoint rule error, %s", "A custom endpoint cannot be combined with FIPS")
+ }
+ }
+ if exprVal := params.Endpoint; exprVal != nil {
+ _Endpoint := *exprVal
+ _ = _Endpoint
+ if _Accelerate == true {
+ return endpoint, fmt.Errorf("endpoint rule error, %s", "A custom endpoint cannot be combined with S3 Accelerate")
+ }
+ }
+ if _UseFIPS == true {
+ if exprVal := awsrulesfn.GetPartition(_Region); exprVal != nil {
+ _partitionResult := *exprVal
+ _ = _partitionResult
+ if _partitionResult.Name == "aws-cn" {
+ return endpoint, fmt.Errorf("endpoint rule error, %s", "Partition does not support FIPS")
+ }
+ }
+ }
+ if exprVal := params.Bucket; exprVal != nil {
+ _Bucket := *exprVal
+ _ = _Bucket
+ if exprVal := rulesfn.SubString(_Bucket, 0, 6, true); exprVal != nil {
+ _bucketSuffix := *exprVal
+ _ = _bucketSuffix
+ if _bucketSuffix == "--x-s3" {
+ if _UseDualStack == true {
+ return endpoint, fmt.Errorf("endpoint rule error, %s", "S3Express does not support Dual-stack.")
+ }
+ if _Accelerate == true {
+ return endpoint, fmt.Errorf("endpoint rule error, %s", "S3Express does not support S3 Accelerate.")
+ }
+ if exprVal := params.Endpoint; exprVal != nil {
+ _Endpoint := *exprVal
+ _ = _Endpoint
+ if exprVal := rulesfn.ParseURL(_Endpoint); exprVal != nil {
+ _url := *exprVal
+ _ = _url
+ if exprVal := params.DisableS3ExpressSessionAuth; exprVal != nil {
+ _DisableS3ExpressSessionAuth := *exprVal
+ _ = _DisableS3ExpressSessionAuth
+ if _DisableS3ExpressSessionAuth == true {
+ if _url.IsIp == true {
+ _uri_encoded_bucket := rulesfn.URIEncode(_Bucket)
+ _ = _uri_encoded_bucket
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString(_url.Scheme)
+ out.WriteString("://")
+ out.WriteString(_url.Authority)
+ out.WriteString("/")
+ out.WriteString(_uri_encoded_bucket)
+ out.WriteString(_url.Path)
+ return out.String()
+ }()
+
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
+
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ if awsrulesfn.IsVirtualHostableS3Bucket(_Bucket, false) {
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString(_url.Scheme)
+ out.WriteString("://")
+ out.WriteString(_Bucket)
+ out.WriteString(".")
+ out.WriteString(_url.Authority)
+ out.WriteString(_url.Path)
+ return out.String()
+ }()
+
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
+
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ return endpoint, fmt.Errorf("endpoint rule error, %s", "S3Express bucket name is not a valid virtual hostable name.")
+ }
+ }
+ if _url.IsIp == true {
+ _uri_encoded_bucket := rulesfn.URIEncode(_Bucket)
+ _ = _uri_encoded_bucket
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString(_url.Scheme)
+ out.WriteString("://")
+ out.WriteString(_url.Authority)
+ out.WriteString("/")
+ out.WriteString(_uri_encoded_bucket)
+ out.WriteString(_url.Path)
+ return out.String()
+ }()
+
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
+
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "sigv4-s3express",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ if awsrulesfn.IsVirtualHostableS3Bucket(_Bucket, false) {
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString(_url.Scheme)
+ out.WriteString("://")
+ out.WriteString(_Bucket)
+ out.WriteString(".")
+ out.WriteString(_url.Authority)
+ out.WriteString(_url.Path)
+ return out.String()
+ }()
+
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
+
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "sigv4-s3express",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ return endpoint, fmt.Errorf("endpoint rule error, %s", "S3Express bucket name is not a valid virtual hostable name.")
+ }
+ }
+ if exprVal := params.UseS3ExpressControlEndpoint; exprVal != nil {
+ _UseS3ExpressControlEndpoint := *exprVal
+ _ = _UseS3ExpressControlEndpoint
+ if _UseS3ExpressControlEndpoint == true {
+ _uri_encoded_bucket := rulesfn.URIEncode(_Bucket)
+ _ = _uri_encoded_bucket
+ if !(params.Endpoint != nil) {
+ if _UseFIPS == true {
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString("https://s3express-control-fips.")
+ out.WriteString(_Region)
+ out.WriteString(".amazonaws.com/")
+ out.WriteString(_uri_encoded_bucket)
+ return out.String()
+ }()
+
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
+
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString("https://s3express-control.")
+ out.WriteString(_Region)
+ out.WriteString(".amazonaws.com/")
+ out.WriteString(_uri_encoded_bucket)
+ return out.String()
+ }()
+
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
+
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ return endpoint, fmt.Errorf("Endpoint resolution failed. Invalid operation or environment input.")
+ }
+ }
+ if awsrulesfn.IsVirtualHostableS3Bucket(_Bucket, false) {
+ if exprVal := params.DisableS3ExpressSessionAuth; exprVal != nil {
+ _DisableS3ExpressSessionAuth := *exprVal
+ _ = _DisableS3ExpressSessionAuth
+ if _DisableS3ExpressSessionAuth == true {
+ if exprVal := rulesfn.SubString(_Bucket, 6, 14, true); exprVal != nil {
+ _s3expressAvailabilityZoneId := *exprVal
+ _ = _s3expressAvailabilityZoneId
+ if exprVal := rulesfn.SubString(_Bucket, 14, 16, true); exprVal != nil {
+ _s3expressAvailabilityZoneDelim := *exprVal
+ _ = _s3expressAvailabilityZoneDelim
+ if _s3expressAvailabilityZoneDelim == "--" {
+ if _UseFIPS == true {
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString("https://")
+ out.WriteString(_Bucket)
+ out.WriteString(".s3express-fips-")
+ out.WriteString(_s3expressAvailabilityZoneId)
+ out.WriteString(".")
+ out.WriteString(_Region)
+ out.WriteString(".amazonaws.com")
+ return out.String()
+ }()
+
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
+
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString("https://")
+ out.WriteString(_Bucket)
+ out.WriteString(".s3express-")
+ out.WriteString(_s3expressAvailabilityZoneId)
+ out.WriteString(".")
+ out.WriteString(_Region)
+ out.WriteString(".amazonaws.com")
+ return out.String()
+ }()
+
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
+
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ }
+ }
+ if exprVal := rulesfn.SubString(_Bucket, 6, 15, true); exprVal != nil {
+ _s3expressAvailabilityZoneId := *exprVal
+ _ = _s3expressAvailabilityZoneId
+ if exprVal := rulesfn.SubString(_Bucket, 15, 17, true); exprVal != nil {
+ _s3expressAvailabilityZoneDelim := *exprVal
+ _ = _s3expressAvailabilityZoneDelim
+ if _s3expressAvailabilityZoneDelim == "--" {
+ if _UseFIPS == true {
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString("https://")
+ out.WriteString(_Bucket)
+ out.WriteString(".s3express-fips-")
+ out.WriteString(_s3expressAvailabilityZoneId)
+ out.WriteString(".")
+ out.WriteString(_Region)
+ out.WriteString(".amazonaws.com")
+ return out.String()
+ }()
+
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
+
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString("https://")
+ out.WriteString(_Bucket)
+ out.WriteString(".s3express-")
+ out.WriteString(_s3expressAvailabilityZoneId)
+ out.WriteString(".")
+ out.WriteString(_Region)
+ out.WriteString(".amazonaws.com")
+ return out.String()
+ }()
+
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
+
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ }
+ }
+ return endpoint, fmt.Errorf("endpoint rule error, %s", "Unrecognized S3Express bucket name format.")
+ }
+ }
+ if exprVal := rulesfn.SubString(_Bucket, 6, 14, true); exprVal != nil {
+ _s3expressAvailabilityZoneId := *exprVal
+ _ = _s3expressAvailabilityZoneId
+ if exprVal := rulesfn.SubString(_Bucket, 14, 16, true); exprVal != nil {
+ _s3expressAvailabilityZoneDelim := *exprVal
+ _ = _s3expressAvailabilityZoneDelim
+ if _s3expressAvailabilityZoneDelim == "--" {
+ if _UseFIPS == true {
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString("https://")
+ out.WriteString(_Bucket)
+ out.WriteString(".s3express-fips-")
+ out.WriteString(_s3expressAvailabilityZoneId)
+ out.WriteString(".")
+ out.WriteString(_Region)
+ out.WriteString(".amazonaws.com")
+ return out.String()
+ }()
+
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
+
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "sigv4-s3express",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString("https://")
+ out.WriteString(_Bucket)
+ out.WriteString(".s3express-")
+ out.WriteString(_s3expressAvailabilityZoneId)
+ out.WriteString(".")
+ out.WriteString(_Region)
+ out.WriteString(".amazonaws.com")
+ return out.String()
+ }()
+
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
+
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "sigv4-s3express",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ }
+ }
+ if exprVal := rulesfn.SubString(_Bucket, 6, 15, true); exprVal != nil {
+ _s3expressAvailabilityZoneId := *exprVal
+ _ = _s3expressAvailabilityZoneId
+ if exprVal := rulesfn.SubString(_Bucket, 15, 17, true); exprVal != nil {
+ _s3expressAvailabilityZoneDelim := *exprVal
+ _ = _s3expressAvailabilityZoneDelim
+ if _s3expressAvailabilityZoneDelim == "--" {
+ if _UseFIPS == true {
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString("https://")
+ out.WriteString(_Bucket)
+ out.WriteString(".s3express-fips-")
+ out.WriteString(_s3expressAvailabilityZoneId)
+ out.WriteString(".")
+ out.WriteString(_Region)
+ out.WriteString(".amazonaws.com")
+ return out.String()
+ }()
+
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
+
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "sigv4-s3express",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString("https://")
+ out.WriteString(_Bucket)
+ out.WriteString(".s3express-")
+ out.WriteString(_s3expressAvailabilityZoneId)
+ out.WriteString(".")
+ out.WriteString(_Region)
+ out.WriteString(".amazonaws.com")
+ return out.String()
+ }()
+
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
- if p.UseFIPS == nil {
- p.UseFIPS = ptr.Bool(false)
- }
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "sigv4-s3express",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ }
+ }
+ return endpoint, fmt.Errorf("endpoint rule error, %s", "Unrecognized S3Express bucket name format.")
+ }
+ return endpoint, fmt.Errorf("endpoint rule error, %s", "S3Express bucket name is not a valid virtual hostable name.")
+ }
+ }
+ }
+ if !(params.Bucket != nil) {
+ if exprVal := params.UseS3ExpressControlEndpoint; exprVal != nil {
+ _UseS3ExpressControlEndpoint := *exprVal
+ _ = _UseS3ExpressControlEndpoint
+ if _UseS3ExpressControlEndpoint == true {
+ if exprVal := params.Endpoint; exprVal != nil {
+ _Endpoint := *exprVal
+ _ = _Endpoint
+ if exprVal := rulesfn.ParseURL(_Endpoint); exprVal != nil {
+ _url := *exprVal
+ _ = _url
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString(_url.Scheme)
+ out.WriteString("://")
+ out.WriteString(_url.Authority)
+ out.WriteString(_url.Path)
+ return out.String()
+ }()
- if p.UseGlobalEndpoint == nil {
- p.UseGlobalEndpoint = ptr.Bool(false)
- }
- return p
-}
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
-// EndpointResolverV2 provides the interface for resolving service endpoints.
-type EndpointResolverV2 interface {
- // ResolveEndpoint attempts to resolve the endpoint with the provided options,
- // returning the endpoint if found. Otherwise an error is returned.
- ResolveEndpoint(ctx context.Context, params EndpointParameters) (
- smithyendpoints.Endpoint, error,
- )
-}
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ }
+ if _UseFIPS == true {
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString("https://s3express-control-fips.")
+ out.WriteString(_Region)
+ out.WriteString(".amazonaws.com")
+ return out.String()
+ }()
-// resolver provides the implementation for resolving endpoints.
-type resolver struct{}
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
-func NewDefaultEndpointResolverV2() EndpointResolverV2 {
- return &resolver{}
-}
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
+ }
+ uriString := func() string {
+ var out strings.Builder
+ out.WriteString("https://s3express-control.")
+ out.WriteString(_Region)
+ out.WriteString(".amazonaws.com")
+ return out.String()
+ }()
-// ResolveEndpoint attempts to resolve the endpoint with the provided options,
-// returning the endpoint if found. Otherwise an error is returned.
-func (r *resolver) ResolveEndpoint(
- ctx context.Context, params EndpointParameters,
-) (
- endpoint smithyendpoints.Endpoint, err error,
-) {
- params = params.WithDefaults()
- if err = params.ValidateRequired(); err != nil {
- return endpoint, fmt.Errorf("endpoint parameters are not valid, %w", err)
- }
- _UseFIPS := *params.UseFIPS
- _UseDualStack := *params.UseDualStack
- _ForcePathStyle := *params.ForcePathStyle
- _Accelerate := *params.Accelerate
- _UseGlobalEndpoint := *params.UseGlobalEndpoint
- _DisableMultiRegionAccessPoints := *params.DisableMultiRegionAccessPoints
+ uri, err := url.Parse(uriString)
+ if err != nil {
+ return endpoint, fmt.Errorf("Failed to parse uri: %s", uriString)
+ }
- if exprVal := params.Region; exprVal != nil {
- _Region := *exprVal
- _ = _Region
- if _Accelerate == true {
- if _UseFIPS == true {
- return endpoint, fmt.Errorf("endpoint rule error, %s", "Accelerate cannot be used with FIPS")
- }
- }
- if _UseDualStack == true {
- if exprVal := params.Endpoint; exprVal != nil {
- _Endpoint := *exprVal
- _ = _Endpoint
- return endpoint, fmt.Errorf("endpoint rule error, %s", "Cannot set dual-stack in combination with a custom endpoint.")
- }
- }
- if exprVal := params.Endpoint; exprVal != nil {
- _Endpoint := *exprVal
- _ = _Endpoint
- if _UseFIPS == true {
- return endpoint, fmt.Errorf("endpoint rule error, %s", "A custom endpoint cannot be combined with FIPS")
- }
- }
- if exprVal := params.Endpoint; exprVal != nil {
- _Endpoint := *exprVal
- _ = _Endpoint
- if _Accelerate == true {
- return endpoint, fmt.Errorf("endpoint rule error, %s", "A custom endpoint cannot be combined with S3 Accelerate")
- }
- }
- if _UseFIPS == true {
- if exprVal := awsrulesfn.GetPartition(_Region); exprVal != nil {
- _partitionResult := *exprVal
- _ = _partitionResult
- if _partitionResult.Name == "aws-cn" {
- return endpoint, fmt.Errorf("endpoint rule error, %s", "Partition does not support FIPS")
+ return smithyendpoints.Endpoint{
+ URI: *uri,
+ Headers: http.Header{},
+ Properties: func() smithy.Properties {
+ var out smithy.Properties
+ out.Set("backend", "S3Express")
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3express")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3express")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
+ },
+ })
+ return out
+ }(),
+ }, nil
}
}
}
@@ -594,12 +1344,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3-outposts",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3-outposts")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3-outposts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -630,12 +1387,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3-outposts",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3-outposts")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3-outposts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -674,12 +1438,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3-outposts",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3-outposts")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3-outposts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -712,12 +1483,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3-outposts",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3-outposts")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3-outposts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -791,12 +1569,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -834,12 +1619,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -878,12 +1670,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -919,12 +1718,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -962,12 +1768,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1006,12 +1819,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1047,12 +1867,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -1088,12 +1915,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1130,12 +1964,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1171,12 +2012,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -1214,12 +2062,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1258,12 +2113,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1306,12 +2168,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -1356,12 +2225,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -1407,12 +2283,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1439,12 +2322,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1492,12 +2382,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1525,12 +2422,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1576,12 +2480,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1628,12 +2539,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1671,12 +2589,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -1713,12 +2638,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1744,12 +2676,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1786,12 +2725,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1827,12 +2773,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -1869,12 +2822,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1902,12 +2862,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -1946,12 +2913,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -2007,12 +2981,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -2118,12 +3099,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3-object-lambda",
- "signingRegion": _bucketArn.Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3-object-lambda")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3-object-lambda")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _bucketArn.Region)
+ return sp
+ }(),
},
})
return out
@@ -2155,12 +3143,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3-object-lambda",
- "signingRegion": _bucketArn.Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3-object-lambda")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3-object-lambda")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _bucketArn.Region)
+ return sp
+ }(),
},
})
return out
@@ -2190,12 +3185,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3-object-lambda",
- "signingRegion": _bucketArn.Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3-object-lambda")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3-object-lambda")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _bucketArn.Region)
+ return sp
+ }(),
},
})
return out
@@ -2329,12 +3331,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _bucketArn.Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _bucketArn.Region)
+ return sp
+ }(),
},
})
return out
@@ -2367,12 +3376,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _bucketArn.Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _bucketArn.Region)
+ return sp
+ }(),
},
})
return out
@@ -2405,12 +3421,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _bucketArn.Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _bucketArn.Region)
+ return sp
+ }(),
},
})
return out
@@ -2449,12 +3472,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _bucketArn.Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _bucketArn.Region)
+ return sp
+ }(),
},
})
return out
@@ -2489,12 +3519,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _bucketArn.Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _bucketArn.Region)
+ return sp
+ }(),
},
})
return out
@@ -2593,14 +3630,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4a",
- "signingName": "s3",
- "signingRegionSet": []interface{}{
- "*",
- },
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4a",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4ASigningRegions(&sp, []string{"*"})
+ return sp
+ }(),
},
})
return out
@@ -2635,8 +3677,8 @@ func (r *resolver) ResolveEndpoint(
return endpoint, fmt.Errorf("endpoint rule error, %s", "S3 Outposts does not support S3 Accelerate")
}
if exprVal := _bucketArn.ResourceId.Get(4); exprVal != nil {
- _var_244 := *exprVal
- _ = _var_244
+ _var_275 := *exprVal
+ _ = _var_275
return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Arn: Outpost Access Point ARN contains sub resources")
}
if exprVal := _bucketArn.ResourceId.Get(1); exprVal != nil {
@@ -2705,12 +3747,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3-outposts",
- "signingRegion": _bucketArn.Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3-outposts")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3-outposts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _bucketArn.Region)
+ return sp
+ }(),
},
})
return out
@@ -2743,12 +3792,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3-outposts",
- "signingRegion": _bucketArn.Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3-outposts")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3-outposts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _bucketArn.Region)
+ return sp
+ }(),
},
})
return out
@@ -2839,8 +3895,8 @@ func (r *resolver) ResolveEndpoint(
}
if _ForcePathStyle == true {
if exprVal := awsrulesfn.ParseARN(_Bucket); exprVal != nil {
- _var_257 := *exprVal
- _ = _var_257
+ _var_288 := *exprVal
+ _ = _var_288
return endpoint, fmt.Errorf("endpoint rule error, %s", "Path-style addressing cannot be used with ARN buckets")
}
}
@@ -2873,12 +3929,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -2914,12 +3977,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -2956,12 +4026,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -2995,12 +4072,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -3036,12 +4120,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3078,12 +4169,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3117,12 +4215,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -3158,12 +4263,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3200,12 +4312,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3245,12 +4364,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -3292,12 +4418,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3324,12 +4457,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3371,12 +4511,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3411,12 +4558,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -3451,12 +4605,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3484,12 +4645,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3526,12 +4694,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3587,12 +4762,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3-object-lambda",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3-object-lambda")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3-object-lambda")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3620,12 +4802,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3-object-lambda",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3-object-lambda")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3-object-lambda")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3651,12 +4840,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3-object-lambda",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3-object-lambda")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3-object-lambda")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3694,12 +4890,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -3733,12 +4936,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3773,12 +4983,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3810,12 +5027,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -3849,12 +5073,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3889,12 +5120,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -3926,12 +5164,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -3965,12 +5210,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -4005,12 +5257,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -4049,12 +5308,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -4095,12 +5361,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -4126,12 +5399,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -4172,12 +5452,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -4210,12 +5497,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -4248,12 +5542,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -4279,12 +5580,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -4319,12 +5627,19 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "disableDoubleEncoding": true,
- "name": "sigv4",
- "signingName": "s3",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetDisableDoubleEncoding(&sp, true)
+
+ smithyhttp.SetSigV4SigningName(&sp, "s3")
+ smithyhttp.SetSigV4ASigningName(&sp, "s3")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -4345,3 +5660,85 @@ func (r *resolver) ResolveEndpoint(
}
return endpoint, fmt.Errorf("endpoint rule error, %s", "A region must be set when sending requests to S3.")
}
+
+type endpointParamsBinder interface {
+ bindEndpointParams(*EndpointParameters)
+}
+
+func bindEndpointParams(input interface{}, options Options) *EndpointParameters {
+ params := &EndpointParameters{}
+
+ params.Region = aws.String(endpoints.MapFIPSRegion(options.Region))
+ params.UseFIPS = aws.Bool(options.EndpointOptions.UseFIPSEndpoint == aws.FIPSEndpointStateEnabled)
+ params.UseDualStack = aws.Bool(options.EndpointOptions.UseDualStackEndpoint == aws.DualStackEndpointStateEnabled)
+ params.Endpoint = options.BaseEndpoint
+ params.ForcePathStyle = aws.Bool(options.UsePathStyle)
+ params.Accelerate = aws.Bool(options.UseAccelerate)
+ params.DisableMultiRegionAccessPoints = aws.Bool(options.DisableMultiRegionAccessPoints)
+ params.UseArnRegion = aws.Bool(options.UseARNRegion)
+
+ params.DisableS3ExpressSessionAuth = options.DisableS3ExpressSessionAuth
+
+ if b, ok := input.(endpointParamsBinder); ok {
+ b.bindEndpointParams(params)
+ }
+
+ return params
+}
+
+type resolveEndpointV2Middleware struct {
+ options Options
+}
+
+func (*resolveEndpointV2Middleware) ID() string {
+ return "ResolveEndpointV2"
+}
+
+func (m *resolveEndpointV2Middleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
+ return next.HandleFinalize(ctx, in)
+ }
+
+ req, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
+ }
+
+ if m.options.EndpointResolverV2 == nil {
+ return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
+ }
+
+ params := bindEndpointParams(getOperationInput(ctx), m.options)
+ endpt, err := m.options.EndpointResolverV2.ResolveEndpoint(ctx, *params)
+ if err != nil {
+ return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
+ }
+
+ if endpt.URI.RawPath == "" && req.URL.RawPath != "" {
+ endpt.URI.RawPath = endpt.URI.Path
+ }
+ req.URL.Scheme = endpt.URI.Scheme
+ req.URL.Host = endpt.URI.Host
+ req.URL.Path = smithyhttp.JoinPath(endpt.URI.Path, req.URL.Path)
+ req.URL.RawPath = smithyhttp.JoinPath(endpt.URI.RawPath, req.URL.RawPath)
+ for k := range endpt.Headers {
+ req.Header.Set(k, endpt.Headers.Get(k))
+ }
+
+ rscheme := getResolvedAuthScheme(ctx)
+ if rscheme == nil {
+ return out, metadata, fmt.Errorf("no resolved auth scheme")
+ }
+
+ opts, _ := smithyauth.GetAuthOptions(&endpt.Properties)
+ for _, o := range opts {
+ rscheme.SignerProperties.SetAll(&o.SignerProperties)
+ }
+
+ backend := s3cust.GetPropertiesBackend(&endpt.Properties)
+ ctx = internalcontext.SetS3Backend(ctx, backend)
+
+ return next.HandleFinalize(ctx, in)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/express.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/express.go
new file mode 100644
index 00000000..bbac9ca2
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/express.go
@@ -0,0 +1,9 @@
+package s3
+
+import (
+ "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
+)
+
+// ExpressCredentialsProvider retrieves credentials for operations against the
+// S3Express storage class.
+type ExpressCredentialsProvider = customizations.S3ExpressCredentialsProvider
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/express_default.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/express_default.go
new file mode 100644
index 00000000..3b35a3e5
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/express_default.go
@@ -0,0 +1,170 @@
+package s3
+
+import (
+ "context"
+ "crypto/hmac"
+ "crypto/sha256"
+ "errors"
+ "fmt"
+ "sync"
+ "time"
+
+ "github.com/aws/aws-sdk-go-v2/aws"
+ "github.com/aws/aws-sdk-go-v2/internal/sdk"
+ "github.com/aws/aws-sdk-go-v2/internal/sync/singleflight"
+ "github.com/aws/smithy-go/container/private/cache"
+ "github.com/aws/smithy-go/container/private/cache/lru"
+)
+
+const s3ExpressCacheCap = 100
+
+const s3ExpressRefreshWindow = 1 * time.Minute
+
+type cacheKey struct {
+ CredentialsHash string // hmac(sigv4 akid, sigv4 secret)
+ Bucket string
+}
+
+func (c cacheKey) Slug() string {
+ return fmt.Sprintf("%s%s", c.CredentialsHash, c.Bucket)
+}
+
+type sessionCredsCache struct {
+ mu sync.Mutex
+ cache cache.Cache
+}
+
+func (c *sessionCredsCache) Get(key cacheKey) (*aws.Credentials, bool) {
+ c.mu.Lock()
+ defer c.mu.Unlock()
+
+ if v, ok := c.cache.Get(key); ok {
+ return v.(*aws.Credentials), true
+ }
+ return nil, false
+}
+
+func (c *sessionCredsCache) Put(key cacheKey, creds *aws.Credentials) {
+ c.mu.Lock()
+ defer c.mu.Unlock()
+
+ c.cache.Put(key, creds)
+}
+
+// The default S3Express provider uses an LRU cache with a capacity of 100.
+//
+// Credentials will be refreshed asynchronously when a Retrieve() call is made
+// for cached credentials within an expiry window (1 minute, currently
+// non-configurable).
+type defaultS3ExpressCredentialsProvider struct {
+ sf singleflight.Group
+
+ client createSessionAPIClient
+ cache *sessionCredsCache
+ refreshWindow time.Duration
+ v4creds aws.CredentialsProvider // underlying credentials used for CreateSession
+}
+
+type createSessionAPIClient interface {
+ CreateSession(context.Context, *CreateSessionInput, ...func(*Options)) (*CreateSessionOutput, error)
+}
+
+func newDefaultS3ExpressCredentialsProvider() *defaultS3ExpressCredentialsProvider {
+ return &defaultS3ExpressCredentialsProvider{
+ cache: &sessionCredsCache{
+ cache: lru.New(s3ExpressCacheCap),
+ },
+ refreshWindow: s3ExpressRefreshWindow,
+ }
+}
+
+// returns a cloned provider using new base credentials, used when per-op
+// config mutations change the credentials provider
+func (p *defaultS3ExpressCredentialsProvider) CloneWithBaseCredentials(v4creds aws.CredentialsProvider) *defaultS3ExpressCredentialsProvider {
+ return &defaultS3ExpressCredentialsProvider{
+ client: p.client,
+ cache: p.cache,
+ refreshWindow: p.refreshWindow,
+ v4creds: v4creds,
+ }
+}
+
+func (p *defaultS3ExpressCredentialsProvider) Retrieve(ctx context.Context, bucket string) (aws.Credentials, error) {
+ v4creds, err := p.v4creds.Retrieve(ctx)
+ if err != nil {
+ return aws.Credentials{}, fmt.Errorf("get sigv4 creds: %w", err)
+ }
+
+ key := cacheKey{
+ CredentialsHash: gethmac(v4creds.AccessKeyID, v4creds.SecretAccessKey),
+ Bucket: bucket,
+ }
+ creds, ok := p.cache.Get(key)
+ if !ok || creds.Expired() {
+ return p.awaitDoChanRetrieve(ctx, key)
+ }
+
+ if creds.Expires.Sub(sdk.NowTime()) <= p.refreshWindow {
+ p.doChanRetrieve(ctx, key)
+ }
+
+ return *creds, nil
+}
+
+func (p *defaultS3ExpressCredentialsProvider) doChanRetrieve(ctx context.Context, key cacheKey) <-chan singleflight.Result {
+ return p.sf.DoChan(key.Slug(), func() (interface{}, error) {
+ return p.retrieve(ctx, key)
+ })
+}
+
+func (p *defaultS3ExpressCredentialsProvider) awaitDoChanRetrieve(ctx context.Context, key cacheKey) (aws.Credentials, error) {
+ ch := p.doChanRetrieve(ctx, key)
+
+ select {
+ case r := <-ch:
+ return r.Val.(aws.Credentials), r.Err
+ case <-ctx.Done():
+ return aws.Credentials{}, errors.New("s3express retrieve credentials canceled")
+ }
+}
+
+func (p *defaultS3ExpressCredentialsProvider) retrieve(ctx context.Context, key cacheKey) (aws.Credentials, error) {
+ resp, err := p.client.CreateSession(ctx, &CreateSessionInput{
+ Bucket: aws.String(key.Bucket),
+ })
+ if err != nil {
+ return aws.Credentials{}, err
+ }
+
+ creds, err := credentialsFromResponse(resp)
+ if err != nil {
+ return aws.Credentials{}, err
+ }
+
+ p.cache.Put(key, creds)
+ return *creds, nil
+}
+
+func credentialsFromResponse(o *CreateSessionOutput) (*aws.Credentials, error) {
+ if o.Credentials == nil {
+ return nil, errors.New("s3express session credentials unset")
+ }
+
+ if o.Credentials.AccessKeyId == nil || o.Credentials.SecretAccessKey == nil || o.Credentials.SessionToken == nil || o.Credentials.Expiration == nil {
+ return nil, errors.New("s3express session credentials missing one or more required fields")
+ }
+
+ return &aws.Credentials{
+ AccessKeyID: *o.Credentials.AccessKeyId,
+ SecretAccessKey: *o.Credentials.SecretAccessKey,
+ SessionToken: *o.Credentials.SessionToken,
+ CanExpire: true,
+ Expires: *o.Credentials.Expiration,
+ }, nil
+}
+
+func gethmac(p, key string) string {
+ hash := hmac.New(sha256.New, []byte(key))
+ hash.Write([]byte(p))
+ return string(hash.Sum(nil))
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/express_resolve.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/express_resolve.go
new file mode 100644
index 00000000..18d6c06a
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/express_resolve.go
@@ -0,0 +1,44 @@
+package s3
+
+import (
+ "github.com/aws/aws-sdk-go-v2/aws"
+ "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
+)
+
+// If the caller hasn't provided an S3Express provider, we use our default
+// which will grab a reference to the S3 client itself in finalization.
+func resolveExpressCredentials(o *Options) {
+ if o.ExpressCredentials == nil {
+ o.ExpressCredentials = newDefaultS3ExpressCredentialsProvider()
+ }
+}
+
+// Config finalizer: if we're using the default S3Express implementation, grab
+// a reference to the client for its CreateSession API, and the underlying
+// sigv4 credentials provider for cache keying.
+func finalizeExpressCredentials(o *Options, c *Client) {
+ if p, ok := o.ExpressCredentials.(*defaultS3ExpressCredentialsProvider); ok {
+ p.client = c
+ p.v4creds = o.Credentials
+ }
+}
+
+// Operation config finalizer: update the sigv4 credentials on the default
+// express provider if it changed to ensure different cache keys
+func finalizeOperationExpressCredentials(o *Options, c Client) {
+ p, ok := o.ExpressCredentials.(*defaultS3ExpressCredentialsProvider)
+ if !ok {
+ return
+ }
+
+ if c.options.Credentials != o.Credentials {
+ o.ExpressCredentials = p.CloneWithBaseCredentials(o.Credentials)
+ }
+}
+
+// NewFromConfig resolver: pull from opaque sources if it exists.
+func resolveDisableExpressAuth(cfg aws.Config, o *Options) {
+ if v, ok := customizations.ResolveDisableExpressAuth(cfg.ConfigSources); ok {
+ o.DisableS3ExpressSessionAuth = &v
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/generated.json b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/generated.json
index b15270c4..4e666764 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/generated.json
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/generated.json
@@ -20,6 +20,7 @@
"api_op_CopyObject.go",
"api_op_CreateBucket.go",
"api_op_CreateMultipartUpload.go",
+ "api_op_CreateSession.go",
"api_op_DeleteBucket.go",
"api_op_DeleteBucketAnalyticsConfiguration.go",
"api_op_DeleteBucketCors.go",
@@ -73,6 +74,7 @@
"api_op_ListBucketInventoryConfigurations.go",
"api_op_ListBucketMetricsConfigurations.go",
"api_op_ListBuckets.go",
+ "api_op_ListDirectoryBuckets.go",
"api_op_ListMultipartUploads.go",
"api_op_ListObjectVersions.go",
"api_op_ListObjects.go",
@@ -108,6 +110,7 @@
"api_op_UploadPart.go",
"api_op_UploadPartCopy.go",
"api_op_WriteGetObjectResponse.go",
+ "auth.go",
"deserializers.go",
"doc.go",
"endpoints.go",
@@ -117,6 +120,7 @@
"generated.json",
"internal/endpoints/endpoints.go",
"internal/endpoints/endpoints_test.go",
+ "options.go",
"protocol_test.go",
"serializers.go",
"types/enums.go",
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go
index c8f7012a..77e3ee12 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go
@@ -3,4 +3,4 @@
package s3
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.42.0"
+const goModuleVersion = "1.48.0"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/handwritten_paginators.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/handwritten_paginators.go
index 3d0b2510..6aae79e7 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/handwritten_paginators.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/handwritten_paginators.go
@@ -3,6 +3,8 @@ package s3
import (
"context"
"fmt"
+
+ "github.com/aws/aws-sdk-go-v2/aws"
)
// ListObjectVersionsAPIClient is a client that implements the ListObjectVersions
@@ -42,7 +44,9 @@ func NewListObjectVersionsPaginator(client ListObjectVersionsAPIClient, params *
}
options := ListObjectVersionsPaginatorOptions{}
- options.Limit = params.MaxKeys
+ if params.MaxKeys != nil {
+ options.Limit = aws.ToInt32(params.MaxKeys)
+ }
for _, fn := range optFns {
fn(&options)
@@ -77,7 +81,9 @@ func (p *ListObjectVersionsPaginator) NextPage(ctx context.Context, optFns ...fu
if p.options.Limit > 0 {
limit = p.options.Limit
}
- params.MaxKeys = limit
+ if limit > 0 {
+ params.MaxKeys = aws.Int32(limit)
+ }
result, err := p.client.ListObjectVersions(ctx, ¶ms, optFns...)
if err != nil {
@@ -86,10 +92,10 @@ func (p *ListObjectVersionsPaginator) NextPage(ctx context.Context, optFns ...fu
p.firstPage = false
prevToken := p.keyMarker
- p.isTruncated = result.IsTruncated
+ p.isTruncated = aws.ToBool(result.IsTruncated)
p.keyMarker = nil
p.versionIDMarker = nil
- if result.IsTruncated {
+ if aws.ToBool(result.IsTruncated) {
p.keyMarker = result.NextKeyMarker
p.versionIDMarker = result.NextVersionIdMarker
}
@@ -141,7 +147,9 @@ func NewListMultipartUploadsPaginator(client ListMultipartUploadsAPIClient, para
}
options := ListMultipartUploadsPaginatorOptions{}
- options.Limit = params.MaxUploads
+ if params.MaxUploads != nil {
+ options.Limit = aws.ToInt32(params.MaxUploads)
+ }
for _, fn := range optFns {
fn(&options)
@@ -176,7 +184,9 @@ func (p *ListMultipartUploadsPaginator) NextPage(ctx context.Context, optFns ...
if p.options.Limit > 0 {
limit = p.options.Limit
}
- params.MaxUploads = limit
+ if limit > 0 {
+ params.MaxUploads = aws.Int32(limit)
+ }
result, err := p.client.ListMultipartUploads(ctx, ¶ms, optFns...)
if err != nil {
@@ -185,10 +195,10 @@ func (p *ListMultipartUploadsPaginator) NextPage(ctx context.Context, optFns ...
p.firstPage = false
prevToken := p.keyMarker
- p.isTruncated = result.IsTruncated
+ p.isTruncated = aws.ToBool(result.IsTruncated)
p.keyMarker = nil
p.uploadIDMarker = nil
- if result.IsTruncated {
+ if aws.ToBool(result.IsTruncated) {
p.keyMarker = result.NextKeyMarker
p.uploadIDMarker = result.NextUploadIdMarker
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/context.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/context.go
new file mode 100644
index 00000000..91b8fde0
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/context.go
@@ -0,0 +1,21 @@
+package customizations
+
+import (
+ "context"
+
+ "github.com/aws/smithy-go/middleware"
+)
+
+type bucketKey struct{}
+
+// SetBucket stores a bucket name within the request context, which is required
+// for a variety of custom S3 behaviors.
+func SetBucket(ctx context.Context, bucket string) context.Context {
+ return middleware.WithStackValue(ctx, bucketKey{}, bucket)
+}
+
+// GetBucket retrieves a stored bucket name within a context.
+func GetBucket(ctx context.Context) string {
+ v, _ := middleware.GetStackValue(ctx, bucketKey{}).(string)
+ return v
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express.go
new file mode 100644
index 00000000..8cc0b362
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express.go
@@ -0,0 +1,44 @@
+package customizations
+
+import (
+ "context"
+ "fmt"
+
+ "github.com/aws/aws-sdk-go-v2/aws"
+ internalauthsmithy "github.com/aws/aws-sdk-go-v2/internal/auth/smithy"
+ "github.com/aws/smithy-go"
+ "github.com/aws/smithy-go/auth"
+)
+
+// S3ExpressCredentialsProvider retrieves credentials for the S3Express storage
+// class.
+type S3ExpressCredentialsProvider interface {
+ Retrieve(ctx context.Context, bucket string) (aws.Credentials, error)
+}
+
+// ExpressIdentityResolver retrieves identity for the S3Express storage class.
+type ExpressIdentityResolver struct {
+ Provider S3ExpressCredentialsProvider
+}
+
+var _ (auth.IdentityResolver) = (*ExpressIdentityResolver)(nil)
+
+// GetIdentity retrieves AWS credentials using the underlying provider.
+func (v *ExpressIdentityResolver) GetIdentity(ctx context.Context, props smithy.Properties) (
+ auth.Identity, error,
+) {
+ bucket, ok := GetIdentityPropertiesBucket(&props)
+ if !ok {
+ bucket = GetBucket(ctx)
+ }
+ if bucket == "" {
+ return nil, fmt.Errorf("bucket name is missing")
+ }
+
+ creds, err := v.Provider.Retrieve(ctx, bucket)
+ if err != nil {
+ return nil, fmt.Errorf("get credentials: %v", err)
+ }
+
+ return &internalauthsmithy.CredentialsAdapter{Credentials: creds}, nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_config.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_config.go
new file mode 100644
index 00000000..bb22d347
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_config.go
@@ -0,0 +1,18 @@
+package customizations
+
+type s3DisableExpressAuthProvider interface {
+ GetS3DisableExpressAuth() (bool, bool)
+}
+
+// ResolveDisableExpressAuth pulls S3DisableExpressAuth setting from config
+// sources.
+func ResolveDisableExpressAuth(configs []interface{}) (value bool, exists bool) {
+ for _, cfg := range configs {
+ if p, ok := cfg.(s3DisableExpressAuthProvider); ok {
+ if value, exists = p.GetS3DisableExpressAuth(); exists {
+ break
+ }
+ }
+ }
+ return
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_default_checksum.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_default_checksum.go
new file mode 100644
index 00000000..cf3ff596
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_default_checksum.go
@@ -0,0 +1,42 @@
+package customizations
+
+import (
+ "context"
+ "fmt"
+
+ ictx "github.com/aws/aws-sdk-go-v2/internal/context"
+ "github.com/aws/aws-sdk-go-v2/service/internal/checksum"
+ "github.com/aws/smithy-go/middleware"
+)
+
+type expressDefaultChecksumMiddleware struct{}
+
+func (*expressDefaultChecksumMiddleware) ID() string {
+ return "expressDefaultChecksum"
+}
+
+func (*expressDefaultChecksumMiddleware) HandleFinalize(
+ ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler,
+) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ if ictx.GetS3Backend(ctx) == ictx.S3BackendS3Express && ictx.GetChecksumInputAlgorithm(ctx) == "" {
+ ctx = ictx.SetChecksumInputAlgorithm(ctx, string(checksum.AlgorithmCRC32))
+ }
+ return next.HandleFinalize(ctx, in)
+}
+
+// AddExpressDefaultChecksumMiddleware appends a step to default to CRC32 for
+// S3Express requests. This should only be applied to operations where a
+// checksum is required (e.g. DeleteObject).
+func AddExpressDefaultChecksumMiddleware(s *middleware.Stack) error {
+ err := s.Finalize.Insert(
+ &expressDefaultChecksumMiddleware{},
+ "AWSChecksum:ComputeInputPayloadChecksum",
+ middleware.Before,
+ )
+ if err != nil {
+ return fmt.Errorf("add expressDefaultChecksum: %v", err)
+ }
+ return nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_properties.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_properties.go
new file mode 100644
index 00000000..171de461
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_properties.go
@@ -0,0 +1,21 @@
+package customizations
+
+import "github.com/aws/smithy-go"
+
+// GetPropertiesBackend returns a resolved endpoint backend from the property
+// set.
+func GetPropertiesBackend(p *smithy.Properties) string {
+ v, _ := p.Get("backend").(string)
+ return v
+}
+
+// GetIdentityPropertiesBucket returns the S3 bucket from identity properties.
+func GetIdentityPropertiesBucket(ip *smithy.Properties) (string, bool) {
+ v, ok := ip.Get(bucketKey{}).(string)
+ return v, ok
+}
+
+// SetIdentityPropertiesBucket sets the S3 bucket to identity properties.
+func SetIdentityPropertiesBucket(ip *smithy.Properties, bucket string) {
+ ip.Set(bucketKey{}, bucket)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_signer.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_signer.go
new file mode 100644
index 00000000..545e5b22
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_signer.go
@@ -0,0 +1,109 @@
+package customizations
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/aws/aws-sdk-go-v2/aws"
+ v4 "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
+ "github.com/aws/smithy-go/middleware"
+)
+
+const (
+ s3ExpressSignerVersion = "com.amazonaws.s3#sigv4express"
+ headerAmzSessionToken = "x-amz-s3session-token"
+)
+
+// adapts a v4 signer for S3Express
+type s3ExpressSignerAdapter struct {
+ v4 v4.HTTPSigner
+}
+
+// SignHTTP performs S3Express signing on a request, which is identical to
+// SigV4 signing save for an additional header containing the S3Express
+// session token.
+func (s *s3ExpressSignerAdapter) SignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time, optFns ...func(*v4.SignerOptions)) error {
+ r.Header.Set(headerAmzSessionToken, credentials.SessionToken)
+ optFns = append(optFns, func(o *v4.SignerOptions) {
+ o.DisableSessionToken = true
+ })
+ return s.v4.SignHTTP(ctx, credentials, r, payloadHash, service, region, signingTime, optFns...)
+}
+
+// adapts S3ExpressCredentialsProvider to the standard AWS
+// CredentialsProvider interface
+type s3ExpressCredentialsAdapter struct {
+ provider S3ExpressCredentialsProvider
+ bucket string
+}
+
+func (c *s3ExpressCredentialsAdapter) Retrieve(ctx context.Context) (aws.Credentials, error) {
+ return c.provider.Retrieve(ctx, c.bucket)
+}
+
+// S3ExpressSignHTTPRequestMiddleware signs S3 S3Express requests.
+//
+// This is NOT mutually exclusive with existing v4 or v4a signer handling on
+// the stack itself, but only one handler will actually perform signing based
+// on the provided signing version in the context.
+type S3ExpressSignHTTPRequestMiddleware struct {
+ Credentials S3ExpressCredentialsProvider
+ Signer v4.HTTPSigner
+ LogSigning bool
+}
+
+// ID identifies S3ExpressSignHTTPRequestMiddleware.
+func (*S3ExpressSignHTTPRequestMiddleware) ID() string {
+ return "S3ExpressSigning"
+}
+
+// HandleFinalize will sign the request if the S3Express signer has been
+// selected.
+func (m *S3ExpressSignHTTPRequestMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ if GetSignerVersion(ctx) != s3ExpressSignerVersion {
+ return next.HandleFinalize(ctx, in)
+ }
+
+ mw := v4.NewSignHTTPRequestMiddleware(v4.SignHTTPRequestMiddlewareOptions{
+ CredentialsProvider: m.credentialsAdapter(ctx),
+ Signer: m.signerAdapter(),
+ LogSigning: m.LogSigning,
+ })
+ return mw.HandleFinalize(ctx, in, next)
+}
+
+func (m *S3ExpressSignHTTPRequestMiddleware) credentialsAdapter(ctx context.Context) aws.CredentialsProvider {
+ return &s3ExpressCredentialsAdapter{
+ provider: m.Credentials,
+ bucket: GetBucket(ctx),
+ }
+}
+
+func (m *S3ExpressSignHTTPRequestMiddleware) signerAdapter() v4.HTTPSigner {
+ return &s3ExpressSignerAdapter{v4: m.Signer}
+}
+
+type s3ExpressPresignerAdapter struct {
+ v4 v4.HTTPPresigner
+}
+
+// SignHTTP performs S3Express signing on a request, which is identical to
+// SigV4 signing save for an additional header containing the S3Express
+// session token.
+func (s *s3ExpressPresignerAdapter) PresignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time, optFns ...func(*v4.SignerOptions)) (
+ string, http.Header, error,
+) {
+ r.Header.Set(headerAmzSessionToken, credentials.SessionToken)
+ optFns = append(optFns, func(o *v4.SignerOptions) {
+ o.DisableSessionToken = true
+ })
+ return s.v4.PresignHTTP(ctx, credentials, r, payloadHash, service, region, signingTime, optFns...)
+}
+
+var (
+ _ aws.CredentialsProvider = &s3ExpressCredentialsAdapter{}
+ _ v4.HTTPSigner = &s3ExpressSignerAdapter{}
+)
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_signer_smithy.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_signer_smithy.go
new file mode 100644
index 00000000..e3ec7f01
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/express_signer_smithy.go
@@ -0,0 +1,61 @@
+package customizations
+
+import (
+ "context"
+ "fmt"
+
+ v4 "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
+ internalauthsmithy "github.com/aws/aws-sdk-go-v2/internal/auth/smithy"
+ "github.com/aws/aws-sdk-go-v2/internal/sdk"
+ "github.com/aws/smithy-go"
+ "github.com/aws/smithy-go/auth"
+ "github.com/aws/smithy-go/logging"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+)
+
+// ExpressSigner signs requests for the sigv4-s3express auth scheme.
+//
+// This signer respects the aws.auth#sigv4 properties for signing name and
+// region.
+type ExpressSigner struct {
+ Signer v4.HTTPSigner
+ Logger logging.Logger
+ LogSigning bool
+}
+
+var _ (smithyhttp.Signer) = (*ExpressSigner)(nil)
+
+// SignRequest signs the request with the provided identity.
+func (v *ExpressSigner) SignRequest(ctx context.Context, r *smithyhttp.Request, identity auth.Identity, props smithy.Properties) error {
+ ca, ok := identity.(*internalauthsmithy.CredentialsAdapter)
+ if !ok {
+ return fmt.Errorf("unexpected identity type: %T", identity)
+ }
+
+ name, ok := smithyhttp.GetSigV4SigningName(&props)
+ if !ok {
+ return fmt.Errorf("sigv4 signing name is required for s3express variant")
+ }
+
+ region, ok := smithyhttp.GetSigV4SigningRegion(&props)
+ if !ok {
+ return fmt.Errorf("sigv4 signing region is required for s3express variant")
+ }
+
+ hash := v4.GetPayloadHash(ctx)
+
+ r.Header.Set(headerAmzSessionToken, ca.Credentials.SessionToken)
+ err := v.Signer.SignHTTP(ctx, ca.Credentials, r.Request, hash, name, region, sdk.NowTime(), func(o *v4.SignerOptions) {
+ o.DisableSessionToken = true
+
+ o.DisableURIPathEscaping, _ = smithyhttp.GetDisableDoubleEncoding(&props)
+
+ o.Logger = v.Logger
+ o.LogSigning = v.LogSigning
+ })
+ if err != nil {
+ return fmt.Errorf("sign http: %v", err)
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/signer_wrapper.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/signer_wrapper.go
index 4408f3e8..cc2bf9c1 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/signer_wrapper.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations/signer_wrapper.go
@@ -77,15 +77,21 @@ func (s *SignHTTPRequestMiddleware) ID() string {
return "Signing"
}
-// HandleFinalize will take the provided input and sign the request using the SigV4 authentication scheme
+// HandleFinalize will take the provided input and handle signing for either
+// SigV4 or SigV4A as called for.
func (s *SignHTTPRequestMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
) {
- // fetch signer type from context
- signerVersion := GetSignerVersion(ctx)
+ sv := GetSignerVersion(ctx)
- // SigV4a
- if strings.EqualFold(signerVersion, v4a.Version) {
+ if strings.EqualFold(sv, v4.Version) {
+ mw := v4.NewSignHTTPRequestMiddleware(v4.SignHTTPRequestMiddlewareOptions{
+ CredentialsProvider: s.credentialsProvider,
+ Signer: s.v4Signer,
+ LogSigning: s.logSigning,
+ })
+ return mw.HandleFinalize(ctx, in, next)
+ } else if strings.EqualFold(sv, v4a.Version) {
v4aCredentialProvider, ok := s.credentialsProvider.(v4a.CredentialsProvider)
if !ok {
return out, metadata, fmt.Errorf("invalid credential-provider provided for sigV4a Signer")
@@ -98,13 +104,8 @@ func (s *SignHTTPRequestMiddleware) HandleFinalize(ctx context.Context, in middl
})
return mw.HandleFinalize(ctx, in, next)
}
- // SigV4
- mw := v4.NewSignHTTPRequestMiddleware(v4.SignHTTPRequestMiddlewareOptions{
- CredentialsProvider: s.credentialsProvider,
- Signer: s.v4Signer,
- LogSigning: s.logSigning,
- })
- return mw.HandleFinalize(ctx, in, next)
+
+ return next.HandleFinalize(ctx, in)
}
// RegisterSigningMiddleware registers the wrapper signing middleware to the stack. If a signing middleware is already
@@ -124,6 +125,7 @@ func RegisterSigningMiddleware(stack *middleware.Stack, signingMiddleware *SignH
// PresignHTTPRequestMiddlewareOptions is the options for the PresignHTTPRequestMiddleware middleware.
type PresignHTTPRequestMiddlewareOptions struct {
CredentialsProvider aws.CredentialsProvider
+ ExpressCredentials S3ExpressCredentialsProvider
V4Presigner v4.HTTPPresigner
V4aPresigner v4a.HTTPPresigner
LogSigning bool
@@ -139,6 +141,9 @@ type PresignHTTPRequestMiddleware struct {
// cred provider and signer for sigv4
credentialsProvider aws.CredentialsProvider
+ // s3Express credentials
+ expressCredentials S3ExpressCredentialsProvider
+
// sigV4 signer
v4Signer v4.HTTPPresigner
@@ -153,6 +158,7 @@ type PresignHTTPRequestMiddleware struct {
func NewPresignHTTPRequestMiddleware(options PresignHTTPRequestMiddlewareOptions) *PresignHTTPRequestMiddleware {
return &PresignHTTPRequestMiddleware{
credentialsProvider: options.CredentialsProvider,
+ expressCredentials: options.ExpressCredentials,
v4Signer: options.V4Presigner,
v4aSigner: options.V4aPresigner,
logSigning: options.LogSigning,
@@ -175,7 +181,7 @@ func (p *PresignHTTPRequestMiddleware) HandleFinalize(
signerVersion := GetSignerVersion(ctx)
switch signerVersion {
- case v4a.Version:
+ case "aws.auth#sigv4a":
v4aCredentialProvider, ok := p.credentialsProvider.(v4a.CredentialsProvider)
if !ok {
return out, metadata, fmt.Errorf("invalid credential-provider provided for sigV4a Signer")
@@ -187,14 +193,25 @@ func (p *PresignHTTPRequestMiddleware) HandleFinalize(
LogSigning: p.logSigning,
})
return mw.HandleFinalize(ctx, in, next)
-
- default:
+ case "aws.auth#sigv4":
mw := v4.NewPresignHTTPRequestMiddleware(v4.PresignHTTPRequestMiddlewareOptions{
CredentialsProvider: p.credentialsProvider,
Presigner: p.v4Signer,
LogSigning: p.logSigning,
})
return mw.HandleFinalize(ctx, in, next)
+ case s3ExpressSignerVersion:
+ mw := v4.NewPresignHTTPRequestMiddleware(v4.PresignHTTPRequestMiddlewareOptions{
+ CredentialsProvider: &s3ExpressCredentialsAdapter{
+ provider: p.expressCredentials,
+ bucket: GetBucket(ctx),
+ },
+ Presigner: &s3ExpressPresignerAdapter{v4: p.v4Signer},
+ LogSigning: p.logSigning,
+ })
+ return mw.HandleFinalize(ctx, in, next)
+ default:
+ return out, metadata, fmt.Errorf("unsupported signer type \"%s\"", signerVersion)
}
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/endpoints/endpoints.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/endpoints/endpoints.go
index c7e5f6d2..f3e6b075 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/endpoints/endpoints.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/internal/endpoints/endpoints.go
@@ -282,6 +282,27 @@ var defaultPartitions = endpoints.Partitions{
}: {
Hostname: "s3.dualstack.ca-central-1.amazonaws.com",
},
+ endpoints.EndpointKey{
+ Region: "ca-west-1",
+ }: endpoints.Endpoint{},
+ endpoints.EndpointKey{
+ Region: "ca-west-1",
+ Variant: endpoints.FIPSVariant,
+ }: {
+ Hostname: "s3-fips.ca-west-1.amazonaws.com",
+ },
+ endpoints.EndpointKey{
+ Region: "ca-west-1",
+ Variant: endpoints.FIPSVariant | endpoints.DualStackVariant,
+ }: {
+ Hostname: "s3-fips.dualstack.ca-west-1.amazonaws.com",
+ },
+ endpoints.EndpointKey{
+ Region: "ca-west-1",
+ Variant: endpoints.DualStackVariant,
+ }: {
+ Hostname: "s3.dualstack.ca-west-1.amazonaws.com",
+ },
endpoints.EndpointKey{
Region: "eu-central-1",
}: endpoints.Endpoint{},
@@ -367,6 +388,15 @@ var defaultPartitions = endpoints.Partitions{
},
Deprecated: aws.TrueTernary,
},
+ endpoints.EndpointKey{
+ Region: "fips-ca-west-1",
+ }: endpoints.Endpoint{
+ Hostname: "s3-fips.ca-west-1.amazonaws.com",
+ CredentialScope: endpoints.CredentialScope{
+ Region: "ca-west-1",
+ },
+ Deprecated: aws.TrueTernary,
+ },
endpoints.EndpointKey{
Region: "fips-us-east-1",
}: endpoints.Endpoint{
@@ -632,15 +662,61 @@ var defaultPartitions = endpoints.Partitions{
RegionRegex: partitionRegexp.AwsIso,
IsRegionalized: true,
Endpoints: endpoints.Endpoints{
+ endpoints.EndpointKey{
+ Region: "fips-us-iso-east-1",
+ }: endpoints.Endpoint{
+ Hostname: "s3-fips.us-iso-east-1.c2s.ic.gov",
+ CredentialScope: endpoints.CredentialScope{
+ Region: "us-iso-east-1",
+ },
+ Deprecated: aws.TrueTernary,
+ },
+ endpoints.EndpointKey{
+ Region: "fips-us-iso-west-1",
+ }: endpoints.Endpoint{
+ Hostname: "s3-fips.us-iso-west-1.c2s.ic.gov",
+ CredentialScope: endpoints.CredentialScope{
+ Region: "us-iso-west-1",
+ },
+ Deprecated: aws.TrueTernary,
+ },
endpoints.EndpointKey{
Region: "us-iso-east-1",
}: endpoints.Endpoint{
Protocols: []string{"http", "https"},
SignatureVersions: []string{"s3v4"},
},
+ endpoints.EndpointKey{
+ Region: "us-iso-east-1",
+ Variant: endpoints.FIPSVariant | endpoints.DualStackVariant,
+ }: {
+ Hostname: "s3-fips.dualstack.us-iso-east-1.c2s.ic.gov",
+ Protocols: []string{"http", "https"},
+ SignatureVersions: []string{"s3v4"},
+ },
+ endpoints.EndpointKey{
+ Region: "us-iso-east-1",
+ Variant: endpoints.FIPSVariant,
+ }: {
+ Hostname: "s3-fips.us-iso-east-1.c2s.ic.gov",
+ Protocols: []string{"http", "https"},
+ SignatureVersions: []string{"s3v4"},
+ },
endpoints.EndpointKey{
Region: "us-iso-west-1",
}: endpoints.Endpoint{},
+ endpoints.EndpointKey{
+ Region: "us-iso-west-1",
+ Variant: endpoints.FIPSVariant | endpoints.DualStackVariant,
+ }: {
+ Hostname: "s3-fips.dualstack.us-iso-west-1.c2s.ic.gov",
+ },
+ endpoints.EndpointKey{
+ Region: "us-iso-west-1",
+ Variant: endpoints.FIPSVariant,
+ }: {
+ Hostname: "s3-fips.us-iso-west-1.c2s.ic.gov",
+ },
},
},
{
@@ -664,9 +740,30 @@ var defaultPartitions = endpoints.Partitions{
RegionRegex: partitionRegexp.AwsIsoB,
IsRegionalized: true,
Endpoints: endpoints.Endpoints{
+ endpoints.EndpointKey{
+ Region: "fips-us-isob-east-1",
+ }: endpoints.Endpoint{
+ Hostname: "s3-fips.us-isob-east-1.sc2s.sgov.gov",
+ CredentialScope: endpoints.CredentialScope{
+ Region: "us-isob-east-1",
+ },
+ Deprecated: aws.TrueTernary,
+ },
endpoints.EndpointKey{
Region: "us-isob-east-1",
}: endpoints.Endpoint{},
+ endpoints.EndpointKey{
+ Region: "us-isob-east-1",
+ Variant: endpoints.FIPSVariant | endpoints.DualStackVariant,
+ }: {
+ Hostname: "s3-fips.dualstack.us-isob-east-1.sc2s.sgov.gov",
+ },
+ endpoints.EndpointKey{
+ Region: "us-isob-east-1",
+ Variant: endpoints.FIPSVariant,
+ }: {
+ Hostname: "s3-fips.us-isob-east-1.sc2s.sgov.gov",
+ },
},
},
{
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/options.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/options.go
new file mode 100644
index 00000000..064bcefb
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/options.go
@@ -0,0 +1,314 @@
+// Code generated by smithy-go-codegen DO NOT EDIT.
+
+package s3
+
+import (
+ "context"
+ "fmt"
+ "github.com/aws/aws-sdk-go-v2/aws"
+ awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
+ internalauthsmithy "github.com/aws/aws-sdk-go-v2/internal/auth/smithy"
+ "github.com/aws/aws-sdk-go-v2/internal/v4a"
+ s3cust "github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations"
+ smithyauth "github.com/aws/smithy-go/auth"
+ "github.com/aws/smithy-go/logging"
+ "github.com/aws/smithy-go/middleware"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+ "net/http"
+)
+
+type HTTPClient interface {
+ Do(*http.Request) (*http.Response, error)
+}
+
+type Options struct {
+ // Set of options to modify how an operation is invoked. These apply to all
+ // operations invoked for this client. Use functional options on operation call to
+ // modify this list for per operation behavior.
+ APIOptions []func(*middleware.Stack) error
+
+ // The optional application specific identifier appended to the User-Agent header.
+ AppID string
+
+ // This endpoint will be given as input to an EndpointResolverV2. It is used for
+ // providing a custom base endpoint that is subject to modifications by the
+ // processing EndpointResolverV2.
+ BaseEndpoint *string
+
+ // Configures the events that will be sent to the configured logger.
+ ClientLogMode aws.ClientLogMode
+
+ // The threshold ContentLength in bytes for HTTP PUT request to receive {Expect:
+ // 100-continue} header. Setting to -1 will disable adding the Expect header to
+ // requests; setting to 0 will set the threshold to default 2MB
+ ContinueHeaderThresholdBytes int64
+
+ // The credentials object to use when signing requests.
+ Credentials aws.CredentialsProvider
+
+ // The configuration DefaultsMode that the SDK should use when constructing the
+ // clients initial default settings.
+ DefaultsMode aws.DefaultsMode
+
+ // Allows you to disable S3 Multi-Region access points feature.
+ DisableMultiRegionAccessPoints bool
+
+ // Disables this client's usage of Session Auth for S3Express buckets and reverts
+ // to using conventional SigV4 for those.
+ DisableS3ExpressSessionAuth *bool
+
+ // The endpoint options to be used when attempting to resolve an endpoint.
+ EndpointOptions EndpointResolverOptions
+
+ // The service endpoint resolver.
+ //
+ // Deprecated: Deprecated: EndpointResolver and WithEndpointResolver. Providing a
+ // value for this field will likely prevent you from using any endpoint-related
+ // service features released after the introduction of EndpointResolverV2 and
+ // BaseEndpoint. To migrate an EndpointResolver implementation that uses a custom
+ // endpoint, set the client option BaseEndpoint instead.
+ EndpointResolver EndpointResolver
+
+ // Resolves the endpoint used for a particular service operation. This should be
+ // used over the deprecated EndpointResolver.
+ EndpointResolverV2 EndpointResolverV2
+
+ // The credentials provider for S3Express requests.
+ ExpressCredentials ExpressCredentialsProvider
+
+ // Signature Version 4 (SigV4) Signer
+ HTTPSignerV4 HTTPSignerV4
+
+ // The logger writer interface to write logging messages to.
+ Logger logging.Logger
+
+ // The region to send requests to. (Required)
+ Region string
+
+ // RetryMaxAttempts specifies the maximum number attempts an API client will call
+ // an operation that fails with a retryable error. A value of 0 is ignored, and
+ // will not be used to configure the API client created default retryer, or modify
+ // per operation call's retry max attempts. If specified in an operation call's
+ // functional options with a value that is different than the constructed client's
+ // Options, the Client's Retryer will be wrapped to use the operation's specific
+ // RetryMaxAttempts value.
+ RetryMaxAttempts int
+
+ // RetryMode specifies the retry mode the API client will be created with, if
+ // Retryer option is not also specified. When creating a new API Clients this
+ // member will only be used if the Retryer Options member is nil. This value will
+ // be ignored if Retryer is not nil. Currently does not support per operation call
+ // overrides, may in the future.
+ RetryMode aws.RetryMode
+
+ // Retryer guides how HTTP requests should be retried in case of recoverable
+ // failures. When nil the API client will use a default retryer. The kind of
+ // default retry created by the API client can be changed with the RetryMode
+ // option.
+ Retryer aws.Retryer
+
+ // The RuntimeEnvironment configuration, only populated if the DefaultsMode is set
+ // to DefaultsModeAuto and is initialized using config.LoadDefaultConfig . You
+ // should not populate this structure programmatically, or rely on the values here
+ // within your applications.
+ RuntimeEnvironment aws.RuntimeEnvironment
+
+ // Allows you to enable arn region support for the service.
+ UseARNRegion bool
+
+ // Allows you to enable S3 Accelerate feature. All operations compatible with S3
+ // Accelerate will use the accelerate endpoint for requests. Requests not
+ // compatible will fall back to normal S3 requests. The bucket must be enabled for
+ // accelerate to be used with S3 client with accelerate enabled. If the bucket is
+ // not enabled for accelerate an error will be returned. The bucket name must be
+ // DNS compatible to work with accelerate.
+ UseAccelerate bool
+
+ // Allows you to enable dual-stack endpoint support for the service.
+ //
+ // Deprecated: Set dual-stack by setting UseDualStackEndpoint on
+ // EndpointResolverOptions. When EndpointResolverOptions' UseDualStackEndpoint
+ // field is set it overrides this field value.
+ UseDualstack bool
+
+ // Allows you to enable the client to use path-style addressing, i.e.,
+ // https://s3.amazonaws.com/BUCKET/KEY . By default, the S3 client will use virtual
+ // hosted bucket addressing when possible( https://BUCKET.s3.amazonaws.com/KEY ).
+ UsePathStyle bool
+
+ // Signature Version 4a (SigV4a) Signer
+ httpSignerV4a httpSignerV4a
+
+ // The initial DefaultsMode used when the client options were constructed. If the
+ // DefaultsMode was set to aws.DefaultsModeAuto this will store what the resolved
+ // value was at that point in time. Currently does not support per operation call
+ // overrides, may in the future.
+ resolvedDefaultsMode aws.DefaultsMode
+
+ // The HTTP client to invoke API calls with. Defaults to client's default HTTP
+ // implementation if nil.
+ HTTPClient HTTPClient
+
+ // The auth scheme resolver which determines how to authenticate for each
+ // operation.
+ AuthSchemeResolver AuthSchemeResolver
+
+ // The list of auth schemes supported by the client.
+ AuthSchemes []smithyhttp.AuthScheme
+}
+
+// Copy creates a clone where the APIOptions list is deep copied.
+func (o Options) Copy() Options {
+ to := o
+ to.APIOptions = make([]func(*middleware.Stack) error, len(o.APIOptions))
+ copy(to.APIOptions, o.APIOptions)
+
+ return to
+}
+
+func (o Options) GetIdentityResolver(schemeID string) smithyauth.IdentityResolver {
+ if schemeID == "aws.auth#sigv4" {
+ return getSigV4IdentityResolver(o)
+ }
+ if schemeID == "com.amazonaws.s3#sigv4express" {
+ return getExpressIdentityResolver(o)
+ }
+ if schemeID == "aws.auth#sigv4a" {
+ return getSigV4AIdentityResolver(o)
+ }
+ if schemeID == "smithy.api#noAuth" {
+ return &smithyauth.AnonymousIdentityResolver{}
+ }
+ return nil
+}
+
+// WithAPIOptions returns a functional option for setting the Client's APIOptions
+// option.
+func WithAPIOptions(optFns ...func(*middleware.Stack) error) func(*Options) {
+ return func(o *Options) {
+ o.APIOptions = append(o.APIOptions, optFns...)
+ }
+}
+
+// Deprecated: EndpointResolver and WithEndpointResolver. Providing a value for
+// this field will likely prevent you from using any endpoint-related service
+// features released after the introduction of EndpointResolverV2 and BaseEndpoint.
+// To migrate an EndpointResolver implementation that uses a custom endpoint, set
+// the client option BaseEndpoint instead.
+func WithEndpointResolver(v EndpointResolver) func(*Options) {
+ return func(o *Options) {
+ o.EndpointResolver = v
+ }
+}
+
+// WithEndpointResolverV2 returns a functional option for setting the Client's
+// EndpointResolverV2 option.
+func WithEndpointResolverV2(v EndpointResolverV2) func(*Options) {
+ return func(o *Options) {
+ o.EndpointResolverV2 = v
+ }
+}
+
+func getSigV4IdentityResolver(o Options) smithyauth.IdentityResolver {
+ if o.Credentials != nil {
+ return &internalauthsmithy.CredentialsProviderAdapter{Provider: o.Credentials}
+ }
+ return nil
+}
+
+// WithSigV4SigningName applies an override to the authentication workflow to
+// use the given signing name for SigV4-authenticated operations.
+//
+// This is an advanced setting. The value here is FINAL, taking precedence over
+// the resolved signing name from both auth scheme resolution and endpoint
+// resolution.
+func WithSigV4SigningName(name string) func(*Options) {
+ fn := func(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
+ out middleware.InitializeOutput, metadata middleware.Metadata, err error,
+ ) {
+ return next.HandleInitialize(awsmiddleware.SetSigningName(ctx, name), in)
+ }
+ return func(o *Options) {
+ o.APIOptions = append(o.APIOptions, func(s *middleware.Stack) error {
+ return s.Initialize.Add(
+ middleware.InitializeMiddlewareFunc("withSigV4SigningName", fn),
+ middleware.Before,
+ )
+ })
+ }
+}
+
+// WithSigV4SigningRegion applies an override to the authentication workflow to
+// use the given signing region for SigV4-authenticated operations.
+//
+// This is an advanced setting. The value here is FINAL, taking precedence over
+// the resolved signing region from both auth scheme resolution and endpoint
+// resolution.
+func WithSigV4SigningRegion(region string) func(*Options) {
+ fn := func(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
+ out middleware.InitializeOutput, metadata middleware.Metadata, err error,
+ ) {
+ return next.HandleInitialize(awsmiddleware.SetSigningRegion(ctx, region), in)
+ }
+ return func(o *Options) {
+ o.APIOptions = append(o.APIOptions, func(s *middleware.Stack) error {
+ return s.Initialize.Add(
+ middleware.InitializeMiddlewareFunc("withSigV4SigningRegion", fn),
+ middleware.Before,
+ )
+ })
+ }
+}
+
+func getSigV4AIdentityResolver(o Options) smithyauth.IdentityResolver {
+ if o.Credentials != nil {
+ return &v4a.CredentialsProviderAdapter{
+ Provider: &v4a.SymmetricCredentialAdaptor{
+ SymmetricProvider: o.Credentials,
+ },
+ }
+ }
+ return nil
+}
+
+// WithSigV4ASigningRegions applies an override to the authentication workflow to
+// use the given signing region set for SigV4A-authenticated operations.
+//
+// This is an advanced setting. The value here is FINAL, taking precedence over
+// the resolved signing region set from both auth scheme resolution and endpoint
+// resolution.
+func WithSigV4ASigningRegions(regions []string) func(*Options) {
+ fn := func(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+ ) {
+ rscheme := getResolvedAuthScheme(ctx)
+ if rscheme == nil {
+ return out, metadata, fmt.Errorf("no resolved auth scheme")
+ }
+
+ smithyhttp.SetSigV4ASigningRegions(&rscheme.SignerProperties, regions)
+ return next.HandleFinalize(ctx, in)
+ }
+ return func(o *Options) {
+ o.APIOptions = append(o.APIOptions, func(s *middleware.Stack) error {
+ return s.Finalize.Insert(
+ middleware.FinalizeMiddlewareFunc("withSigV4ASigningRegions", fn),
+ "Signing",
+ middleware.Before,
+ )
+ })
+ }
+}
+
+func ignoreAnonymousAuth(options *Options) {
+ if aws.IsCredentialsProvider(options.Credentials, (*aws.AnonymousCredentials)(nil)) {
+ options.Credentials = nil
+ }
+}
+
+func getExpressIdentityResolver(o Options) smithyauth.IdentityResolver {
+ if o.ExpressCredentials != nil {
+ return &s3cust.ExpressIdentityResolver{Provider: o.ExpressCredentials}
+ }
+ return nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serialize_immutable_hostname_bucket.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serialize_immutable_hostname_bucket.go
index cb22779f..4e34d1a2 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serialize_immutable_hostname_bucket.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serialize_immutable_hostname_bucket.go
@@ -3,9 +3,10 @@ package s3
import (
"context"
"fmt"
- awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"path"
+ awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
+
"github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn"
smithy "github.com/aws/smithy-go"
"github.com/aws/smithy-go/encoding/httpbinding"
@@ -38,16 +39,20 @@ func (m *serializeImmutableHostnameBucketMiddleware) HandleSerialize(
if !ok {
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
}
- if !smithyhttp.GetHostnameImmutable(ctx) &&
- !(awsmiddleware.GetRequiresLegacyEndpoints(ctx) && m.UsePathStyle) {
- return next.HandleSerialize(ctx, in)
- }
bucket, ok := bucketFromInput(in.Parameters)
if !ok {
return next.HandleSerialize(ctx, in)
}
+ // a bucket being un-vhostable will also force us to use path style
+ usePathStyle := m.UsePathStyle || !awsrulesfn.IsVirtualHostableS3Bucket(bucket, request.URL.Scheme != "https")
+
+ if !smithyhttp.GetHostnameImmutable(ctx) &&
+ !(awsmiddleware.GetRequiresLegacyEndpoints(ctx) && usePathStyle) {
+ return next.HandleSerialize(ctx, in)
+ }
+
parsedBucket := awsrulesfn.ParseARN(bucket)
// disallow ARN buckets except for MRAP arns
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go
index 463f6b70..59524bdc 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go
@@ -293,9 +293,9 @@ func awsRestxml_serializeOpHttpBindingsCopyObjectInput(v *CopyObjectInput, encod
encoder.SetHeader(locationName).String(string(v.ACL))
}
- if v.BucketKeyEnabled {
+ if v.BucketKeyEnabled != nil {
locationName := "X-Amz-Server-Side-Encryption-Bucket-Key-Enabled"
- encoder.SetHeader(locationName).Boolean(v.BucketKeyEnabled)
+ encoder.SetHeader(locationName).Boolean(*v.BucketKeyEnabled)
}
if v.CacheControl != nil && len(*v.CacheControl) > 0 {
@@ -606,9 +606,9 @@ func awsRestxml_serializeOpHttpBindingsCreateBucketInput(v *CreateBucketInput, e
encoder.SetHeader(locationName).String(*v.GrantWriteACP)
}
- if v.ObjectLockEnabledForBucket {
+ if v.ObjectLockEnabledForBucket != nil {
locationName := "X-Amz-Bucket-Object-Lock-Enabled"
- encoder.SetHeader(locationName).Boolean(v.ObjectLockEnabledForBucket)
+ encoder.SetHeader(locationName).Boolean(*v.ObjectLockEnabledForBucket)
}
if len(v.ObjectOwnership) > 0 {
@@ -677,9 +677,9 @@ func awsRestxml_serializeOpHttpBindingsCreateMultipartUploadInput(v *CreateMulti
encoder.SetHeader(locationName).String(string(v.ACL))
}
- if v.BucketKeyEnabled {
+ if v.BucketKeyEnabled != nil {
locationName := "X-Amz-Server-Side-Encryption-Bucket-Key-Enabled"
- encoder.SetHeader(locationName).Boolean(v.BucketKeyEnabled)
+ encoder.SetHeader(locationName).Boolean(*v.BucketKeyEnabled)
}
if v.CacheControl != nil && len(*v.CacheControl) > 0 {
@@ -828,6 +828,67 @@ func awsRestxml_serializeOpHttpBindingsCreateMultipartUploadInput(v *CreateMulti
return nil
}
+type awsRestxml_serializeOpCreateSession struct {
+}
+
+func (*awsRestxml_serializeOpCreateSession) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpCreateSession) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*CreateSessionInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?session")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsCreateSessionInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsCreateSessionInput(v *CreateSessionInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.SessionMode) > 0 {
+ locationName := "X-Amz-Create-Session-Mode"
+ encoder.SetHeader(locationName).String(string(v.SessionMode))
+ }
+
+ return nil
+}
+
type awsRestxml_serializeOpDeleteBucket struct {
}
@@ -1685,9 +1746,9 @@ func awsRestxml_serializeOpHttpBindingsDeleteObjectInput(v *DeleteObjectInput, e
return fmt.Errorf("unsupported serialization of nil %T", v)
}
- if v.BypassGovernanceRetention {
+ if v.BypassGovernanceRetention != nil {
locationName := "X-Amz-Bypass-Governance-Retention"
- encoder.SetHeader(locationName).Boolean(v.BypassGovernanceRetention)
+ encoder.SetHeader(locationName).Boolean(*v.BypassGovernanceRetention)
}
if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
@@ -1798,9 +1859,9 @@ func awsRestxml_serializeOpHttpBindingsDeleteObjectsInput(v *DeleteObjectsInput,
return fmt.Errorf("unsupported serialization of nil %T", v)
}
- if v.BypassGovernanceRetention {
+ if v.BypassGovernanceRetention != nil {
locationName := "X-Amz-Bypass-Governance-Retention"
- encoder.SetHeader(locationName).Boolean(v.BypassGovernanceRetention)
+ encoder.SetHeader(locationName).Boolean(*v.BypassGovernanceRetention)
}
if len(v.ChecksumAlgorithm) > 0 {
@@ -3289,8 +3350,8 @@ func awsRestxml_serializeOpHttpBindingsGetObjectInput(v *GetObjectInput, encoder
}
}
- if v.PartNumber != 0 {
- encoder.SetQuery("partNumber").Integer(v.PartNumber)
+ if v.PartNumber != nil {
+ encoder.SetQuery("partNumber").Integer(*v.PartNumber)
}
if v.Range != nil && len(*v.Range) > 0 {
@@ -3495,9 +3556,9 @@ func awsRestxml_serializeOpHttpBindingsGetObjectAttributesInput(v *GetObjectAttr
}
}
- if v.MaxParts != 0 {
+ if v.MaxParts != nil {
locationName := "X-Amz-Max-Parts"
- encoder.SetHeader(locationName).Integer(v.MaxParts)
+ encoder.SetHeader(locationName).Integer(*v.MaxParts)
}
if v.ObjectAttributes != nil {
@@ -4133,8 +4194,8 @@ func awsRestxml_serializeOpHttpBindingsHeadObjectInput(v *HeadObjectInput, encod
}
}
- if v.PartNumber != 0 {
- encoder.SetQuery("partNumber").Integer(v.PartNumber)
+ if v.PartNumber != nil {
+ encoder.SetQuery("partNumber").Integer(*v.PartNumber)
}
if v.Range != nil && len(*v.Range) > 0 {
@@ -4445,7 +4506,7 @@ func (m *awsRestxml_serializeOpListBuckets) HandleSerialize(ctx context.Context,
return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
}
- opPath, opQuery := httpbinding.SplitURI("/")
+ opPath, opQuery := httpbinding.SplitURI("/?x-id=ListBuckets")
request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
request.Method = "GET"
@@ -4476,6 +4537,70 @@ func awsRestxml_serializeOpHttpBindingsListBucketsInput(v *ListBucketsInput, enc
return nil
}
+type awsRestxml_serializeOpListDirectoryBuckets struct {
+}
+
+func (*awsRestxml_serializeOpListDirectoryBuckets) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpListDirectoryBuckets) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*ListDirectoryBucketsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?x-id=ListDirectoryBuckets")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsListDirectoryBucketsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsListDirectoryBucketsInput(v *ListDirectoryBucketsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ContinuationToken != nil {
+ encoder.SetQuery("continuation-token").String(*v.ContinuationToken)
+ }
+
+ if v.MaxDirectoryBuckets != nil {
+ encoder.SetQuery("max-directory-buckets").Integer(*v.MaxDirectoryBuckets)
+ }
+
+ return nil
+}
+
type awsRestxml_serializeOpListMultipartUploads struct {
}
@@ -4546,8 +4671,8 @@ func awsRestxml_serializeOpHttpBindingsListMultipartUploadsInput(v *ListMultipar
encoder.SetQuery("key-marker").String(*v.KeyMarker)
}
- if v.MaxUploads != 0 {
- encoder.SetQuery("max-uploads").Integer(v.MaxUploads)
+ if v.MaxUploads != nil {
+ encoder.SetQuery("max-uploads").Integer(*v.MaxUploads)
}
if v.Prefix != nil {
@@ -4636,8 +4761,8 @@ func awsRestxml_serializeOpHttpBindingsListObjectsInput(v *ListObjectsInput, enc
encoder.SetQuery("marker").String(*v.Marker)
}
- if v.MaxKeys != 0 {
- encoder.SetQuery("max-keys").Integer(v.MaxKeys)
+ if v.MaxKeys != nil {
+ encoder.SetQuery("max-keys").Integer(*v.MaxKeys)
}
if v.OptionalObjectAttributes != nil {
@@ -4736,12 +4861,12 @@ func awsRestxml_serializeOpHttpBindingsListObjectsV2Input(v *ListObjectsV2Input,
encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
}
- if v.FetchOwner {
- encoder.SetQuery("fetch-owner").Boolean(v.FetchOwner)
+ if v.FetchOwner != nil {
+ encoder.SetQuery("fetch-owner").Boolean(*v.FetchOwner)
}
- if v.MaxKeys != 0 {
- encoder.SetQuery("max-keys").Integer(v.MaxKeys)
+ if v.MaxKeys != nil {
+ encoder.SetQuery("max-keys").Integer(*v.MaxKeys)
}
if v.OptionalObjectAttributes != nil {
@@ -4844,8 +4969,8 @@ func awsRestxml_serializeOpHttpBindingsListObjectVersionsInput(v *ListObjectVers
encoder.SetQuery("key-marker").String(*v.KeyMarker)
}
- if v.MaxKeys != 0 {
- encoder.SetQuery("max-keys").Integer(v.MaxKeys)
+ if v.MaxKeys != nil {
+ encoder.SetQuery("max-keys").Integer(*v.MaxKeys)
}
if v.OptionalObjectAttributes != nil {
@@ -4945,8 +5070,8 @@ func awsRestxml_serializeOpHttpBindingsListPartsInput(v *ListPartsInput, encoder
}
}
- if v.MaxParts != 0 {
- encoder.SetQuery("max-parts").Integer(v.MaxParts)
+ if v.MaxParts != nil {
+ encoder.SetQuery("max-parts").Integer(*v.MaxParts)
}
if v.PartNumberMarker != nil {
@@ -6003,9 +6128,9 @@ func awsRestxml_serializeOpHttpBindingsPutBucketNotificationConfigurationInput(v
encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
}
- if v.SkipDestinationValidation {
+ if v.SkipDestinationValidation != nil {
locationName := "X-Amz-Skip-Destination-Validation"
- encoder.SetHeader(locationName).Boolean(v.SkipDestinationValidation)
+ encoder.SetHeader(locationName).Boolean(*v.SkipDestinationValidation)
}
return nil
@@ -6171,9 +6296,9 @@ func awsRestxml_serializeOpHttpBindingsPutBucketPolicyInput(v *PutBucketPolicyIn
encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
}
- if v.ConfirmRemoveSelfBucketAccess {
+ if v.ConfirmRemoveSelfBucketAccess != nil {
locationName := "X-Amz-Confirm-Remove-Self-Bucket-Access"
- encoder.SetHeader(locationName).Boolean(v.ConfirmRemoveSelfBucketAccess)
+ encoder.SetHeader(locationName).Boolean(*v.ConfirmRemoveSelfBucketAccess)
}
if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
@@ -6744,9 +6869,9 @@ func awsRestxml_serializeOpHttpBindingsPutObjectInput(v *PutObjectInput, encoder
encoder.SetHeader(locationName).String(string(v.ACL))
}
- if v.BucketKeyEnabled {
+ if v.BucketKeyEnabled != nil {
locationName := "X-Amz-Server-Side-Encryption-Bucket-Key-Enabled"
- encoder.SetHeader(locationName).Boolean(v.BucketKeyEnabled)
+ encoder.SetHeader(locationName).Boolean(*v.BucketKeyEnabled)
}
if v.CacheControl != nil && len(*v.CacheControl) > 0 {
@@ -6794,9 +6919,9 @@ func awsRestxml_serializeOpHttpBindingsPutObjectInput(v *PutObjectInput, encoder
encoder.SetHeader(locationName).String(*v.ContentLanguage)
}
- if v.ContentLength != 0 {
+ if v.ContentLength != nil {
locationName := "Content-Length"
- encoder.SetHeader(locationName).Long(v.ContentLength)
+ encoder.SetHeader(locationName).Long(*v.ContentLength)
}
if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
@@ -7363,9 +7488,9 @@ func awsRestxml_serializeOpHttpBindingsPutObjectRetentionInput(v *PutObjectReten
return fmt.Errorf("unsupported serialization of nil %T", v)
}
- if v.BypassGovernanceRetention {
+ if v.BypassGovernanceRetention != nil {
locationName := "X-Amz-Bypass-Governance-Retention"
- encoder.SetHeader(locationName).Boolean(v.BypassGovernanceRetention)
+ encoder.SetHeader(locationName).Boolean(*v.BypassGovernanceRetention)
}
if len(v.ChecksumAlgorithm) > 0 {
@@ -7992,9 +8117,9 @@ func awsRestxml_serializeOpHttpBindingsUploadPartInput(v *UploadPartInput, encod
encoder.SetHeader(locationName).String(*v.ChecksumSHA256)
}
- if v.ContentLength != 0 {
+ if v.ContentLength != nil {
locationName := "Content-Length"
- encoder.SetHeader(locationName).Long(v.ContentLength)
+ encoder.SetHeader(locationName).Long(*v.ContentLength)
}
if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
@@ -8016,8 +8141,8 @@ func awsRestxml_serializeOpHttpBindingsUploadPartInput(v *UploadPartInput, encod
}
}
- {
- encoder.SetQuery("partNumber").Integer(v.PartNumber)
+ if v.PartNumber != nil {
+ encoder.SetQuery("partNumber").Integer(*v.PartNumber)
}
if len(v.RequestPayer) > 0 {
@@ -8164,8 +8289,8 @@ func awsRestxml_serializeOpHttpBindingsUploadPartCopyInput(v *UploadPartCopyInpu
}
}
- {
- encoder.SetQuery("partNumber").Integer(v.PartNumber)
+ if v.PartNumber != nil {
+ encoder.SetQuery("partNumber").Integer(*v.PartNumber)
}
if len(v.RequestPayer) > 0 {
@@ -8265,9 +8390,9 @@ func awsRestxml_serializeOpHttpBindingsWriteGetObjectResponseInput(v *WriteGetOb
encoder.SetHeader(locationName).String(*v.AcceptRanges)
}
- if v.BucketKeyEnabled {
+ if v.BucketKeyEnabled != nil {
locationName := "X-Amz-Fwd-Header-X-Amz-Server-Side-Encryption-Bucket-Key-Enabled"
- encoder.SetHeader(locationName).Boolean(v.BucketKeyEnabled)
+ encoder.SetHeader(locationName).Boolean(*v.BucketKeyEnabled)
}
if v.CacheControl != nil && len(*v.CacheControl) > 0 {
@@ -8310,9 +8435,9 @@ func awsRestxml_serializeOpHttpBindingsWriteGetObjectResponseInput(v *WriteGetOb
encoder.SetHeader(locationName).String(*v.ContentLanguage)
}
- if v.ContentLength != 0 {
+ if v.ContentLength != nil {
locationName := "Content-Length"
- encoder.SetHeader(locationName).Long(v.ContentLength)
+ encoder.SetHeader(locationName).Long(*v.ContentLength)
}
if v.ContentRange != nil && len(*v.ContentRange) > 0 {
@@ -8325,9 +8450,9 @@ func awsRestxml_serializeOpHttpBindingsWriteGetObjectResponseInput(v *WriteGetOb
encoder.SetHeader(locationName).String(*v.ContentType)
}
- if v.DeleteMarker {
+ if v.DeleteMarker != nil {
locationName := "X-Amz-Fwd-Header-X-Amz-Delete-Marker"
- encoder.SetHeader(locationName).Boolean(v.DeleteMarker)
+ encoder.SetHeader(locationName).Boolean(*v.DeleteMarker)
}
if v.ErrorCode != nil && len(*v.ErrorCode) > 0 {
@@ -8369,9 +8494,9 @@ func awsRestxml_serializeOpHttpBindingsWriteGetObjectResponseInput(v *WriteGetOb
}
}
- if v.MissingMeta != 0 {
+ if v.MissingMeta != nil {
locationName := "X-Amz-Fwd-Header-X-Amz-Missing-Meta"
- encoder.SetHeader(locationName).Integer(v.MissingMeta)
+ encoder.SetHeader(locationName).Integer(*v.MissingMeta)
}
if len(v.ObjectLockLegalHoldStatus) > 0 {
@@ -8389,9 +8514,9 @@ func awsRestxml_serializeOpHttpBindingsWriteGetObjectResponseInput(v *WriteGetOb
encoder.SetHeader(locationName).String(smithytime.FormatDateTime(*v.ObjectLockRetainUntilDate))
}
- if v.PartsCount != 0 {
+ if v.PartsCount != nil {
locationName := "X-Amz-Fwd-Header-X-Amz-Mp-Parts-Count"
- encoder.SetHeader(locationName).Integer(v.PartsCount)
+ encoder.SetHeader(locationName).Integer(*v.PartsCount)
}
if len(v.ReplicationStatus) > 0 {
@@ -8439,9 +8564,9 @@ func awsRestxml_serializeOpHttpBindingsWriteGetObjectResponseInput(v *WriteGetOb
encoder.SetHeader(locationName).String(*v.SSEKMSKeyId)
}
- if v.StatusCode != 0 {
+ if v.StatusCode != nil {
locationName := "X-Amz-Fwd-Status"
- encoder.SetHeader(locationName).Integer(v.StatusCode)
+ encoder.SetHeader(locationName).Integer(*v.StatusCode)
}
if len(v.StorageClass) > 0 {
@@ -8449,9 +8574,9 @@ func awsRestxml_serializeOpHttpBindingsWriteGetObjectResponseInput(v *WriteGetOb
encoder.SetHeader(locationName).String(string(v.StorageClass))
}
- if v.TagCount != 0 {
+ if v.TagCount != nil {
locationName := "X-Amz-Fwd-Header-X-Amz-Tagging-Count"
- encoder.SetHeader(locationName).Integer(v.TagCount)
+ encoder.SetHeader(locationName).Integer(*v.TagCount)
}
if v.VersionId != nil && len(*v.VersionId) > 0 {
@@ -8464,7 +8589,7 @@ func awsRestxml_serializeOpHttpBindingsWriteGetObjectResponseInput(v *WriteGetOb
func awsRestxml_serializeDocumentAbortIncompleteMultipartUpload(v *types.AbortIncompleteMultipartUpload, value smithyxml.Value) error {
defer value.Close()
- if v.DaysAfterInitiation != 0 {
+ if v.DaysAfterInitiation != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -8473,7 +8598,7 @@ func awsRestxml_serializeDocumentAbortIncompleteMultipartUpload(v *types.AbortIn
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Integer(v.DaysAfterInitiation)
+ el.Integer(*v.DaysAfterInitiation)
}
return nil
}
@@ -8765,6 +8890,33 @@ func awsRestxml_serializeDocumentAnalyticsS3BucketDestination(v *types.Analytics
return nil
}
+func awsRestxml_serializeDocumentBucketInfo(v *types.BucketInfo, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.DataRedundancy) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "DataRedundancy",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.DataRedundancy))
+ }
+ if len(v.Type) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Type",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Type))
+ }
+ return nil
+}
+
func awsRestxml_serializeDocumentBucketLifecycleConfiguration(v *types.BucketLifecycleConfiguration, value smithyxml.Value) error {
defer value.Close()
if v.Rules != nil {
@@ -8876,7 +9028,7 @@ func awsRestxml_serializeDocumentCompletedPart(v *types.CompletedPart, value smi
el := value.MemberElement(root)
el.String(*v.ETag)
}
- if v.PartNumber != 0 {
+ if v.PartNumber != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -8885,7 +9037,7 @@ func awsRestxml_serializeDocumentCompletedPart(v *types.CompletedPart, value smi
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Integer(v.PartNumber)
+ el.Integer(*v.PartNumber)
}
return nil
}
@@ -9015,7 +9167,7 @@ func awsRestxml_serializeDocumentCORSRule(v *types.CORSRule, value smithyxml.Val
el := value.MemberElement(root)
el.String(*v.ID)
}
- if v.MaxAgeSeconds != 0 {
+ if v.MaxAgeSeconds != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -9024,7 +9176,7 @@ func awsRestxml_serializeDocumentCORSRule(v *types.CORSRule, value smithyxml.Val
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Integer(v.MaxAgeSeconds)
+ el.Integer(*v.MaxAgeSeconds)
}
return nil
}
@@ -9046,6 +9198,32 @@ func awsRestxml_serializeDocumentCORSRules(v []types.CORSRule, value smithyxml.V
func awsRestxml_serializeDocumentCreateBucketConfiguration(v *types.CreateBucketConfiguration, value smithyxml.Value) error {
defer value.Close()
+ if v.Bucket != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Bucket",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentBucketInfo(v.Bucket, el); err != nil {
+ return err
+ }
+ }
+ if v.Location != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Location",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentLocationInfo(v.Location, el); err != nil {
+ return err
+ }
+ }
if len(v.LocationConstraint) > 0 {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
@@ -9062,7 +9240,7 @@ func awsRestxml_serializeDocumentCreateBucketConfiguration(v *types.CreateBucket
func awsRestxml_serializeDocumentCSVInput(v *types.CSVInput, value smithyxml.Value) error {
defer value.Close()
- if v.AllowQuotedRecordDelimiter {
+ if v.AllowQuotedRecordDelimiter != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -9071,7 +9249,7 @@ func awsRestxml_serializeDocumentCSVInput(v *types.CSVInput, value smithyxml.Val
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Boolean(v.AllowQuotedRecordDelimiter)
+ el.Boolean(*v.AllowQuotedRecordDelimiter)
}
if v.Comments != nil {
rootAttr := []smithyxml.Attr{}
@@ -9204,7 +9382,7 @@ func awsRestxml_serializeDocumentCSVOutput(v *types.CSVOutput, value smithyxml.V
func awsRestxml_serializeDocumentDefaultRetention(v *types.DefaultRetention, value smithyxml.Value) error {
defer value.Close()
- if v.Days != 0 {
+ if v.Days != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -9213,7 +9391,7 @@ func awsRestxml_serializeDocumentDefaultRetention(v *types.DefaultRetention, val
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Integer(v.Days)
+ el.Integer(*v.Days)
}
if len(v.Mode) > 0 {
rootAttr := []smithyxml.Attr{}
@@ -9226,7 +9404,7 @@ func awsRestxml_serializeDocumentDefaultRetention(v *types.DefaultRetention, val
el := value.MemberElement(root)
el.String(string(v.Mode))
}
- if v.Years != 0 {
+ if v.Years != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -9235,7 +9413,7 @@ func awsRestxml_serializeDocumentDefaultRetention(v *types.DefaultRetention, val
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Integer(v.Years)
+ el.Integer(*v.Years)
}
return nil
}
@@ -9255,7 +9433,7 @@ func awsRestxml_serializeDocumentDelete(v *types.Delete, value smithyxml.Value)
return err
}
}
- if v.Quiet {
+ if v.Quiet != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -9264,7 +9442,7 @@ func awsRestxml_serializeDocumentDelete(v *types.Delete, value smithyxml.Value)
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Boolean(v.Quiet)
+ el.Boolean(*v.Quiet)
}
return nil
}
@@ -9901,7 +10079,7 @@ func awsRestxml_serializeDocumentInventoryConfiguration(v *types.InventoryConfig
el := value.MemberElement(root)
el.String(string(v.IncludedObjectVersions))
}
- {
+ if v.IsEnabled != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -9910,7 +10088,7 @@ func awsRestxml_serializeDocumentInventoryConfiguration(v *types.InventoryConfig
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Boolean(v.IsEnabled)
+ el.Boolean(*v.IsEnabled)
}
if v.OptionalFields != nil {
rootAttr := []smithyxml.Attr{}
@@ -10217,7 +10395,7 @@ func awsRestxml_serializeDocumentLifecycleExpiration(v *types.LifecycleExpiratio
el := value.MemberElement(root)
el.String(smithytime.FormatDateTime(*v.Date))
}
- if v.Days != 0 {
+ if v.Days != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -10226,9 +10404,9 @@ func awsRestxml_serializeDocumentLifecycleExpiration(v *types.LifecycleExpiratio
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Integer(v.Days)
+ el.Integer(*v.Days)
}
- if v.ExpiredObjectDeleteMarker {
+ if v.ExpiredObjectDeleteMarker != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -10237,7 +10415,7 @@ func awsRestxml_serializeDocumentLifecycleExpiration(v *types.LifecycleExpiratio
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Boolean(v.ExpiredObjectDeleteMarker)
+ el.Boolean(*v.ExpiredObjectDeleteMarker)
}
return nil
}
@@ -10360,7 +10538,7 @@ func awsRestxml_serializeDocumentLifecycleRule(v *types.LifecycleRule, value smi
func awsRestxml_serializeDocumentLifecycleRuleAndOperator(v *types.LifecycleRuleAndOperator, value smithyxml.Value) error {
defer value.Close()
- if v.ObjectSizeGreaterThan != 0 {
+ if v.ObjectSizeGreaterThan != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -10369,9 +10547,9 @@ func awsRestxml_serializeDocumentLifecycleRuleAndOperator(v *types.LifecycleRule
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Long(v.ObjectSizeGreaterThan)
+ el.Long(*v.ObjectSizeGreaterThan)
}
- if v.ObjectSizeLessThan != 0 {
+ if v.ObjectSizeLessThan != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -10380,7 +10558,7 @@ func awsRestxml_serializeDocumentLifecycleRuleAndOperator(v *types.LifecycleRule
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Long(v.ObjectSizeLessThan)
+ el.Long(*v.ObjectSizeLessThan)
}
if v.Prefix != nil {
rootAttr := []smithyxml.Attr{}
@@ -10493,6 +10671,33 @@ func awsRestxml_serializeDocumentLifecycleRules(v []types.LifecycleRule, value s
return nil
}
+func awsRestxml_serializeDocumentLocationInfo(v *types.LocationInfo, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Name != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Name",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Name)
+ }
+ if len(v.Type) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Type",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Type))
+ }
+ return nil
+}
+
func awsRestxml_serializeDocumentLoggingEnabled(v *types.LoggingEnabled, value smithyxml.Value) error {
defer value.Close()
if v.TargetBucket != nil {
@@ -10519,6 +10724,19 @@ func awsRestxml_serializeDocumentLoggingEnabled(v *types.LoggingEnabled, value s
return err
}
}
+ if v.TargetObjectKeyFormat != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "TargetObjectKeyFormat",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentTargetObjectKeyFormat(v.TargetObjectKeyFormat, el); err != nil {
+ return err
+ }
+ }
if v.TargetPrefix != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
@@ -10718,7 +10936,7 @@ func awsRestxml_serializeDocumentMetricsFilter(v types.MetricsFilter, value smit
func awsRestxml_serializeDocumentNoncurrentVersionExpiration(v *types.NoncurrentVersionExpiration, value smithyxml.Value) error {
defer value.Close()
- if v.NewerNoncurrentVersions != 0 {
+ if v.NewerNoncurrentVersions != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -10727,9 +10945,9 @@ func awsRestxml_serializeDocumentNoncurrentVersionExpiration(v *types.Noncurrent
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Integer(v.NewerNoncurrentVersions)
+ el.Integer(*v.NewerNoncurrentVersions)
}
- if v.NoncurrentDays != 0 {
+ if v.NoncurrentDays != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -10738,14 +10956,14 @@ func awsRestxml_serializeDocumentNoncurrentVersionExpiration(v *types.Noncurrent
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Integer(v.NoncurrentDays)
+ el.Integer(*v.NoncurrentDays)
}
return nil
}
func awsRestxml_serializeDocumentNoncurrentVersionTransition(v *types.NoncurrentVersionTransition, value smithyxml.Value) error {
defer value.Close()
- if v.NewerNoncurrentVersions != 0 {
+ if v.NewerNoncurrentVersions != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -10754,9 +10972,9 @@ func awsRestxml_serializeDocumentNoncurrentVersionTransition(v *types.Noncurrent
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Integer(v.NewerNoncurrentVersions)
+ el.Integer(*v.NewerNoncurrentVersions)
}
- if v.NoncurrentDays != 0 {
+ if v.NoncurrentDays != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -10765,7 +10983,7 @@ func awsRestxml_serializeDocumentNoncurrentVersionTransition(v *types.Noncurrent
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Integer(v.NoncurrentDays)
+ el.Integer(*v.NoncurrentDays)
}
if len(v.StorageClass) > 0 {
rootAttr := []smithyxml.Attr{}
@@ -11133,9 +11351,25 @@ func awsRestxml_serializeDocumentParquetInput(v *types.ParquetInput, value smith
return nil
}
+func awsRestxml_serializeDocumentPartitionedPrefix(v *types.PartitionedPrefix, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.PartitionDateSource) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "PartitionDateSource",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.PartitionDateSource))
+ }
+ return nil
+}
+
func awsRestxml_serializeDocumentPublicAccessBlockConfiguration(v *types.PublicAccessBlockConfiguration, value smithyxml.Value) error {
defer value.Close()
- if v.BlockPublicAcls {
+ if v.BlockPublicAcls != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -11144,9 +11378,9 @@ func awsRestxml_serializeDocumentPublicAccessBlockConfiguration(v *types.PublicA
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Boolean(v.BlockPublicAcls)
+ el.Boolean(*v.BlockPublicAcls)
}
- if v.BlockPublicPolicy {
+ if v.BlockPublicPolicy != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -11155,9 +11389,9 @@ func awsRestxml_serializeDocumentPublicAccessBlockConfiguration(v *types.PublicA
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Boolean(v.BlockPublicPolicy)
+ el.Boolean(*v.BlockPublicPolicy)
}
- if v.IgnorePublicAcls {
+ if v.IgnorePublicAcls != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -11166,9 +11400,9 @@ func awsRestxml_serializeDocumentPublicAccessBlockConfiguration(v *types.PublicA
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Boolean(v.IgnorePublicAcls)
+ el.Boolean(*v.IgnorePublicAcls)
}
- if v.RestrictPublicBuckets {
+ if v.RestrictPublicBuckets != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -11177,7 +11411,7 @@ func awsRestxml_serializeDocumentPublicAccessBlockConfiguration(v *types.PublicA
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Boolean(v.RestrictPublicBuckets)
+ el.Boolean(*v.RestrictPublicBuckets)
}
return nil
}
@@ -11458,7 +11692,7 @@ func awsRestxml_serializeDocumentReplicationRule(v *types.ReplicationRule, value
el := value.MemberElement(root)
el.String(*v.Prefix)
}
- if v.Priority != 0 {
+ if v.Priority != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -11467,7 +11701,7 @@ func awsRestxml_serializeDocumentReplicationRule(v *types.ReplicationRule, value
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Integer(v.Priority)
+ el.Integer(*v.Priority)
}
if v.SourceSelectionCriteria != nil {
rootAttr := []smithyxml.Attr{}
@@ -11618,7 +11852,7 @@ func awsRestxml_serializeDocumentReplicationTime(v *types.ReplicationTime, value
func awsRestxml_serializeDocumentReplicationTimeValue(v *types.ReplicationTimeValue, value smithyxml.Value) error {
defer value.Close()
- if v.Minutes != 0 {
+ if v.Minutes != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -11627,7 +11861,7 @@ func awsRestxml_serializeDocumentReplicationTimeValue(v *types.ReplicationTimeVa
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Integer(v.Minutes)
+ el.Integer(*v.Minutes)
}
return nil
}
@@ -11650,7 +11884,7 @@ func awsRestxml_serializeDocumentRequestPaymentConfiguration(v *types.RequestPay
func awsRestxml_serializeDocumentRequestProgress(v *types.RequestProgress, value smithyxml.Value) error {
defer value.Close()
- if v.Enabled {
+ if v.Enabled != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -11659,14 +11893,14 @@ func awsRestxml_serializeDocumentRequestProgress(v *types.RequestProgress, value
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Boolean(v.Enabled)
+ el.Boolean(*v.Enabled)
}
return nil
}
func awsRestxml_serializeDocumentRestoreRequest(v *types.RestoreRequest, value smithyxml.Value) error {
defer value.Close()
- if v.Days != 0 {
+ if v.Days != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -11675,7 +11909,7 @@ func awsRestxml_serializeDocumentRestoreRequest(v *types.RestoreRequest, value s
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Integer(v.Days)
+ el.Integer(*v.Days)
}
if v.Description != nil {
rootAttr := []smithyxml.Attr{}
@@ -11926,7 +12160,7 @@ func awsRestxml_serializeDocumentS3Location(v *types.S3Location, value smithyxml
func awsRestxml_serializeDocumentScanRange(v *types.ScanRange, value smithyxml.Value) error {
defer value.Close()
- if v.End != 0 {
+ if v.End != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -11935,9 +12169,9 @@ func awsRestxml_serializeDocumentScanRange(v *types.ScanRange, value smithyxml.V
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Long(v.End)
+ el.Long(*v.End)
}
- if v.Start != 0 {
+ if v.Start != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -11946,7 +12180,7 @@ func awsRestxml_serializeDocumentScanRange(v *types.ScanRange, value smithyxml.V
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Long(v.Start)
+ el.Long(*v.Start)
}
return nil
}
@@ -12064,7 +12298,7 @@ func awsRestxml_serializeDocumentServerSideEncryptionRule(v *types.ServerSideEnc
return err
}
}
- if v.BucketKeyEnabled {
+ if v.BucketKeyEnabled != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -12073,7 +12307,7 @@ func awsRestxml_serializeDocumentServerSideEncryptionRule(v *types.ServerSideEnc
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Boolean(v.BucketKeyEnabled)
+ el.Boolean(*v.BucketKeyEnabled)
}
return nil
}
@@ -12093,6 +12327,11 @@ func awsRestxml_serializeDocumentServerSideEncryptionRules(v []types.ServerSideE
return nil
}
+func awsRestxml_serializeDocumentSimplePrefix(v *types.SimplePrefix, value smithyxml.Value) error {
+ defer value.Close()
+ return nil
+}
+
func awsRestxml_serializeDocumentSourceSelectionCriteria(v *types.SourceSelectionCriteria, value smithyxml.Value) error {
defer value.Close()
if v.ReplicaModifications != nil {
@@ -12332,6 +12571,37 @@ func awsRestxml_serializeDocumentTargetGrants(v []types.TargetGrant, value smith
return nil
}
+func awsRestxml_serializeDocumentTargetObjectKeyFormat(v *types.TargetObjectKeyFormat, value smithyxml.Value) error {
+ defer value.Close()
+ if v.PartitionedPrefix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "PartitionedPrefix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentPartitionedPrefix(v.PartitionedPrefix, el); err != nil {
+ return err
+ }
+ }
+ if v.SimplePrefix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "SimplePrefix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentSimplePrefix(v.SimplePrefix, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
func awsRestxml_serializeDocumentTiering(v *types.Tiering, value smithyxml.Value) error {
defer value.Close()
if len(v.AccessTier) > 0 {
@@ -12345,7 +12615,7 @@ func awsRestxml_serializeDocumentTiering(v *types.Tiering, value smithyxml.Value
el := value.MemberElement(root)
el.String(string(v.AccessTier))
}
- {
+ if v.Days != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -12354,7 +12624,7 @@ func awsRestxml_serializeDocumentTiering(v *types.Tiering, value smithyxml.Value
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Integer(v.Days)
+ el.Integer(*v.Days)
}
return nil
}
@@ -12455,7 +12725,7 @@ func awsRestxml_serializeDocumentTransition(v *types.Transition, value smithyxml
el := value.MemberElement(root)
el.String(smithytime.FormatDateTime(*v.Date))
}
- if v.Days != 0 {
+ if v.Days != nil {
rootAttr := []smithyxml.Attr{}
root := smithyxml.StartElement{
Name: smithyxml.Name{
@@ -12464,7 +12734,7 @@ func awsRestxml_serializeDocumentTransition(v *types.Transition, value smithyxml
Attr: rootAttr,
}
el := value.MemberElement(root)
- el.Integer(v.Days)
+ el.Integer(*v.Days)
}
if len(v.StorageClass) > 0 {
rootAttr := []smithyxml.Attr{}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/enums.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/enums.go
index 613da169..ea3b9c82 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/enums.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/enums.go
@@ -86,6 +86,7 @@ const (
BucketLocationConstraintApNortheast2 BucketLocationConstraint = "ap-northeast-2"
BucketLocationConstraintApNortheast3 BucketLocationConstraint = "ap-northeast-3"
BucketLocationConstraintApSouth1 BucketLocationConstraint = "ap-south-1"
+ BucketLocationConstraintApSouth2 BucketLocationConstraint = "ap-south-2"
BucketLocationConstraintApSoutheast1 BucketLocationConstraint = "ap-southeast-1"
BucketLocationConstraintApSoutheast2 BucketLocationConstraint = "ap-southeast-2"
BucketLocationConstraintApSoutheast3 BucketLocationConstraint = "ap-southeast-3"
@@ -96,6 +97,7 @@ const (
BucketLocationConstraintEuCentral1 BucketLocationConstraint = "eu-central-1"
BucketLocationConstraintEuNorth1 BucketLocationConstraint = "eu-north-1"
BucketLocationConstraintEuSouth1 BucketLocationConstraint = "eu-south-1"
+ BucketLocationConstraintEuSouth2 BucketLocationConstraint = "eu-south-2"
BucketLocationConstraintEuWest1 BucketLocationConstraint = "eu-west-1"
BucketLocationConstraintEuWest2 BucketLocationConstraint = "eu-west-2"
BucketLocationConstraintEuWest3 BucketLocationConstraint = "eu-west-3"
@@ -106,8 +108,6 @@ const (
BucketLocationConstraintUsGovWest1 BucketLocationConstraint = "us-gov-west-1"
BucketLocationConstraintUsWest1 BucketLocationConstraint = "us-west-1"
BucketLocationConstraintUsWest2 BucketLocationConstraint = "us-west-2"
- BucketLocationConstraintApSouth2 BucketLocationConstraint = "ap-south-2"
- BucketLocationConstraintEuSouth2 BucketLocationConstraint = "eu-south-2"
)
// Values returns all known values for BucketLocationConstraint. Note that this
@@ -121,6 +121,7 @@ func (BucketLocationConstraint) Values() []BucketLocationConstraint {
"ap-northeast-2",
"ap-northeast-3",
"ap-south-1",
+ "ap-south-2",
"ap-southeast-1",
"ap-southeast-2",
"ap-southeast-3",
@@ -131,6 +132,7 @@ func (BucketLocationConstraint) Values() []BucketLocationConstraint {
"eu-central-1",
"eu-north-1",
"eu-south-1",
+ "eu-south-2",
"eu-west-1",
"eu-west-2",
"eu-west-3",
@@ -141,8 +143,6 @@ func (BucketLocationConstraint) Values() []BucketLocationConstraint {
"us-gov-west-1",
"us-west-1",
"us-west-2",
- "ap-south-2",
- "eu-south-2",
}
}
@@ -166,6 +166,22 @@ func (BucketLogsPermission) Values() []BucketLogsPermission {
}
}
+type BucketType string
+
+// Enum values for BucketType
+const (
+ BucketTypeDirectory BucketType = "Directory"
+)
+
+// Values returns all known values for BucketType. Note that this can be expanded
+// in the future, and so it is only as up to date as the client. The ordering of
+// this slice is not guaranteed to be stable across updates.
+func (BucketType) Values() []BucketType {
+ return []BucketType{
+ "Directory",
+ }
+}
+
type BucketVersioningStatus string
// Enum values for BucketVersioningStatus
@@ -242,6 +258,22 @@ func (CompressionType) Values() []CompressionType {
}
}
+type DataRedundancy string
+
+// Enum values for DataRedundancy
+const (
+ DataRedundancySingleAvailabilityZone DataRedundancy = "SingleAvailabilityZone"
+)
+
+// Values returns all known values for DataRedundancy. Note that this can be
+// expanded in the future, and so it is only as up to date as the client. The
+// ordering of this slice is not guaranteed to be stable across updates.
+func (DataRedundancy) Values() []DataRedundancy {
+ return []DataRedundancy{
+ "SingleAvailabilityZone",
+ }
+}
+
type DeleteMarkerReplicationStatus string
// Enum values for DeleteMarkerReplicationStatus
@@ -592,6 +624,22 @@ func (JSONType) Values() []JSONType {
}
}
+type LocationType string
+
+// Enum values for LocationType
+const (
+ LocationTypeAvailabilityZone LocationType = "AvailabilityZone"
+)
+
+// Values returns all known values for LocationType. Note that this can be
+// expanded in the future, and so it is only as up to date as the client. The
+// ordering of this slice is not guaranteed to be stable across updates.
+func (LocationType) Values() []LocationType {
+ return []LocationType{
+ "AvailabilityZone",
+ }
+}
+
type MetadataDirective string
// Enum values for MetadataDirective
@@ -820,6 +868,7 @@ const (
ObjectStorageClassOutposts ObjectStorageClass = "OUTPOSTS"
ObjectStorageClassGlacierIr ObjectStorageClass = "GLACIER_IR"
ObjectStorageClassSnow ObjectStorageClass = "SNOW"
+ ObjectStorageClassExpressOnezone ObjectStorageClass = "EXPRESS_ONEZONE"
)
// Values returns all known values for ObjectStorageClass. Note that this can be
@@ -837,6 +886,7 @@ func (ObjectStorageClass) Values() []ObjectStorageClass {
"OUTPOSTS",
"GLACIER_IR",
"SNOW",
+ "EXPRESS_ONEZONE",
}
}
@@ -888,6 +938,24 @@ func (OwnerOverride) Values() []OwnerOverride {
}
}
+type PartitionDateSource string
+
+// Enum values for PartitionDateSource
+const (
+ PartitionDateSourceEventTime PartitionDateSource = "EventTime"
+ PartitionDateSourceDeliveryTime PartitionDateSource = "DeliveryTime"
+)
+
+// Values returns all known values for PartitionDateSource. Note that this can be
+// expanded in the future, and so it is only as up to date as the client. The
+// ordering of this slice is not guaranteed to be stable across updates.
+func (PartitionDateSource) Values() []PartitionDateSource {
+ return []PartitionDateSource{
+ "EventTime",
+ "DeliveryTime",
+ }
+}
+
type Payer string
// Enum values for Payer
@@ -1112,6 +1180,24 @@ func (ServerSideEncryption) Values() []ServerSideEncryption {
}
}
+type SessionMode string
+
+// Enum values for SessionMode
+const (
+ SessionModeReadOnly SessionMode = "ReadOnly"
+ SessionModeReadWrite SessionMode = "ReadWrite"
+)
+
+// Values returns all known values for SessionMode. Note that this can be expanded
+// in the future, and so it is only as up to date as the client. The ordering of
+// this slice is not guaranteed to be stable across updates.
+func (SessionMode) Values() []SessionMode {
+ return []SessionMode{
+ "ReadOnly",
+ "ReadWrite",
+ }
+}
+
type SseKmsEncryptedObjectsStatus string
// Enum values for SseKmsEncryptedObjectsStatus
@@ -1145,6 +1231,7 @@ const (
StorageClassOutposts StorageClass = "OUTPOSTS"
StorageClassGlacierIr StorageClass = "GLACIER_IR"
StorageClassSnow StorageClass = "SNOW"
+ StorageClassExpressOnezone StorageClass = "EXPRESS_ONEZONE"
)
// Values returns all known values for StorageClass. Note that this can be
@@ -1162,6 +1249,7 @@ func (StorageClass) Values() []StorageClass {
"OUTPOSTS",
"GLACIER_IR",
"SNOW",
+ "EXPRESS_ONEZONE",
}
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/errors.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/errors.go
index f3837866..166484f4 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/errors.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/errors.go
@@ -64,7 +64,14 @@ func (e *BucketAlreadyOwnedByYou) ErrorCode() string {
}
func (e *BucketAlreadyOwnedByYou) ErrorFault() smithy.ErrorFault { return smithy.FaultClient }
-// Object is archived and inaccessible until restored.
+// Object is archived and inaccessible until restored. If the object you are
+// retrieving is stored in the S3 Glacier Flexible Retrieval storage class, the S3
+// Glacier Deep Archive storage class, the S3 Intelligent-Tiering Archive Access
+// tier, or the S3 Intelligent-Tiering Deep Archive Access tier, before you can
+// retrieve the object you must first restore a copy using RestoreObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_RestoreObject.html)
+// . Otherwise, this operation returns an InvalidObjectState error. For
+// information about restoring archived objects, see Restoring Archived Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/restoring-objects.html)
+// in the Amazon S3 User Guide.
type InvalidObjectState struct {
Message *string
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/types.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/types.go
index 3ddea0a2..d3f7593f 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/types.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/types/types.go
@@ -16,7 +16,7 @@ type AbortIncompleteMultipartUpload struct {
// Specifies the number of days after which Amazon S3 aborts an incomplete
// multipart upload.
- DaysAfterInitiation int32
+ DaysAfterInitiation *int32
noSmithyDocumentSerde
}
@@ -173,9 +173,7 @@ type AnalyticsS3BucketDestination struct {
noSmithyDocumentSerde
}
-// In terms of implementation, a Bucket is a resource. An Amazon S3 bucket name is
-// globally unique, and the namespace is shared by all Amazon Web Services
-// accounts.
+// In terms of implementation, a Bucket is a resource.
type Bucket struct {
// Date the bucket was created. This date can change when making changes to your
@@ -188,6 +186,21 @@ type Bucket struct {
noSmithyDocumentSerde
}
+// Specifies the information about the bucket that will be created. For more
+// information about directory buckets, see Directory buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html)
+// in the Amazon S3 User Guide. This functionality is only supported by directory
+// buckets.
+type BucketInfo struct {
+
+ // The number of Availability Zone that's used for redundancy for the bucket.
+ DataRedundancy DataRedundancy
+
+ // The type of bucket.
+ Type BucketType
+
+ noSmithyDocumentSerde
+}
+
// Specifies the lifecycle configuration for objects in an Amazon S3 bucket. For
// more information, see Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)
// in the Amazon S3 User Guide.
@@ -216,30 +229,38 @@ type BucketLoggingStatus struct {
type Checksum struct {
// The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32 *string
// The base64-encoded, 32-bit CRC32C checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32C *string
// The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use the API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA1 *string
// The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA256 *string
@@ -273,30 +294,38 @@ type CompletedMultipartUpload struct {
type CompletedPart struct {
// The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32 *string
// The base64-encoded, 32-bit CRC32C checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32C *string
// The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use the API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA1 *string
// The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA256 *string
@@ -305,7 +334,15 @@ type CompletedPart struct {
// Part number that identifies the part. This is a positive integer between 1 and
// 10,000.
- PartNumber int32
+ // - General purpose buckets - In CompleteMultipartUpload , when a additional
+ // checksum (including x-amz-checksum-crc32 , x-amz-checksum-crc32c ,
+ // x-amz-checksum-sha1 , or x-amz-checksum-sha256 ) is applied to each part, the
+ // PartNumber must start at 1 and the part numbers must be consecutive.
+ // Otherwise, Amazon S3 generates an HTTP 400 Bad Request status code and an
+ // InvalidPartOrder error code.
+ // - Directory buckets - In CompleteMultipartUpload , the PartNumber must start
+ // at 1 and the part numbers must be consecutive.
+ PartNumber *int32
noSmithyDocumentSerde
}
@@ -346,30 +383,26 @@ type ContinuationEvent struct {
type CopyObjectResult struct {
// The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide.
ChecksumCRC32 *string
// The base64-encoded, 32-bit CRC32C checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide.
ChecksumCRC32C *string
// The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide.
ChecksumSHA1 *string
// The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
// in the Amazon S3 User Guide.
ChecksumSHA256 *string
@@ -387,30 +420,38 @@ type CopyObjectResult struct {
type CopyPartResult struct {
// The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32 *string
// The base64-encoded, 32-bit CRC32C checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32C *string
// The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use the API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA1 *string
// The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA256 *string
@@ -466,7 +507,7 @@ type CORSRule struct {
// The time in seconds that your browser is to cache the preflight response for
// the specified resource.
- MaxAgeSeconds int32
+ MaxAgeSeconds *int32
noSmithyDocumentSerde
}
@@ -474,8 +515,23 @@ type CORSRule struct {
// The configuration information for the bucket.
type CreateBucketConfiguration struct {
- // Specifies the Region where the bucket will be created. If you don't specify a
- // Region, the bucket is created in the US East (N. Virginia) Region (us-east-1).
+ // Specifies the information about the bucket that will be created. This
+ // functionality is only supported by directory buckets.
+ Bucket *BucketInfo
+
+ // Specifies the location where the bucket will be created. For directory buckets,
+ // the location type is Availability Zone. This functionality is only supported by
+ // directory buckets.
+ Location *LocationInfo
+
+ // Specifies the Region where the bucket will be created. You might choose a
+ // Region to optimize latency, minimize costs, or address regulatory requirements.
+ // For example, if you reside in Europe, you will probably find it advantageous to
+ // create buckets in the Europe (Ireland) Region. For more information, see
+ // Accessing a bucket (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro)
+ // in the Amazon S3 User Guide. If you don't specify a Region, the bucket is
+ // created in the US East (N. Virginia) Region (us-east-1) by default. This
+ // functionality is not supported for directory buckets.
LocationConstraint BucketLocationConstraint
noSmithyDocumentSerde
@@ -488,7 +544,7 @@ type CSVInput struct {
// Specifies that CSV field values may contain quoted record delimiters and such
// records should be allowed. Default value is FALSE. Setting this value to TRUE
// may lower performance.
- AllowQuotedRecordDelimiter bool
+ AllowQuotedRecordDelimiter *bool
// 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
@@ -563,7 +619,7 @@ type DefaultRetention struct {
// The number of days that you want to specify for the default retention period.
// Must be used with Mode .
- Days int32
+ Days *int32
// The default Object Lock retention mode you want to apply to new objects placed
// in the specified bucket. Must be used with either Days or Years .
@@ -571,7 +627,7 @@ type DefaultRetention struct {
// The number of years that you want to specify for the default retention period.
// Must be used with Mode .
- Years int32
+ Years *int32
noSmithyDocumentSerde
}
@@ -579,14 +635,17 @@ type DefaultRetention struct {
// Container for the objects to delete.
type Delete struct {
- // The object to delete.
+ // The object to delete. Directory buckets - For directory buckets, an object
+ // that's composed entirely of whitespace characters is not supported by the
+ // DeleteObjects API operation. The request will receive a 400 Bad Request error
+ // and none of the objects in the request will be deleted.
//
// This member is required.
Objects []ObjectIdentifier
// Element to enable quiet mode for the request. When you add this element, you
- // must set its value to true.
- Quiet bool
+ // must set its value to true .
+ Quiet *bool
noSmithyDocumentSerde
}
@@ -597,18 +656,21 @@ type DeletedObject struct {
// Indicates whether the specified object version that was permanently deleted was
// (true) or was not (false) a delete marker before deletion. In a simple DELETE,
// this header indicates whether (true) or not (false) the current version of the
- // object is a delete marker.
- DeleteMarker bool
+ // object is a delete marker. This functionality is not supported for directory
+ // buckets.
+ DeleteMarker *bool
// The version ID of the delete marker created as a result of the DELETE
// operation. If you delete a specific object version, the value returned by this
- // header is the version ID of the object version deleted.
+ // header is the version ID of the object version deleted. This functionality is
+ // not supported for directory buckets.
DeleteMarkerVersionId *string
// The name of the deleted object.
Key *string
- // The version ID of the deleted object.
+ // The version ID of the deleted object. This functionality is not supported for
+ // directory buckets.
VersionId *string
noSmithyDocumentSerde
@@ -619,12 +681,12 @@ type DeleteMarkerEntry struct {
// Specifies whether the object is (true) or is not (false) the latest version of
// an object.
- IsLatest bool
+ IsLatest *bool
// The object key.
Key *string
- // Date and time the object was last modified.
+ // Date and time when the object was last modified.
LastModified *time.Time
// The account that created the delete marker.>
@@ -1178,7 +1240,8 @@ type Error struct {
// error message.
Message *string
- // The version ID of the error.
+ // The version ID of the error. This functionality is not supported for directory
+ // buckets.
VersionId *string
noSmithyDocumentSerde
@@ -1240,10 +1303,10 @@ type GetObjectAttributesParts struct {
// Indicates whether the returned list of parts is truncated. A value of true
// indicates that the list was truncated. A list can be truncated if the number of
// parts exceeds the limit returned in the MaxParts element.
- IsTruncated bool
+ IsTruncated *bool
// The maximum number of parts allowed in the response.
- MaxParts int32
+ MaxParts *int32
// When a list is truncated, this element specifies the last part in the list, as
// well as the value to use for the PartNumberMarker request parameter in a
@@ -1255,10 +1318,17 @@ type GetObjectAttributesParts struct {
// A container for elements related to a particular part. A response can contain
// zero or more Parts elements.
+ // - General purpose buckets - For GetObjectAttributes , if a additional checksum
+ // (including x-amz-checksum-crc32 , x-amz-checksum-crc32c , x-amz-checksum-sha1
+ // , or x-amz-checksum-sha256 ) isn't applied to the object specified in the
+ // request, the response doesn't return Part .
+ // - Directory buckets - For GetObjectAttributes , no matter whether a additional
+ // checksum is applied to the object specified in the request, the response returns
+ // Part .
Parts []ObjectPart
// The total number of parts.
- TotalPartsCount int32
+ TotalPartsCount *int32
noSmithyDocumentSerde
}
@@ -1342,11 +1412,15 @@ type IndexDocument struct {
// Container element that identifies who initiated the multipart upload.
type Initiator struct {
- // Name of the Principal.
+ // Name of the Principal. This functionality is not supported for directory
+ // buckets.
DisplayName *string
// If the principal is an Amazon Web Services account, it provides the Canonical
// User ID. If the principal is an IAM User, it provides a user ARN value.
+ // Directory buckets - If the principal is an Amazon Web Services account, it
+ // provides the Amazon Web Services account ID. If the principal is an IAM User, it
+ // provides a user ARN value.
ID *string
noSmithyDocumentSerde
@@ -1463,7 +1537,7 @@ type InventoryConfiguration struct {
// inventory list is generated. If set to False , no inventory list is generated.
//
// This member is required.
- IsEnabled bool
+ IsEnabled *bool
// Specifies the schedule for generating inventory results.
//
@@ -1617,13 +1691,13 @@ type LifecycleExpiration struct {
// Indicates the lifetime, in days, of the objects that are subject to the rule.
// The value must be a non-zero positive integer.
- Days int32
+ Days *int32
// Indicates whether Amazon S3 will remove a delete marker with no noncurrent
// versions. If set to true, the delete marker will be expired; if set to false the
// policy takes no action. This cannot be specified with Days or Date in a
// Lifecycle Expiration Policy.
- ExpiredObjectDeleteMarker bool
+ ExpiredObjectDeleteMarker *bool
noSmithyDocumentSerde
}
@@ -1693,10 +1767,10 @@ type LifecycleRule struct {
type LifecycleRuleAndOperator struct {
// Minimum object size to which the rule applies.
- ObjectSizeGreaterThan int64
+ ObjectSizeGreaterThan *int64
// Maximum object size to which the rule applies.
- ObjectSizeLessThan int64
+ ObjectSizeLessThan *int64
// Prefix identifying one or more objects to which the rule applies.
Prefix *string
@@ -1773,6 +1847,24 @@ type LifecycleRuleFilterMemberTag struct {
func (*LifecycleRuleFilterMemberTag) isLifecycleRuleFilter() {}
+// Specifies the location where the bucket will be created. For directory buckets,
+// the location type is Availability Zone. For more information about directory
+// buckets, see Directory buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html)
+// in the Amazon S3 User Guide. This functionality is only supported by directory
+// buckets.
+type LocationInfo struct {
+
+ // The name of the location where the bucket will be created. For directory
+ // buckets, the AZ ID of the Availability Zone where the bucket will be created. An
+ // example AZ ID value is usw2-az2 .
+ Name *string
+
+ // The type of location where the bucket will be created.
+ Type LocationType
+
+ noSmithyDocumentSerde
+}
+
// Describes where logs are stored and the prefix that Amazon S3 assigns to all
// log object keys for a bucket. For more information, see PUT Bucket logging (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTlogging.html)
// in the Amazon S3 API Reference.
@@ -1801,6 +1893,9 @@ type LoggingEnabled struct {
// in the Amazon S3 User Guide.
TargetGrants []TargetGrant
+ // Amazon S3 key format for log objects.
+ TargetObjectKeyFormat *TargetObjectKeyFormat
+
noSmithyDocumentSerde
}
@@ -1941,9 +2036,13 @@ type MultipartUpload struct {
Key *string
// Specifies the owner of the object that is part of the multipart upload.
+ // Directory buckets - The bucket owner is returned as the object owner for all the
+ // objects.
Owner *Owner
- // The class of storage used to store the object.
+ // The class of storage used to store the object. Directory buckets - Only the S3
+ // Express One Zone storage class is supported by directory buckets to store
+ // objects.
StorageClass StorageClass
// Upload ID that identifies the multipart upload.
@@ -1959,19 +2058,19 @@ type MultipartUpload struct {
// the object's lifetime.
type NoncurrentVersionExpiration struct {
- // Specifies how many noncurrent versions Amazon S3 will retain. If there are this
- // many more recent noncurrent versions, Amazon S3 will take the associated action.
- // For more information about noncurrent versions, see Lifecycle configuration
- // elements (https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html)
+ // Specifies how many newer noncurrent versions must exist before Amazon S3 can
+ // perform the associated action on a given version. If there are this many more
+ // recent noncurrent versions, Amazon S3 will take the associated action. For more
+ // information about noncurrent versions, see Lifecycle configuration elements (https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html)
// in the Amazon S3 User Guide.
- NewerNoncurrentVersions int32
+ NewerNoncurrentVersions *int32
// Specifies the number of days an object is noncurrent before Amazon S3 can
// perform the associated action. The value must be a non-zero positive integer.
// For information about the noncurrent days calculations, see How Amazon S3
// Calculates When an Object Became Noncurrent (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations)
// in the Amazon S3 User Guide.
- NoncurrentDays int32
+ NoncurrentDays *int32
noSmithyDocumentSerde
}
@@ -1985,19 +2084,19 @@ type NoncurrentVersionExpiration struct {
// specific period in the object's lifetime.
type NoncurrentVersionTransition struct {
- // Specifies how many noncurrent versions Amazon S3 will retain. If there are this
- // many more recent noncurrent versions, Amazon S3 will take the associated action.
- // For more information about noncurrent versions, see Lifecycle configuration
- // elements (https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html)
+ // Specifies how many newer noncurrent versions must exist before Amazon S3 can
+ // perform the associated action on a given version. If there are this many more
+ // recent noncurrent versions, Amazon S3 will take the associated action. For more
+ // information about noncurrent versions, see Lifecycle configuration elements (https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html)
// in the Amazon S3 User Guide.
- NewerNoncurrentVersions int32
+ NewerNoncurrentVersions *int32
// Specifies the number of days an object is noncurrent before Amazon S3 can
// perform the associated action. For information about the noncurrent days
// calculations, see How Amazon S3 Calculates How Long an Object Has Been
// Noncurrent (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#non-current-days-calculations)
// in the Amazon S3 User Guide.
- NoncurrentDays int32
+ NoncurrentDays *int32
// The class of storage used to store the object.
StorageClass TransitionStorageClass
@@ -2059,6 +2158,7 @@ type Object struct {
// encryption. If an object is larger than 16 MB, the Amazon Web Services
// Management Console will upload or copy that object as a Multipart Upload, and
// therefore the ETag will not be an MD5 digest.
+ // Directory buckets - MD5 is not supported by directory buckets.
ETag *string
// The name that you assign to an object. You use the object key to retrieve the
@@ -2068,20 +2168,25 @@ type Object struct {
// Creation date of the object.
LastModified *time.Time
- // The owner of the object
+ // The owner of the object Directory buckets - The bucket owner is returned as the
+ // object owner.
Owner *Owner
// Specifies the restoration status of an object. Objects in certain storage
// classes must be restored before they can be retrieved. For more information
// about these storage classes and how to work with archived objects, see Working
// with archived objects (https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html)
- // in the Amazon S3 User Guide.
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets. Only the S3 Express One Zone storage class is supported by directory
+ // buckets to store objects.
RestoreStatus *RestoreStatus
// Size in bytes of the object
- Size int64
+ Size *int64
- // The class of storage used to store the object.
+ // The class of storage used to store the object. Directory buckets - Only the S3
+ // Express One Zone storage class is supported by directory buckets to store
+ // objects.
StorageClass ObjectStorageClass
noSmithyDocumentSerde
@@ -2098,7 +2203,8 @@ type ObjectIdentifier struct {
// This member is required.
Key *string
- // VersionId for the specific version of the object to delete.
+ // Version ID for the specific version of the object to delete. This functionality
+ // is not supported for directory buckets.
VersionId *string
noSmithyDocumentSerde
@@ -2164,32 +2270,38 @@ type ObjectPart struct {
ChecksumCRC32 *string
// The base64-encoded, 32-bit CRC32C checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32C *string
// The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use the API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA1 *string
// The base64-encoded, 256-bit SHA-256 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA256 *string
// The part number identifying the part. This value is a positive integer between
// 1 and 10,000.
- PartNumber int32
+ PartNumber *int32
// The size of the uploaded part in bytes.
- Size int64
+ Size *int64
noSmithyDocumentSerde
}
@@ -2205,12 +2317,12 @@ type ObjectVersion struct {
// Specifies whether the object is (true) or is not (false) the latest version of
// an object.
- IsLatest bool
+ IsLatest *bool
// The object key.
Key *string
- // Date and time the object was last modified.
+ // Date and time when the object was last modified.
LastModified *time.Time
// Specifies the owner of the object.
@@ -2224,7 +2336,7 @@ type ObjectVersion struct {
RestoreStatus *RestoreStatus
// Size in bytes of the object.
- Size int64
+ Size *int64
// The class of storage used to store the object.
StorageClass ObjectVersionStorageClass
@@ -2269,6 +2381,7 @@ type Owner struct {
// - Asia Pacific (Tokyo)
// - Europe (Ireland)
// - South America (São Paulo)
+ // This functionality is not supported for directory buckets.
DisplayName *string
// Container for the ID of the owner.
@@ -2299,9 +2412,16 @@ type OwnershipControlsRule struct {
// BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer
// affect permissions. The bucket owner automatically owns and has full control
// over every object in the bucket. The bucket only accepts PUT requests that don't
- // specify an ACL or bucket owner full control ACLs, such as the
- // bucket-owner-full-control canned ACL or an equivalent form of this ACL expressed
- // in the XML format.
+ // specify an ACL or specify bucket owner full control ACLs (such as the predefined
+ // bucket-owner-full-control canned ACL or a custom ACL in XML format that grants
+ // the same permissions). By default, ObjectOwnership is set to BucketOwnerEnforced
+ // and ACLs are disabled. We recommend keeping ACLs disabled, except in uncommon
+ // use cases where you must control access for each object individually. For more
+ // information about S3 Object Ownership, see Controlling ownership of objects and
+ // disabling ACLs for your bucket (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
+ // in the Amazon S3 User Guide. This functionality is not supported for directory
+ // buckets. Directory buckets use the bucket owner enforced setting for S3 Object
+ // Ownership.
//
// This member is required.
ObjectOwnership ObjectOwnership
@@ -2325,16 +2445,20 @@ type Part struct {
ChecksumCRC32 *string
// The base64-encoded, 32-bit CRC32C checksum of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use an API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumCRC32C *string
// The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
- // present if it was uploaded with the object. With multipart uploads, this may not
- // be a checksum value of the object. For more information about how checksums are
- // calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // present if it was uploaded with the object. When you use the API operation on an
+ // object that was uploaded using multipart uploads, this value may not be a direct
+ // checksum value of the full object. Instead, it's a calculation based on the
+ // checksum values of each individual part. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
// in the Amazon S3 User Guide.
ChecksumSHA1 *string
@@ -2353,10 +2477,23 @@ type Part struct {
// Part number identifying the part. This is a positive integer between 1 and
// 10,000.
- PartNumber int32
+ PartNumber *int32
// Size in bytes of the uploaded part data.
- Size int64
+ Size *int64
+
+ noSmithyDocumentSerde
+}
+
+// Amazon S3 keys for log objects are partitioned in the following format:
+// [DestinationPrefix][SourceAccountId]/[SourceRegion]/[SourceBucket]/[YYYY]/[MM]/[DD]/[YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]
+// PartitionedPrefix defaults to EventTime delivery when server access logs are
+// delivered.
+type PartitionedPrefix struct {
+
+ // Specifies the partition date source for the partitioned prefix.
+ // PartitionDateSource can be EventTime or DeliveryTime.
+ PartitionDateSource PartitionDateSource
noSmithyDocumentSerde
}
@@ -2366,7 +2503,7 @@ type PolicyStatus struct {
// The policy status for this bucket. TRUE indicates that this bucket is public.
// FALSE indicates that the bucket is not public.
- IsPublic bool
+ IsPublic *bool
noSmithyDocumentSerde
}
@@ -2375,13 +2512,13 @@ type PolicyStatus struct {
type Progress struct {
// The current number of uncompressed object bytes processed.
- BytesProcessed int64
+ BytesProcessed *int64
// The current number of bytes of records payload data returned.
- BytesReturned int64
+ BytesReturned *int64
// The current number of object bytes scanned.
- BytesScanned int64
+ BytesScanned *int64
noSmithyDocumentSerde
}
@@ -2410,20 +2547,20 @@ type PublicAccessBlockConfiguration struct {
// - PUT Object calls fail if the request includes a public ACL.
// - PUT Bucket calls fail if the request includes a public ACL.
// Enabling this setting doesn't affect existing policies or ACLs.
- BlockPublicAcls bool
+ BlockPublicAcls *bool
// Specifies whether Amazon S3 should block public bucket policies for this
// bucket. Setting this element to TRUE causes Amazon S3 to reject calls to PUT
// Bucket policy if the specified bucket policy allows public access. Enabling this
// setting doesn't affect existing bucket policies.
- BlockPublicPolicy bool
+ BlockPublicPolicy *bool
// Specifies whether Amazon S3 should ignore public ACLs for this bucket and
// objects in this bucket. Setting this element to TRUE causes Amazon S3 to ignore
// all public ACLs on this bucket and objects in this bucket. Enabling this setting
// doesn't affect the persistence of any existing ACLs and doesn't prevent new
// public ACLs from being set.
- IgnorePublicAcls bool
+ IgnorePublicAcls *bool
// Specifies whether Amazon S3 should restrict public bucket policies for this
// bucket. Setting this element to TRUE restricts access to this bucket to only
@@ -2432,7 +2569,7 @@ type PublicAccessBlockConfiguration struct {
// stored bucket policies, except that public and cross-account access within any
// public bucket policy, including non-public delegation to specific accounts, is
// blocked.
- RestrictPublicBuckets bool
+ RestrictPublicBuckets *bool
noSmithyDocumentSerde
}
@@ -2622,7 +2759,7 @@ type ReplicationRule struct {
// rule with the highest priority. The higher the number, the higher the priority.
// For more information, see Replication (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication.html)
// in the Amazon S3 User Guide.
- Priority int32
+ Priority *int32
// A container that describes additional filters for identifying the source
// objects that you want to replicate. You can choose to enable or disable the
@@ -2729,7 +2866,7 @@ type ReplicationTime struct {
type ReplicationTimeValue struct {
// Contains an integer specifying time in minutes. Valid value: 15
- Minutes int32
+ Minutes *int32
noSmithyDocumentSerde
}
@@ -2750,7 +2887,7 @@ type RequestProgress struct {
// Specifies whether periodic QueryProgress frames should be sent. Valid values:
// TRUE, FALSE. Default value: FALSE.
- Enabled bool
+ Enabled *bool
noSmithyDocumentSerde
}
@@ -2761,7 +2898,7 @@ type RestoreRequest struct {
// Lifetime of the active copy in days. Do not use with restores that specify
// OutputLocation . The Days element is required for regular restores, and must not
// be provided for select requests.
- Days int32
+ Days *int32
// The optional description for the job.
Description *string
@@ -2789,7 +2926,9 @@ type RestoreRequest struct {
// classes must be restored before they can be retrieved. For more information
// about these storage classes and how to work with archived objects, see Working
// with archived objects (https://docs.aws.amazon.com/AmazonS3/latest/userguide/archived-objects.html)
-// in the Amazon S3 User Guide.
+// in the Amazon S3 User Guide. This functionality is not supported for directory
+// buckets. Only the S3 Express One Zone storage class is supported by directory
+// buckets to store objects.
type RestoreStatus struct {
// Specifies whether the object is currently being restored. If the object
@@ -2799,7 +2938,7 @@ type RestoreStatus struct {
// x-amz-optional-object-attributes: IsRestoreInProgress="false",
// RestoreExpiryDate="2012-12-21T00:00:00.000Z" If the object hasn't been restored,
// there is no header response.
- IsRestoreInProgress bool
+ IsRestoreInProgress *bool
// Indicates when the restored copy will expire. This value is populated only if
// the object has already been restored. For example:
@@ -2886,13 +3025,13 @@ type ScanRange struct {
// non-negative integers. The default value is one less than the size of the object
// being queried. If only the End parameter is supplied, it is interpreted to mean
// scan the last N bytes of the file. For example, 50 means scan the last 50 bytes.
- End int64
+ End *int64
// Specifies the start of the byte range. This parameter is optional. Valid
// values: non-negative integers. The default value is 0. If only start is
// supplied, it means scan from that point to the end of the file. For example, 50
// means scan from byte 50 until the end of the file.
- Start int64
+ Start *int64
noSmithyDocumentSerde
}
@@ -3042,8 +3181,51 @@ type ServerSideEncryptionRule struct {
// to use an S3 Bucket Key. By default, S3 Bucket Key is not enabled. For more
// information, see Amazon S3 Bucket Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html)
// in the Amazon S3 User Guide.
- BucketKeyEnabled bool
+ BucketKeyEnabled *bool
+
+ noSmithyDocumentSerde
+}
+
+// The established temporary security credentials of the session. Directory
+// buckets - These session credentials are only supported for the authentication
+// and authorization of Zonal endpoint APIs on directory buckets.
+type SessionCredentials struct {
+
+ // A unique identifier that's associated with a secret access key. The access key
+ // ID and the secret access key are used together to sign programmatic Amazon Web
+ // Services requests cryptographically.
+ //
+ // This member is required.
+ AccessKeyId *string
+
+ // Temporary security credentials expire after a specified interval. After
+ // temporary credentials expire, any calls that you make with those credentials
+ // will fail. So you must generate a new set of temporary credentials. Temporary
+ // credentials cannot be extended or refreshed beyond the original specified
+ // interval.
+ //
+ // This member is required.
+ Expiration *time.Time
+
+ // A key that's used with the access key ID to cryptographically sign programmatic
+ // Amazon Web Services requests. Signing a request identifies the sender and
+ // prevents the request from being altered.
+ //
+ // This member is required.
+ SecretAccessKey *string
+ // A part of the temporary security credentials. The session token is used to
+ // validate the temporary security credentials.
+ //
+ // This member is required.
+ SessionToken *string
+
+ noSmithyDocumentSerde
+}
+
+// To use simple format for S3 keys for log objects, set SimplePrefix to an empty
+// object. [DestinationPrefix][YYYY]-[MM]-[DD]-[hh]-[mm]-[ss]-[UniqueString]
+type SimplePrefix struct {
noSmithyDocumentSerde
}
@@ -3106,13 +3288,13 @@ type SSES3 struct {
type Stats struct {
// The total number of uncompressed object bytes processed.
- BytesProcessed int64
+ BytesProcessed *int64
// The total number of bytes of records payload data returned.
- BytesReturned int64
+ BytesReturned *int64
// The total number of object bytes scanned.
- BytesScanned int64
+ BytesScanned *int64
noSmithyDocumentSerde
}
@@ -3196,6 +3378,20 @@ type TargetGrant struct {
noSmithyDocumentSerde
}
+// Amazon S3 key format for log objects. Only one format, PartitionedPrefix or
+// SimplePrefix, is allowed.
+type TargetObjectKeyFormat struct {
+
+ // Partitioned S3 key for log objects.
+ PartitionedPrefix *PartitionedPrefix
+
+ // To use the simple format for S3 keys for log objects. To specify SimplePrefix
+ // format, set SimplePrefix to {}.
+ SimplePrefix *SimplePrefix
+
+ noSmithyDocumentSerde
+}
+
// The S3 Intelligent-Tiering storage class is designed to optimize storage costs
// by automatically moving data to the most cost-effective storage access tier,
// without additional operational overhead.
@@ -3215,7 +3411,7 @@ type Tiering struct {
// days).
//
// This member is required.
- Days int32
+ Days *int32
noSmithyDocumentSerde
}
@@ -3262,7 +3458,7 @@ type Transition struct {
// Indicates the number of days after creation when objects are transitioned to
// the specified storage class. The value must be a positive integer.
- Days int32
+ Days *int32
// The storage class to which you want the object to transition.
StorageClass TransitionStorageClass
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/validators.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/validators.go
index ccd845a7..e954b302 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/validators.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/validators.go
@@ -110,6 +110,26 @@ func (m *validateOpCreateMultipartUpload) HandleInitialize(ctx context.Context,
return next.HandleInitialize(ctx, in)
}
+type validateOpCreateSession struct {
+}
+
+func (*validateOpCreateSession) ID() string {
+ return "OperationInputValidation"
+}
+
+func (m *validateOpCreateSession) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
+ out middleware.InitializeOutput, metadata middleware.Metadata, err error,
+) {
+ input, ok := in.Parameters.(*CreateSessionInput)
+ if !ok {
+ return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
+ }
+ if err := validateOpCreateSessionInput(input); err != nil {
+ return out, metadata, err
+ }
+ return next.HandleInitialize(ctx, in)
+}
+
type validateOpDeleteBucketAnalyticsConfiguration struct {
}
@@ -1870,6 +1890,10 @@ func addOpCreateMultipartUploadValidationMiddleware(stack *middleware.Stack) err
return stack.Initialize.Add(&validateOpCreateMultipartUpload{}, middleware.After)
}
+func addOpCreateSessionValidationMiddleware(stack *middleware.Stack) error {
+ return stack.Initialize.Add(&validateOpCreateSession{}, middleware.After)
+}
+
func addOpDeleteBucketAnalyticsConfigurationValidationMiddleware(stack *middleware.Stack) error {
return stack.Initialize.Add(&validateOpDeleteBucketAnalyticsConfiguration{}, middleware.After)
}
@@ -2699,6 +2723,9 @@ func validateInventoryConfiguration(v *types.InventoryConfiguration) error {
invalidParams.AddNested("Destination", err.(smithy.InvalidParamsError))
}
}
+ if v.IsEnabled == nil {
+ invalidParams.Add(smithy.NewErrParamRequired("IsEnabled"))
+ }
if v.Filter != nil {
if err := validateInventoryFilter(v.Filter); err != nil {
invalidParams.AddNested("Filter", err.(smithy.InvalidParamsError))
@@ -3735,6 +3762,9 @@ func validateTiering(v *types.Tiering) error {
return nil
}
invalidParams := smithy.InvalidParamsError{Context: "Tiering"}
+ if v.Days == nil {
+ invalidParams.Add(smithy.NewErrParamRequired("Days"))
+ }
if len(v.AccessTier) == 0 {
invalidParams.Add(smithy.NewErrParamRequired("AccessTier"))
}
@@ -3925,6 +3955,21 @@ func validateOpCreateMultipartUploadInput(v *CreateMultipartUploadInput) error {
}
}
+func validateOpCreateSessionInput(v *CreateSessionInput) error {
+ if v == nil {
+ return nil
+ }
+ invalidParams := smithy.InvalidParamsError{Context: "CreateSessionInput"}
+ if v.Bucket == nil {
+ invalidParams.Add(smithy.NewErrParamRequired("Bucket"))
+ }
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ } else {
+ return nil
+ }
+}
+
func validateOpDeleteBucketAnalyticsConfigurationInput(v *DeleteBucketAnalyticsConfigurationInput) error {
if v == nil {
return nil
@@ -5444,6 +5489,9 @@ func validateOpUploadPartCopyInput(v *UploadPartCopyInput) error {
if v.Key == nil {
invalidParams.Add(smithy.NewErrParamRequired("Key"))
}
+ if v.PartNumber == nil {
+ invalidParams.Add(smithy.NewErrParamRequired("PartNumber"))
+ }
if v.UploadId == nil {
invalidParams.Add(smithy.NewErrParamRequired("UploadId"))
}
@@ -5465,6 +5513,9 @@ func validateOpUploadPartInput(v *UploadPartInput) error {
if v.Key == nil {
invalidParams.Add(smithy.NewErrParamRequired("Key"))
}
+ if v.PartNumber == nil {
+ invalidParams.Add(smithy.NewErrParamRequired("PartNumber"))
+ }
if v.UploadId == nil {
invalidParams.Add(smithy.NewErrParamRequired("UploadId"))
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md
index 04222cda..9d5847a0 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md
@@ -1,3 +1,54 @@
+# v1.18.6 (2024-01-04)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.18.5 (2023-12-08)
+
+* **Bug Fix**: Reinstate presence of default Retryer in functional options, but still respect max attempts set therein.
+
+# v1.18.4 (2023-12-07)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.18.3 (2023-12-06)
+
+* **Bug Fix**: Restore pre-refactor auth behavior where all operations could technically be performed anonymously.
+
+# v1.18.2 (2023-12-01)
+
+* **Bug Fix**: Correct wrapping of errors in authentication workflow.
+* **Bug Fix**: Correctly recognize cache-wrapped instances of AnonymousCredentials at client construction.
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.18.1 (2023-11-30)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.18.0 (2023-11-29)
+
+* **Feature**: Expose Options() accessor on service clients.
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.17.5 (2023-11-28.2)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.17.4 (2023-11-28)
+
+* **Bug Fix**: Respect setting RetryMaxAttempts in functional options at client construction.
+
+# v1.17.3 (2023-11-20)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.17.2 (2023-11-15)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.17.1 (2023-11-09)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
# v1.17.0 (2023-11-01)
* **Feature**: Adds support for configured endpoints via environment variables and the AWS shared configuration file.
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_client.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_client.go
index a2579227..e4396992 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_client.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_client.go
@@ -11,6 +11,8 @@ import (
"github.com/aws/aws-sdk-go-v2/aws/retry"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
awshttp "github.com/aws/aws-sdk-go-v2/aws/transport/http"
+ internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
+ internalauthsmithy "github.com/aws/aws-sdk-go-v2/internal/auth/smithy"
internalConfig "github.com/aws/aws-sdk-go-v2/internal/configsources"
smithy "github.com/aws/smithy-go"
smithydocument "github.com/aws/smithy-go/document"
@@ -46,157 +48,48 @@ func New(options Options, optFns ...func(*Options)) *Client {
resolveHTTPSignerV4(&options)
+ resolveEndpointResolverV2(&options)
+
+ resolveAuthSchemeResolver(&options)
+
for _, fn := range optFns {
fn(&options)
}
- client := &Client{
- options: options,
- }
-
- return client
-}
-
-type Options struct {
- // Set of options to modify how an operation is invoked. These apply to all
- // operations invoked for this client. Use functional options on operation call to
- // modify this list for per operation behavior.
- APIOptions []func(*middleware.Stack) error
-
- // The optional application specific identifier appended to the User-Agent header.
- AppID string
-
- // This endpoint will be given as input to an EndpointResolverV2. It is used for
- // providing a custom base endpoint that is subject to modifications by the
- // processing EndpointResolverV2.
- BaseEndpoint *string
-
- // Configures the events that will be sent to the configured logger.
- ClientLogMode aws.ClientLogMode
-
- // The credentials object to use when signing requests.
- Credentials aws.CredentialsProvider
-
- // The configuration DefaultsMode that the SDK should use when constructing the
- // clients initial default settings.
- DefaultsMode aws.DefaultsMode
-
- // The endpoint options to be used when attempting to resolve an endpoint.
- EndpointOptions EndpointResolverOptions
-
- // The service endpoint resolver.
- //
- // Deprecated: Deprecated: EndpointResolver and WithEndpointResolver. Providing a
- // value for this field will likely prevent you from using any endpoint-related
- // service features released after the introduction of EndpointResolverV2 and
- // BaseEndpoint. To migrate an EndpointResolver implementation that uses a custom
- // endpoint, set the client option BaseEndpoint instead.
- EndpointResolver EndpointResolver
-
- // Resolves the endpoint used for a particular service. This should be used over
- // the deprecated EndpointResolver
- EndpointResolverV2 EndpointResolverV2
-
- // Signature Version 4 (SigV4) Signer
- HTTPSignerV4 HTTPSignerV4
-
- // The logger writer interface to write logging messages to.
- Logger logging.Logger
-
- // The region to send requests to. (Required)
- Region string
+ finalizeRetryMaxAttempts(&options)
- // RetryMaxAttempts specifies the maximum number attempts an API client will call
- // an operation that fails with a retryable error. A value of 0 is ignored, and
- // will not be used to configure the API client created default retryer, or modify
- // per operation call's retry max attempts. When creating a new API Clients this
- // member will only be used if the Retryer Options member is nil. This value will
- // be ignored if Retryer is not nil. If specified in an operation call's functional
- // options with a value that is different than the constructed client's Options,
- // the Client's Retryer will be wrapped to use the operation's specific
- // RetryMaxAttempts value.
- RetryMaxAttempts int
+ ignoreAnonymousAuth(&options)
- // RetryMode specifies the retry mode the API client will be created with, if
- // Retryer option is not also specified. When creating a new API Clients this
- // member will only be used if the Retryer Options member is nil. This value will
- // be ignored if Retryer is not nil. Currently does not support per operation call
- // overrides, may in the future.
- RetryMode aws.RetryMode
+ wrapWithAnonymousAuth(&options)
- // Retryer guides how HTTP requests should be retried in case of recoverable
- // failures. When nil the API client will use a default retryer. The kind of
- // default retry created by the API client can be changed with the RetryMode
- // option.
- Retryer aws.Retryer
+ resolveAuthSchemes(&options)
- // The RuntimeEnvironment configuration, only populated if the DefaultsMode is set
- // to DefaultsModeAuto and is initialized using config.LoadDefaultConfig . You
- // should not populate this structure programmatically, or rely on the values here
- // within your applications.
- RuntimeEnvironment aws.RuntimeEnvironment
-
- // The initial DefaultsMode used when the client options were constructed. If the
- // DefaultsMode was set to aws.DefaultsModeAuto this will store what the resolved
- // value was at that point in time. Currently does not support per operation call
- // overrides, may in the future.
- resolvedDefaultsMode aws.DefaultsMode
-
- // The HTTP client to invoke API calls with. Defaults to client's default HTTP
- // implementation if nil.
- HTTPClient HTTPClient
-}
-
-// WithAPIOptions returns a functional option for setting the Client's APIOptions
-// option.
-func WithAPIOptions(optFns ...func(*middleware.Stack) error) func(*Options) {
- return func(o *Options) {
- o.APIOptions = append(o.APIOptions, optFns...)
- }
-}
-
-// Deprecated: EndpointResolver and WithEndpointResolver. Providing a value for
-// this field will likely prevent you from using any endpoint-related service
-// features released after the introduction of EndpointResolverV2 and BaseEndpoint.
-// To migrate an EndpointResolver implementation that uses a custom endpoint, set
-// the client option BaseEndpoint instead.
-func WithEndpointResolver(v EndpointResolver) func(*Options) {
- return func(o *Options) {
- o.EndpointResolver = v
+ client := &Client{
+ options: options,
}
-}
-// WithEndpointResolverV2 returns a functional option for setting the Client's
-// EndpointResolverV2 option.
-func WithEndpointResolverV2(v EndpointResolverV2) func(*Options) {
- return func(o *Options) {
- o.EndpointResolverV2 = v
- }
+ return client
}
-type HTTPClient interface {
- Do(*http.Request) (*http.Response, error)
+// Options returns a copy of the client configuration.
+//
+// Callers SHOULD NOT perform mutations on any inner structures within client
+// config. Config overrides should instead be made on a per-operation basis through
+// functional options.
+func (c *Client) Options() Options {
+ return c.options.Copy()
}
-// Copy creates a clone where the APIOptions list is deep copied.
-func (o Options) Copy() Options {
- to := o
- to.APIOptions = make([]func(*middleware.Stack) error, len(o.APIOptions))
- copy(to.APIOptions, o.APIOptions)
-
- return to
-}
func (c *Client) invokeOperation(ctx context.Context, opID string, params interface{}, optFns []func(*Options), stackFns ...func(*middleware.Stack, Options) error) (result interface{}, metadata middleware.Metadata, err error) {
ctx = middleware.ClearStackValues(ctx)
stack := middleware.NewStack(opID, smithyhttp.NewStackRequest)
options := c.options.Copy()
- resolveEndpointResolverV2(&options)
for _, fn := range optFns {
fn(&options)
}
- finalizeRetryMaxAttemptOptions(&options, *c)
+ finalizeOperationRetryMaxAttempts(&options, *c)
finalizeClientEndpointResolverOptions(&options)
@@ -224,6 +117,63 @@ func (c *Client) invokeOperation(ctx context.Context, opID string, params interf
return result, metadata, err
}
+type operationInputKey struct{}
+
+func setOperationInput(ctx context.Context, input interface{}) context.Context {
+ return middleware.WithStackValue(ctx, operationInputKey{}, input)
+}
+
+func getOperationInput(ctx context.Context) interface{} {
+ return middleware.GetStackValue(ctx, operationInputKey{})
+}
+
+type setOperationInputMiddleware struct {
+}
+
+func (*setOperationInputMiddleware) ID() string {
+ return "setOperationInput"
+}
+
+func (m *setOperationInputMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ ctx = setOperationInput(ctx, in.Parameters)
+ return next.HandleSerialize(ctx, in)
+}
+
+func addProtocolFinalizerMiddlewares(stack *middleware.Stack, options Options, operation string) error {
+ if err := stack.Finalize.Add(&resolveAuthSchemeMiddleware{operation: operation, options: options}, middleware.Before); err != nil {
+ return fmt.Errorf("add ResolveAuthScheme: %w", err)
+ }
+ if err := stack.Finalize.Insert(&getIdentityMiddleware{options: options}, "ResolveAuthScheme", middleware.After); err != nil {
+ return fmt.Errorf("add GetIdentity: %v", err)
+ }
+ if err := stack.Finalize.Insert(&resolveEndpointV2Middleware{options: options}, "GetIdentity", middleware.After); err != nil {
+ return fmt.Errorf("add ResolveEndpointV2: %v", err)
+ }
+ if err := stack.Finalize.Insert(&signRequestMiddleware{}, "ResolveEndpointV2", middleware.After); err != nil {
+ return fmt.Errorf("add Signing: %w", err)
+ }
+ return nil
+}
+func resolveAuthSchemeResolver(options *Options) {
+ if options.AuthSchemeResolver == nil {
+ options.AuthSchemeResolver = &defaultAuthSchemeResolver{}
+ }
+}
+
+func resolveAuthSchemes(options *Options) {
+ if options.AuthSchemes == nil {
+ options.AuthSchemes = []smithyhttp.AuthScheme{
+ internalauth.NewHTTPAuthScheme("aws.auth#sigv4", &internalauthsmithy.V4SignerAdapter{
+ Signer: options.HTTPSignerV4,
+ Logger: options.Logger,
+ LogSigning: options.ClientLogMode.IsSigning(),
+ }),
+ }
+ }
+}
+
type noSmithyDocumentSerde = smithydocument.NoSerde
type legacyEndpointContextSetter struct {
@@ -387,7 +337,15 @@ func resolveAWSRetryMaxAttempts(cfg aws.Config, o *Options) {
o.RetryMaxAttempts = cfg.RetryMaxAttempts
}
-func finalizeRetryMaxAttemptOptions(o *Options, client Client) {
+func finalizeRetryMaxAttempts(o *Options) {
+ if o.RetryMaxAttempts == 0 {
+ return
+ }
+
+ o.Retryer = retry.AddWithMaxAttempts(o.Retryer, o.RetryMaxAttempts)
+}
+
+func finalizeOperationRetryMaxAttempts(o *Options, client Client) {
if v := o.RetryMaxAttempts; v == 0 || v == client.options.RetryMaxAttempts {
return
}
@@ -414,15 +372,6 @@ func addClientUserAgent(stack *middleware.Stack, options Options) error {
return nil
}
-func addHTTPSignerV4Middleware(stack *middleware.Stack, o Options) error {
- mw := v4.NewSignHTTPRequestMiddleware(v4.SignHTTPRequestMiddlewareOptions{
- CredentialsProvider: o.Credentials,
- Signer: o.HTTPSignerV4,
- LogSigning: o.ClientLogMode.IsSigning(),
- })
- return stack.Finalize.Add(mw, middleware.After)
-}
-
type HTTPSignerV4 interface {
SignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time, optFns ...func(*v4.SignerOptions)) error
}
@@ -496,31 +445,31 @@ func addRequestResponseLogging(stack *middleware.Stack, o Options) error {
}, middleware.After)
}
-type endpointDisableHTTPSMiddleware struct {
- EndpointDisableHTTPS bool
+type disableHTTPSMiddleware struct {
+ DisableHTTPS bool
}
-func (*endpointDisableHTTPSMiddleware) ID() string {
- return "endpointDisableHTTPSMiddleware"
+func (*disableHTTPSMiddleware) ID() string {
+ return "disableHTTPS"
}
-func (m *endpointDisableHTTPSMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+func (m *disableHTTPSMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
) {
req, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
}
- if m.EndpointDisableHTTPS && !smithyhttp.GetHostnameImmutable(ctx) {
+ if m.DisableHTTPS && !smithyhttp.GetHostnameImmutable(ctx) {
req.URL.Scheme = "http"
}
- return next.HandleSerialize(ctx, in)
-
+ return next.HandleFinalize(ctx, in)
}
-func addendpointDisableHTTPSMiddleware(stack *middleware.Stack, o Options) error {
- return stack.Serialize.Insert(&endpointDisableHTTPSMiddleware{
- EndpointDisableHTTPS: o.EndpointOptions.DisableHTTPS,
- }, "OperationSerializer", middleware.Before)
+
+func addDisableHTTPSMiddleware(stack *middleware.Stack, o Options) error {
+ return stack.Finalize.Insert(&disableHTTPSMiddleware{
+ DisableHTTPS: o.EndpointOptions.DisableHTTPS,
+ }, "ResolveEndpointV2", middleware.After)
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_GetRoleCredentials.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_GetRoleCredentials.go
index 0383bb0b..436eadc8 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_GetRoleCredentials.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_GetRoleCredentials.go
@@ -4,13 +4,9 @@ package sso
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
"github.com/aws/aws-sdk-go-v2/service/sso/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -66,6 +62,9 @@ type GetRoleCredentialsOutput struct {
}
func (c *Client) addOperationGetRoleCredentialsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestjson1_serializeOpGetRoleCredentials{}, middleware.After)
if err != nil {
return err
@@ -74,6 +73,10 @@ func (c *Client) addOperationGetRoleCredentialsMiddlewares(stack *middleware.Sta
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetRoleCredentials"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -107,7 +110,7 @@ func (c *Client) addOperationGetRoleCredentialsMiddlewares(stack *middleware.Sta
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = addGetRoleCredentialsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpGetRoleCredentialsValidationMiddleware(stack); err != nil {
@@ -128,7 +131,7 @@ func (c *Client) addOperationGetRoleCredentialsMiddlewares(stack *middleware.Sta
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
@@ -141,126 +144,3 @@ func newServiceMetadataMiddleware_opGetRoleCredentials(region string) *awsmiddle
OperationName: "GetRoleCredentials",
}
}
-
-type opGetRoleCredentialsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetRoleCredentialsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetRoleCredentialsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "awsssoportal"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
-
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "awsssoportal"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("awsssoportal")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetRoleCredentialsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetRoleCredentialsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- Endpoint: options.BaseEndpoint,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_ListAccountRoles.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_ListAccountRoles.go
index cc28543f..d81b0677 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_ListAccountRoles.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_ListAccountRoles.go
@@ -4,13 +4,9 @@ package sso
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
"github.com/aws/aws-sdk-go-v2/service/sso/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -71,6 +67,9 @@ type ListAccountRolesOutput struct {
}
func (c *Client) addOperationListAccountRolesMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestjson1_serializeOpListAccountRoles{}, middleware.After)
if err != nil {
return err
@@ -79,6 +78,10 @@ func (c *Client) addOperationListAccountRolesMiddlewares(stack *middleware.Stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "ListAccountRoles"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -112,7 +115,7 @@ func (c *Client) addOperationListAccountRolesMiddlewares(stack *middleware.Stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = addListAccountRolesResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpListAccountRolesValidationMiddleware(stack); err != nil {
@@ -133,7 +136,7 @@ func (c *Client) addOperationListAccountRolesMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
@@ -236,126 +239,3 @@ func newServiceMetadataMiddleware_opListAccountRoles(region string) *awsmiddlewa
OperationName: "ListAccountRoles",
}
}
-
-type opListAccountRolesResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opListAccountRolesResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opListAccountRolesResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "awsssoportal"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
-
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "awsssoportal"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("awsssoportal")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addListAccountRolesResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opListAccountRolesResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- Endpoint: options.BaseEndpoint,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_ListAccounts.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_ListAccounts.go
index 567f6c66..38f8472a 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_ListAccounts.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_ListAccounts.go
@@ -4,13 +4,9 @@ package sso
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
"github.com/aws/aws-sdk-go-v2/service/sso/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -69,6 +65,9 @@ type ListAccountsOutput struct {
}
func (c *Client) addOperationListAccountsMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestjson1_serializeOpListAccounts{}, middleware.After)
if err != nil {
return err
@@ -77,6 +76,10 @@ func (c *Client) addOperationListAccountsMiddlewares(stack *middleware.Stack, op
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "ListAccounts"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -110,7 +113,7 @@ func (c *Client) addOperationListAccountsMiddlewares(stack *middleware.Stack, op
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = addListAccountsResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpListAccountsValidationMiddleware(stack); err != nil {
@@ -131,7 +134,7 @@ func (c *Client) addOperationListAccountsMiddlewares(stack *middleware.Stack, op
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
@@ -233,126 +236,3 @@ func newServiceMetadataMiddleware_opListAccounts(region string) *awsmiddleware.R
OperationName: "ListAccounts",
}
}
-
-type opListAccountsResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opListAccountsResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opListAccountsResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "awsssoportal"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
-
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "awsssoportal"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("awsssoportal")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addListAccountsResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opListAccountsResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- Endpoint: options.BaseEndpoint,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_Logout.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_Logout.go
index c30da029..82e98a89 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_Logout.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/api_op_Logout.go
@@ -4,12 +4,8 @@ package sso
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -61,6 +57,9 @@ type LogoutOutput struct {
}
func (c *Client) addOperationLogoutMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestjson1_serializeOpLogout{}, middleware.After)
if err != nil {
return err
@@ -69,6 +68,10 @@ func (c *Client) addOperationLogoutMiddlewares(stack *middleware.Stack, options
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "Logout"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -102,7 +105,7 @@ func (c *Client) addOperationLogoutMiddlewares(stack *middleware.Stack, options
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = addLogoutResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpLogoutValidationMiddleware(stack); err != nil {
@@ -123,7 +126,7 @@ func (c *Client) addOperationLogoutMiddlewares(stack *middleware.Stack, options
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
@@ -136,126 +139,3 @@ func newServiceMetadataMiddleware_opLogout(region string) *awsmiddleware.Registe
OperationName: "Logout",
}
}
-
-type opLogoutResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opLogoutResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opLogoutResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "awsssoportal"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
-
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "awsssoportal"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("awsssoportal")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addLogoutResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opLogoutResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- Endpoint: options.BaseEndpoint,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/auth.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/auth.go
new file mode 100644
index 00000000..3b28e825
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/auth.go
@@ -0,0 +1,308 @@
+// Code generated by smithy-go-codegen DO NOT EDIT.
+
+package sso
+
+import (
+ "context"
+ "fmt"
+ awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
+ smithy "github.com/aws/smithy-go"
+ smithyauth "github.com/aws/smithy-go/auth"
+ "github.com/aws/smithy-go/middleware"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+)
+
+func bindAuthParamsRegion(params *AuthResolverParameters, _ interface{}, options Options) {
+ params.Region = options.Region
+}
+
+type setLegacyContextSigningOptionsMiddleware struct {
+}
+
+func (*setLegacyContextSigningOptionsMiddleware) ID() string {
+ return "setLegacyContextSigningOptions"
+}
+
+func (m *setLegacyContextSigningOptionsMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ rscheme := getResolvedAuthScheme(ctx)
+ schemeID := rscheme.Scheme.SchemeID()
+
+ if sn := awsmiddleware.GetSigningName(ctx); sn != "" {
+ if schemeID == "aws.auth#sigv4" {
+ smithyhttp.SetSigV4SigningName(&rscheme.SignerProperties, sn)
+ } else if schemeID == "aws.auth#sigv4a" {
+ smithyhttp.SetSigV4ASigningName(&rscheme.SignerProperties, sn)
+ }
+ }
+
+ if sr := awsmiddleware.GetSigningRegion(ctx); sr != "" {
+ if schemeID == "aws.auth#sigv4" {
+ smithyhttp.SetSigV4SigningRegion(&rscheme.SignerProperties, sr)
+ } else if schemeID == "aws.auth#sigv4a" {
+ smithyhttp.SetSigV4ASigningRegions(&rscheme.SignerProperties, []string{sr})
+ }
+ }
+
+ return next.HandleFinalize(ctx, in)
+}
+
+func addSetLegacyContextSigningOptionsMiddleware(stack *middleware.Stack) error {
+ return stack.Finalize.Insert(&setLegacyContextSigningOptionsMiddleware{}, "Signing", middleware.Before)
+}
+
+type withAnonymous struct {
+ resolver AuthSchemeResolver
+}
+
+var _ AuthSchemeResolver = (*withAnonymous)(nil)
+
+func (v *withAnonymous) ResolveAuthSchemes(ctx context.Context, params *AuthResolverParameters) ([]*smithyauth.Option, error) {
+ opts, err := v.resolver.ResolveAuthSchemes(ctx, params)
+ if err != nil {
+ return nil, err
+ }
+
+ opts = append(opts, &smithyauth.Option{
+ SchemeID: smithyauth.SchemeIDAnonymous,
+ })
+ return opts, nil
+}
+
+func wrapWithAnonymousAuth(options *Options) {
+ if _, ok := options.AuthSchemeResolver.(*defaultAuthSchemeResolver); !ok {
+ return
+ }
+
+ options.AuthSchemeResolver = &withAnonymous{
+ resolver: options.AuthSchemeResolver,
+ }
+}
+
+// AuthResolverParameters contains the set of inputs necessary for auth scheme
+// resolution.
+type AuthResolverParameters struct {
+ // The name of the operation being invoked.
+ Operation string
+
+ // The region in which the operation is being invoked.
+ Region string
+}
+
+func bindAuthResolverParams(operation string, input interface{}, options Options) *AuthResolverParameters {
+ params := &AuthResolverParameters{
+ Operation: operation,
+ }
+
+ bindAuthParamsRegion(params, input, options)
+
+ return params
+}
+
+// AuthSchemeResolver returns a set of possible authentication options for an
+// operation.
+type AuthSchemeResolver interface {
+ ResolveAuthSchemes(context.Context, *AuthResolverParameters) ([]*smithyauth.Option, error)
+}
+
+type defaultAuthSchemeResolver struct{}
+
+var _ AuthSchemeResolver = (*defaultAuthSchemeResolver)(nil)
+
+func (*defaultAuthSchemeResolver) ResolveAuthSchemes(ctx context.Context, params *AuthResolverParameters) ([]*smithyauth.Option, error) {
+ if overrides, ok := operationAuthOptions[params.Operation]; ok {
+ return overrides(params), nil
+ }
+ return serviceAuthOptions(params), nil
+}
+
+var operationAuthOptions = map[string]func(*AuthResolverParameters) []*smithyauth.Option{
+ "GetRoleCredentials": func(params *AuthResolverParameters) []*smithyauth.Option {
+ return []*smithyauth.Option{
+ {SchemeID: smithyauth.SchemeIDAnonymous},
+ }
+ },
+
+ "ListAccountRoles": func(params *AuthResolverParameters) []*smithyauth.Option {
+ return []*smithyauth.Option{
+ {SchemeID: smithyauth.SchemeIDAnonymous},
+ }
+ },
+
+ "ListAccounts": func(params *AuthResolverParameters) []*smithyauth.Option {
+ return []*smithyauth.Option{
+ {SchemeID: smithyauth.SchemeIDAnonymous},
+ }
+ },
+
+ "Logout": func(params *AuthResolverParameters) []*smithyauth.Option {
+ return []*smithyauth.Option{
+ {SchemeID: smithyauth.SchemeIDAnonymous},
+ }
+ },
+}
+
+func serviceAuthOptions(params *AuthResolverParameters) []*smithyauth.Option {
+ return []*smithyauth.Option{
+ {
+ SchemeID: smithyauth.SchemeIDSigV4,
+ SignerProperties: func() smithy.Properties {
+ var props smithy.Properties
+ smithyhttp.SetSigV4SigningName(&props, "awsssoportal")
+ smithyhttp.SetSigV4SigningRegion(&props, params.Region)
+ return props
+ }(),
+ },
+ }
+}
+
+type resolveAuthSchemeMiddleware struct {
+ operation string
+ options Options
+}
+
+func (*resolveAuthSchemeMiddleware) ID() string {
+ return "ResolveAuthScheme"
+}
+
+func (m *resolveAuthSchemeMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ params := bindAuthResolverParams(m.operation, getOperationInput(ctx), m.options)
+ options, err := m.options.AuthSchemeResolver.ResolveAuthSchemes(ctx, params)
+ if err != nil {
+ return out, metadata, fmt.Errorf("resolve auth scheme: %w", err)
+ }
+
+ scheme, ok := m.selectScheme(options)
+ if !ok {
+ return out, metadata, fmt.Errorf("could not select an auth scheme")
+ }
+
+ ctx = setResolvedAuthScheme(ctx, scheme)
+ return next.HandleFinalize(ctx, in)
+}
+
+func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option) (*resolvedAuthScheme, bool) {
+ for _, option := range options {
+ if option.SchemeID == smithyauth.SchemeIDAnonymous {
+ return newResolvedAuthScheme(smithyhttp.NewAnonymousScheme(), option), true
+ }
+
+ for _, scheme := range m.options.AuthSchemes {
+ if scheme.SchemeID() != option.SchemeID {
+ continue
+ }
+
+ if scheme.IdentityResolver(m.options) != nil {
+ return newResolvedAuthScheme(scheme, option), true
+ }
+ }
+ }
+
+ return nil, false
+}
+
+type resolvedAuthSchemeKey struct{}
+
+type resolvedAuthScheme struct {
+ Scheme smithyhttp.AuthScheme
+ IdentityProperties smithy.Properties
+ SignerProperties smithy.Properties
+}
+
+func newResolvedAuthScheme(scheme smithyhttp.AuthScheme, option *smithyauth.Option) *resolvedAuthScheme {
+ return &resolvedAuthScheme{
+ Scheme: scheme,
+ IdentityProperties: option.IdentityProperties,
+ SignerProperties: option.SignerProperties,
+ }
+}
+
+func setResolvedAuthScheme(ctx context.Context, scheme *resolvedAuthScheme) context.Context {
+ return middleware.WithStackValue(ctx, resolvedAuthSchemeKey{}, scheme)
+}
+
+func getResolvedAuthScheme(ctx context.Context) *resolvedAuthScheme {
+ v, _ := middleware.GetStackValue(ctx, resolvedAuthSchemeKey{}).(*resolvedAuthScheme)
+ return v
+}
+
+type getIdentityMiddleware struct {
+ options Options
+}
+
+func (*getIdentityMiddleware) ID() string {
+ return "GetIdentity"
+}
+
+func (m *getIdentityMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ rscheme := getResolvedAuthScheme(ctx)
+ if rscheme == nil {
+ return out, metadata, fmt.Errorf("no resolved auth scheme")
+ }
+
+ resolver := rscheme.Scheme.IdentityResolver(m.options)
+ if resolver == nil {
+ return out, metadata, fmt.Errorf("no identity resolver")
+ }
+
+ identity, err := resolver.GetIdentity(ctx, rscheme.IdentityProperties)
+ if err != nil {
+ return out, metadata, fmt.Errorf("get identity: %w", err)
+ }
+
+ ctx = setIdentity(ctx, identity)
+ return next.HandleFinalize(ctx, in)
+}
+
+type identityKey struct{}
+
+func setIdentity(ctx context.Context, identity smithyauth.Identity) context.Context {
+ return middleware.WithStackValue(ctx, identityKey{}, identity)
+}
+
+func getIdentity(ctx context.Context) smithyauth.Identity {
+ v, _ := middleware.GetStackValue(ctx, identityKey{}).(smithyauth.Identity)
+ return v
+}
+
+type signRequestMiddleware struct {
+}
+
+func (*signRequestMiddleware) ID() string {
+ return "Signing"
+}
+
+func (m *signRequestMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ req, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, fmt.Errorf("unexpected transport type %T", in.Request)
+ }
+
+ rscheme := getResolvedAuthScheme(ctx)
+ if rscheme == nil {
+ return out, metadata, fmt.Errorf("no resolved auth scheme")
+ }
+
+ identity := getIdentity(ctx)
+ if identity == nil {
+ return out, metadata, fmt.Errorf("no identity")
+ }
+
+ signer := rscheme.Scheme.Signer()
+ if signer == nil {
+ return out, metadata, fmt.Errorf("no signer")
+ }
+
+ if err := signer.SignRequest(ctx, req, identity, rscheme.SignerProperties); err != nil {
+ return out, metadata, fmt.Errorf("sign request: %w", err)
+ }
+
+ return next.HandleFinalize(ctx, in)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/endpoints.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/endpoints.go
index 11538705..d31380cf 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/endpoints.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/endpoints.go
@@ -9,8 +9,10 @@ import (
"github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
internalConfig "github.com/aws/aws-sdk-go-v2/internal/configsources"
+ "github.com/aws/aws-sdk-go-v2/internal/endpoints"
"github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn"
internalendpoints "github.com/aws/aws-sdk-go-v2/service/sso/internal/endpoints"
+ smithyauth "github.com/aws/smithy-go/auth"
smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
"github.com/aws/smithy-go/ptr"
@@ -214,72 +216,6 @@ func resolveBaseEndpoint(cfg aws.Config, o *Options) {
}
}
-// Utility function to aid with translating pseudo-regions to classical regions
-// with the appropriate setting indicated by the pseudo-region
-func mapPseudoRegion(pr string) (region string, fips aws.FIPSEndpointState) {
- const fipsInfix = "-fips-"
- const fipsPrefix = "fips-"
- const fipsSuffix = "-fips"
-
- if strings.Contains(pr, fipsInfix) ||
- strings.Contains(pr, fipsPrefix) ||
- strings.Contains(pr, fipsSuffix) {
- region = strings.ReplaceAll(strings.ReplaceAll(strings.ReplaceAll(
- pr, fipsInfix, "-"), fipsPrefix, ""), fipsSuffix, "")
- fips = aws.FIPSEndpointStateEnabled
- } else {
- region = pr
- }
-
- return region, fips
-}
-
-// builtInParameterResolver is the interface responsible for resolving BuiltIn
-// values during the sourcing of EndpointParameters
-type builtInParameterResolver interface {
- ResolveBuiltIns(*EndpointParameters) error
-}
-
-// builtInResolver resolves modeled BuiltIn values using only the members defined
-// below.
-type builtInResolver struct {
- // The AWS region used to dispatch the request.
- Region string
-
- // Sourced BuiltIn value in a historical enabled or disabled state.
- UseDualStack aws.DualStackEndpointState
-
- // Sourced BuiltIn value in a historical enabled or disabled state.
- UseFIPS aws.FIPSEndpointState
-
- // Base endpoint that can potentially be modified during Endpoint resolution.
- Endpoint *string
-}
-
-// Invoked at runtime to resolve BuiltIn Values. Only resolution code specific to
-// each BuiltIn value is generated.
-func (b *builtInResolver) ResolveBuiltIns(params *EndpointParameters) error {
-
- region, _ := mapPseudoRegion(b.Region)
- if len(region) == 0 {
- return fmt.Errorf("Could not resolve AWS::Region")
- } else {
- params.Region = aws.String(region)
- }
- if b.UseDualStack == aws.DualStackEndpointStateEnabled {
- params.UseDualStack = aws.Bool(true)
- } else {
- params.UseDualStack = aws.Bool(false)
- }
- if b.UseFIPS == aws.FIPSEndpointStateEnabled {
- params.UseFIPS = aws.Bool(true)
- } else {
- params.UseFIPS = aws.Bool(false)
- }
- params.Endpoint = b.Endpoint
- return nil
-}
-
// EndpointParameters provides the parameters that influence how endpoints are
// resolved.
type EndpointParameters struct {
@@ -517,3 +453,76 @@ func (r *resolver) ResolveEndpoint(
}
return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Missing Region")
}
+
+type endpointParamsBinder interface {
+ bindEndpointParams(*EndpointParameters)
+}
+
+func bindEndpointParams(input interface{}, options Options) *EndpointParameters {
+ params := &EndpointParameters{}
+
+ params.Region = aws.String(endpoints.MapFIPSRegion(options.Region))
+ params.UseDualStack = aws.Bool(options.EndpointOptions.UseDualStackEndpoint == aws.DualStackEndpointStateEnabled)
+ params.UseFIPS = aws.Bool(options.EndpointOptions.UseFIPSEndpoint == aws.FIPSEndpointStateEnabled)
+ params.Endpoint = options.BaseEndpoint
+
+ if b, ok := input.(endpointParamsBinder); ok {
+ b.bindEndpointParams(params)
+ }
+
+ return params
+}
+
+type resolveEndpointV2Middleware struct {
+ options Options
+}
+
+func (*resolveEndpointV2Middleware) ID() string {
+ return "ResolveEndpointV2"
+}
+
+func (m *resolveEndpointV2Middleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
+ return next.HandleFinalize(ctx, in)
+ }
+
+ req, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
+ }
+
+ if m.options.EndpointResolverV2 == nil {
+ return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
+ }
+
+ params := bindEndpointParams(getOperationInput(ctx), m.options)
+ endpt, err := m.options.EndpointResolverV2.ResolveEndpoint(ctx, *params)
+ if err != nil {
+ return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
+ }
+
+ if endpt.URI.RawPath == "" && req.URL.RawPath != "" {
+ endpt.URI.RawPath = endpt.URI.Path
+ }
+ req.URL.Scheme = endpt.URI.Scheme
+ req.URL.Host = endpt.URI.Host
+ req.URL.Path = smithyhttp.JoinPath(endpt.URI.Path, req.URL.Path)
+ req.URL.RawPath = smithyhttp.JoinPath(endpt.URI.RawPath, req.URL.RawPath)
+ for k := range endpt.Headers {
+ req.Header.Set(k, endpt.Headers.Get(k))
+ }
+
+ rscheme := getResolvedAuthScheme(ctx)
+ if rscheme == nil {
+ return out, metadata, fmt.Errorf("no resolved auth scheme")
+ }
+
+ opts, _ := smithyauth.GetAuthOptions(&endpt.Properties)
+ for _, o := range opts {
+ rscheme.SignerProperties.SetAll(&o.SignerProperties)
+ }
+
+ return next.HandleFinalize(ctx, in)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/generated.json b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/generated.json
index 8e618418..53060bcc 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/generated.json
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/generated.json
@@ -13,6 +13,7 @@
"api_op_ListAccountRoles.go",
"api_op_ListAccounts.go",
"api_op_Logout.go",
+ "auth.go",
"deserializers.go",
"doc.go",
"endpoints.go",
@@ -21,6 +22,7 @@
"generated.json",
"internal/endpoints/endpoints.go",
"internal/endpoints/endpoints_test.go",
+ "options.go",
"protocol_test.go",
"serializers.go",
"types/errors.go",
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go
index d5611c5c..d2e5a8ab 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go
@@ -3,4 +3,4 @@
package sso
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.17.0"
+const goModuleVersion = "1.18.6"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/options.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/options.go
new file mode 100644
index 00000000..5dee7e53
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/options.go
@@ -0,0 +1,217 @@
+// Code generated by smithy-go-codegen DO NOT EDIT.
+
+package sso
+
+import (
+ "context"
+ "github.com/aws/aws-sdk-go-v2/aws"
+ awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
+ internalauthsmithy "github.com/aws/aws-sdk-go-v2/internal/auth/smithy"
+ smithyauth "github.com/aws/smithy-go/auth"
+ "github.com/aws/smithy-go/logging"
+ "github.com/aws/smithy-go/middleware"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+ "net/http"
+)
+
+type HTTPClient interface {
+ Do(*http.Request) (*http.Response, error)
+}
+
+type Options struct {
+ // Set of options to modify how an operation is invoked. These apply to all
+ // operations invoked for this client. Use functional options on operation call to
+ // modify this list for per operation behavior.
+ APIOptions []func(*middleware.Stack) error
+
+ // The optional application specific identifier appended to the User-Agent header.
+ AppID string
+
+ // This endpoint will be given as input to an EndpointResolverV2. It is used for
+ // providing a custom base endpoint that is subject to modifications by the
+ // processing EndpointResolverV2.
+ BaseEndpoint *string
+
+ // Configures the events that will be sent to the configured logger.
+ ClientLogMode aws.ClientLogMode
+
+ // The credentials object to use when signing requests.
+ Credentials aws.CredentialsProvider
+
+ // The configuration DefaultsMode that the SDK should use when constructing the
+ // clients initial default settings.
+ DefaultsMode aws.DefaultsMode
+
+ // The endpoint options to be used when attempting to resolve an endpoint.
+ EndpointOptions EndpointResolverOptions
+
+ // The service endpoint resolver.
+ //
+ // Deprecated: Deprecated: EndpointResolver and WithEndpointResolver. Providing a
+ // value for this field will likely prevent you from using any endpoint-related
+ // service features released after the introduction of EndpointResolverV2 and
+ // BaseEndpoint. To migrate an EndpointResolver implementation that uses a custom
+ // endpoint, set the client option BaseEndpoint instead.
+ EndpointResolver EndpointResolver
+
+ // Resolves the endpoint used for a particular service operation. This should be
+ // used over the deprecated EndpointResolver.
+ EndpointResolverV2 EndpointResolverV2
+
+ // Signature Version 4 (SigV4) Signer
+ HTTPSignerV4 HTTPSignerV4
+
+ // The logger writer interface to write logging messages to.
+ Logger logging.Logger
+
+ // The region to send requests to. (Required)
+ Region string
+
+ // RetryMaxAttempts specifies the maximum number attempts an API client will call
+ // an operation that fails with a retryable error. A value of 0 is ignored, and
+ // will not be used to configure the API client created default retryer, or modify
+ // per operation call's retry max attempts. If specified in an operation call's
+ // functional options with a value that is different than the constructed client's
+ // Options, the Client's Retryer will be wrapped to use the operation's specific
+ // RetryMaxAttempts value.
+ RetryMaxAttempts int
+
+ // RetryMode specifies the retry mode the API client will be created with, if
+ // Retryer option is not also specified. When creating a new API Clients this
+ // member will only be used if the Retryer Options member is nil. This value will
+ // be ignored if Retryer is not nil. Currently does not support per operation call
+ // overrides, may in the future.
+ RetryMode aws.RetryMode
+
+ // Retryer guides how HTTP requests should be retried in case of recoverable
+ // failures. When nil the API client will use a default retryer. The kind of
+ // default retry created by the API client can be changed with the RetryMode
+ // option.
+ Retryer aws.Retryer
+
+ // The RuntimeEnvironment configuration, only populated if the DefaultsMode is set
+ // to DefaultsModeAuto and is initialized using config.LoadDefaultConfig . You
+ // should not populate this structure programmatically, or rely on the values here
+ // within your applications.
+ RuntimeEnvironment aws.RuntimeEnvironment
+
+ // The initial DefaultsMode used when the client options were constructed. If the
+ // DefaultsMode was set to aws.DefaultsModeAuto this will store what the resolved
+ // value was at that point in time. Currently does not support per operation call
+ // overrides, may in the future.
+ resolvedDefaultsMode aws.DefaultsMode
+
+ // The HTTP client to invoke API calls with. Defaults to client's default HTTP
+ // implementation if nil.
+ HTTPClient HTTPClient
+
+ // The auth scheme resolver which determines how to authenticate for each
+ // operation.
+ AuthSchemeResolver AuthSchemeResolver
+
+ // The list of auth schemes supported by the client.
+ AuthSchemes []smithyhttp.AuthScheme
+}
+
+// Copy creates a clone where the APIOptions list is deep copied.
+func (o Options) Copy() Options {
+ to := o
+ to.APIOptions = make([]func(*middleware.Stack) error, len(o.APIOptions))
+ copy(to.APIOptions, o.APIOptions)
+
+ return to
+}
+
+func (o Options) GetIdentityResolver(schemeID string) smithyauth.IdentityResolver {
+ if schemeID == "aws.auth#sigv4" {
+ return getSigV4IdentityResolver(o)
+ }
+ if schemeID == "smithy.api#noAuth" {
+ return &smithyauth.AnonymousIdentityResolver{}
+ }
+ return nil
+}
+
+// WithAPIOptions returns a functional option for setting the Client's APIOptions
+// option.
+func WithAPIOptions(optFns ...func(*middleware.Stack) error) func(*Options) {
+ return func(o *Options) {
+ o.APIOptions = append(o.APIOptions, optFns...)
+ }
+}
+
+// Deprecated: EndpointResolver and WithEndpointResolver. Providing a value for
+// this field will likely prevent you from using any endpoint-related service
+// features released after the introduction of EndpointResolverV2 and BaseEndpoint.
+// To migrate an EndpointResolver implementation that uses a custom endpoint, set
+// the client option BaseEndpoint instead.
+func WithEndpointResolver(v EndpointResolver) func(*Options) {
+ return func(o *Options) {
+ o.EndpointResolver = v
+ }
+}
+
+// WithEndpointResolverV2 returns a functional option for setting the Client's
+// EndpointResolverV2 option.
+func WithEndpointResolverV2(v EndpointResolverV2) func(*Options) {
+ return func(o *Options) {
+ o.EndpointResolverV2 = v
+ }
+}
+
+func getSigV4IdentityResolver(o Options) smithyauth.IdentityResolver {
+ if o.Credentials != nil {
+ return &internalauthsmithy.CredentialsProviderAdapter{Provider: o.Credentials}
+ }
+ return nil
+}
+
+// WithSigV4SigningName applies an override to the authentication workflow to
+// use the given signing name for SigV4-authenticated operations.
+//
+// This is an advanced setting. The value here is FINAL, taking precedence over
+// the resolved signing name from both auth scheme resolution and endpoint
+// resolution.
+func WithSigV4SigningName(name string) func(*Options) {
+ fn := func(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
+ out middleware.InitializeOutput, metadata middleware.Metadata, err error,
+ ) {
+ return next.HandleInitialize(awsmiddleware.SetSigningName(ctx, name), in)
+ }
+ return func(o *Options) {
+ o.APIOptions = append(o.APIOptions, func(s *middleware.Stack) error {
+ return s.Initialize.Add(
+ middleware.InitializeMiddlewareFunc("withSigV4SigningName", fn),
+ middleware.Before,
+ )
+ })
+ }
+}
+
+// WithSigV4SigningRegion applies an override to the authentication workflow to
+// use the given signing region for SigV4-authenticated operations.
+//
+// This is an advanced setting. The value here is FINAL, taking precedence over
+// the resolved signing region from both auth scheme resolution and endpoint
+// resolution.
+func WithSigV4SigningRegion(region string) func(*Options) {
+ fn := func(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
+ out middleware.InitializeOutput, metadata middleware.Metadata, err error,
+ ) {
+ return next.HandleInitialize(awsmiddleware.SetSigningRegion(ctx, region), in)
+ }
+ return func(o *Options) {
+ o.APIOptions = append(o.APIOptions, func(s *middleware.Stack) error {
+ return s.Initialize.Add(
+ middleware.InitializeMiddlewareFunc("withSigV4SigningRegion", fn),
+ middleware.Before,
+ )
+ })
+ }
+}
+
+func ignoreAnonymousAuth(options *Options) {
+ if aws.IsCredentialsProvider(options.Credentials, (*aws.AnonymousCredentials)(nil)) {
+ options.Credentials = nil
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md
index 057f9a25..84810e17 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md
@@ -1,3 +1,58 @@
+# v1.21.6 (2024-01-04)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.21.5 (2023-12-08)
+
+* **Bug Fix**: Reinstate presence of default Retryer in functional options, but still respect max attempts set therein.
+
+# v1.21.4 (2023-12-07)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.21.3 (2023-12-06)
+
+* **Bug Fix**: Restore pre-refactor auth behavior where all operations could technically be performed anonymously.
+
+# v1.21.2 (2023-12-01)
+
+* **Bug Fix**: Correct wrapping of errors in authentication workflow.
+* **Bug Fix**: Correctly recognize cache-wrapped instances of AnonymousCredentials at client construction.
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.21.1 (2023-11-30)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.21.0 (2023-11-29)
+
+* **Feature**: Expose Options() accessor on service clients.
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.20.3 (2023-11-28.2)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.20.2 (2023-11-28)
+
+* **Bug Fix**: Respect setting RetryMaxAttempts in functional options at client construction.
+
+# v1.20.1 (2023-11-20)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.20.0 (2023-11-17)
+
+* **Feature**: Adding support for `sso-oauth:CreateTokenWithIAM`.
+
+# v1.19.2 (2023-11-15)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.19.1 (2023-11-09)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
# v1.19.0 (2023-11-01)
* **Feature**: Adds support for configured endpoints via environment variables and the AWS shared configuration file.
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_client.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_client.go
index 6a56093d..fed08973 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_client.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_client.go
@@ -11,6 +11,8 @@ import (
"github.com/aws/aws-sdk-go-v2/aws/retry"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
awshttp "github.com/aws/aws-sdk-go-v2/aws/transport/http"
+ internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
+ internalauthsmithy "github.com/aws/aws-sdk-go-v2/internal/auth/smithy"
internalConfig "github.com/aws/aws-sdk-go-v2/internal/configsources"
smithy "github.com/aws/smithy-go"
smithydocument "github.com/aws/smithy-go/document"
@@ -46,157 +48,48 @@ func New(options Options, optFns ...func(*Options)) *Client {
resolveHTTPSignerV4(&options)
+ resolveEndpointResolverV2(&options)
+
+ resolveAuthSchemeResolver(&options)
+
for _, fn := range optFns {
fn(&options)
}
- client := &Client{
- options: options,
- }
-
- return client
-}
-
-type Options struct {
- // Set of options to modify how an operation is invoked. These apply to all
- // operations invoked for this client. Use functional options on operation call to
- // modify this list for per operation behavior.
- APIOptions []func(*middleware.Stack) error
-
- // The optional application specific identifier appended to the User-Agent header.
- AppID string
-
- // This endpoint will be given as input to an EndpointResolverV2. It is used for
- // providing a custom base endpoint that is subject to modifications by the
- // processing EndpointResolverV2.
- BaseEndpoint *string
-
- // Configures the events that will be sent to the configured logger.
- ClientLogMode aws.ClientLogMode
-
- // The credentials object to use when signing requests.
- Credentials aws.CredentialsProvider
-
- // The configuration DefaultsMode that the SDK should use when constructing the
- // clients initial default settings.
- DefaultsMode aws.DefaultsMode
-
- // The endpoint options to be used when attempting to resolve an endpoint.
- EndpointOptions EndpointResolverOptions
-
- // The service endpoint resolver.
- //
- // Deprecated: Deprecated: EndpointResolver and WithEndpointResolver. Providing a
- // value for this field will likely prevent you from using any endpoint-related
- // service features released after the introduction of EndpointResolverV2 and
- // BaseEndpoint. To migrate an EndpointResolver implementation that uses a custom
- // endpoint, set the client option BaseEndpoint instead.
- EndpointResolver EndpointResolver
-
- // Resolves the endpoint used for a particular service. This should be used over
- // the deprecated EndpointResolver
- EndpointResolverV2 EndpointResolverV2
-
- // Signature Version 4 (SigV4) Signer
- HTTPSignerV4 HTTPSignerV4
-
- // The logger writer interface to write logging messages to.
- Logger logging.Logger
-
- // The region to send requests to. (Required)
- Region string
+ finalizeRetryMaxAttempts(&options)
- // RetryMaxAttempts specifies the maximum number attempts an API client will call
- // an operation that fails with a retryable error. A value of 0 is ignored, and
- // will not be used to configure the API client created default retryer, or modify
- // per operation call's retry max attempts. When creating a new API Clients this
- // member will only be used if the Retryer Options member is nil. This value will
- // be ignored if Retryer is not nil. If specified in an operation call's functional
- // options with a value that is different than the constructed client's Options,
- // the Client's Retryer will be wrapped to use the operation's specific
- // RetryMaxAttempts value.
- RetryMaxAttempts int
+ ignoreAnonymousAuth(&options)
- // RetryMode specifies the retry mode the API client will be created with, if
- // Retryer option is not also specified. When creating a new API Clients this
- // member will only be used if the Retryer Options member is nil. This value will
- // be ignored if Retryer is not nil. Currently does not support per operation call
- // overrides, may in the future.
- RetryMode aws.RetryMode
+ wrapWithAnonymousAuth(&options)
- // Retryer guides how HTTP requests should be retried in case of recoverable
- // failures. When nil the API client will use a default retryer. The kind of
- // default retry created by the API client can be changed with the RetryMode
- // option.
- Retryer aws.Retryer
+ resolveAuthSchemes(&options)
- // The RuntimeEnvironment configuration, only populated if the DefaultsMode is set
- // to DefaultsModeAuto and is initialized using config.LoadDefaultConfig . You
- // should not populate this structure programmatically, or rely on the values here
- // within your applications.
- RuntimeEnvironment aws.RuntimeEnvironment
-
- // The initial DefaultsMode used when the client options were constructed. If the
- // DefaultsMode was set to aws.DefaultsModeAuto this will store what the resolved
- // value was at that point in time. Currently does not support per operation call
- // overrides, may in the future.
- resolvedDefaultsMode aws.DefaultsMode
-
- // The HTTP client to invoke API calls with. Defaults to client's default HTTP
- // implementation if nil.
- HTTPClient HTTPClient
-}
-
-// WithAPIOptions returns a functional option for setting the Client's APIOptions
-// option.
-func WithAPIOptions(optFns ...func(*middleware.Stack) error) func(*Options) {
- return func(o *Options) {
- o.APIOptions = append(o.APIOptions, optFns...)
- }
-}
-
-// Deprecated: EndpointResolver and WithEndpointResolver. Providing a value for
-// this field will likely prevent you from using any endpoint-related service
-// features released after the introduction of EndpointResolverV2 and BaseEndpoint.
-// To migrate an EndpointResolver implementation that uses a custom endpoint, set
-// the client option BaseEndpoint instead.
-func WithEndpointResolver(v EndpointResolver) func(*Options) {
- return func(o *Options) {
- o.EndpointResolver = v
+ client := &Client{
+ options: options,
}
-}
-// WithEndpointResolverV2 returns a functional option for setting the Client's
-// EndpointResolverV2 option.
-func WithEndpointResolverV2(v EndpointResolverV2) func(*Options) {
- return func(o *Options) {
- o.EndpointResolverV2 = v
- }
+ return client
}
-type HTTPClient interface {
- Do(*http.Request) (*http.Response, error)
+// Options returns a copy of the client configuration.
+//
+// Callers SHOULD NOT perform mutations on any inner structures within client
+// config. Config overrides should instead be made on a per-operation basis through
+// functional options.
+func (c *Client) Options() Options {
+ return c.options.Copy()
}
-// Copy creates a clone where the APIOptions list is deep copied.
-func (o Options) Copy() Options {
- to := o
- to.APIOptions = make([]func(*middleware.Stack) error, len(o.APIOptions))
- copy(to.APIOptions, o.APIOptions)
-
- return to
-}
func (c *Client) invokeOperation(ctx context.Context, opID string, params interface{}, optFns []func(*Options), stackFns ...func(*middleware.Stack, Options) error) (result interface{}, metadata middleware.Metadata, err error) {
ctx = middleware.ClearStackValues(ctx)
stack := middleware.NewStack(opID, smithyhttp.NewStackRequest)
options := c.options.Copy()
- resolveEndpointResolverV2(&options)
for _, fn := range optFns {
fn(&options)
}
- finalizeRetryMaxAttemptOptions(&options, *c)
+ finalizeOperationRetryMaxAttempts(&options, *c)
finalizeClientEndpointResolverOptions(&options)
@@ -224,6 +117,63 @@ func (c *Client) invokeOperation(ctx context.Context, opID string, params interf
return result, metadata, err
}
+type operationInputKey struct{}
+
+func setOperationInput(ctx context.Context, input interface{}) context.Context {
+ return middleware.WithStackValue(ctx, operationInputKey{}, input)
+}
+
+func getOperationInput(ctx context.Context) interface{} {
+ return middleware.GetStackValue(ctx, operationInputKey{})
+}
+
+type setOperationInputMiddleware struct {
+}
+
+func (*setOperationInputMiddleware) ID() string {
+ return "setOperationInput"
+}
+
+func (m *setOperationInputMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ ctx = setOperationInput(ctx, in.Parameters)
+ return next.HandleSerialize(ctx, in)
+}
+
+func addProtocolFinalizerMiddlewares(stack *middleware.Stack, options Options, operation string) error {
+ if err := stack.Finalize.Add(&resolveAuthSchemeMiddleware{operation: operation, options: options}, middleware.Before); err != nil {
+ return fmt.Errorf("add ResolveAuthScheme: %w", err)
+ }
+ if err := stack.Finalize.Insert(&getIdentityMiddleware{options: options}, "ResolveAuthScheme", middleware.After); err != nil {
+ return fmt.Errorf("add GetIdentity: %v", err)
+ }
+ if err := stack.Finalize.Insert(&resolveEndpointV2Middleware{options: options}, "GetIdentity", middleware.After); err != nil {
+ return fmt.Errorf("add ResolveEndpointV2: %v", err)
+ }
+ if err := stack.Finalize.Insert(&signRequestMiddleware{}, "ResolveEndpointV2", middleware.After); err != nil {
+ return fmt.Errorf("add Signing: %w", err)
+ }
+ return nil
+}
+func resolveAuthSchemeResolver(options *Options) {
+ if options.AuthSchemeResolver == nil {
+ options.AuthSchemeResolver = &defaultAuthSchemeResolver{}
+ }
+}
+
+func resolveAuthSchemes(options *Options) {
+ if options.AuthSchemes == nil {
+ options.AuthSchemes = []smithyhttp.AuthScheme{
+ internalauth.NewHTTPAuthScheme("aws.auth#sigv4", &internalauthsmithy.V4SignerAdapter{
+ Signer: options.HTTPSignerV4,
+ Logger: options.Logger,
+ LogSigning: options.ClientLogMode.IsSigning(),
+ }),
+ }
+ }
+}
+
type noSmithyDocumentSerde = smithydocument.NoSerde
type legacyEndpointContextSetter struct {
@@ -387,7 +337,15 @@ func resolveAWSRetryMaxAttempts(cfg aws.Config, o *Options) {
o.RetryMaxAttempts = cfg.RetryMaxAttempts
}
-func finalizeRetryMaxAttemptOptions(o *Options, client Client) {
+func finalizeRetryMaxAttempts(o *Options) {
+ if o.RetryMaxAttempts == 0 {
+ return
+ }
+
+ o.Retryer = retry.AddWithMaxAttempts(o.Retryer, o.RetryMaxAttempts)
+}
+
+func finalizeOperationRetryMaxAttempts(o *Options, client Client) {
if v := o.RetryMaxAttempts; v == 0 || v == client.options.RetryMaxAttempts {
return
}
@@ -414,15 +372,6 @@ func addClientUserAgent(stack *middleware.Stack, options Options) error {
return nil
}
-func addHTTPSignerV4Middleware(stack *middleware.Stack, o Options) error {
- mw := v4.NewSignHTTPRequestMiddleware(v4.SignHTTPRequestMiddlewareOptions{
- CredentialsProvider: o.Credentials,
- Signer: o.HTTPSignerV4,
- LogSigning: o.ClientLogMode.IsSigning(),
- })
- return stack.Finalize.Add(mw, middleware.After)
-}
-
type HTTPSignerV4 interface {
SignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time, optFns ...func(*v4.SignerOptions)) error
}
@@ -496,31 +445,31 @@ func addRequestResponseLogging(stack *middleware.Stack, o Options) error {
}, middleware.After)
}
-type endpointDisableHTTPSMiddleware struct {
- EndpointDisableHTTPS bool
+type disableHTTPSMiddleware struct {
+ DisableHTTPS bool
}
-func (*endpointDisableHTTPSMiddleware) ID() string {
- return "endpointDisableHTTPSMiddleware"
+func (*disableHTTPSMiddleware) ID() string {
+ return "disableHTTPS"
}
-func (m *endpointDisableHTTPSMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+func (m *disableHTTPSMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
) {
req, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
}
- if m.EndpointDisableHTTPS && !smithyhttp.GetHostnameImmutable(ctx) {
+ if m.DisableHTTPS && !smithyhttp.GetHostnameImmutable(ctx) {
req.URL.Scheme = "http"
}
- return next.HandleSerialize(ctx, in)
-
+ return next.HandleFinalize(ctx, in)
}
-func addendpointDisableHTTPSMiddleware(stack *middleware.Stack, o Options) error {
- return stack.Serialize.Insert(&endpointDisableHTTPSMiddleware{
- EndpointDisableHTTPS: o.EndpointOptions.DisableHTTPS,
- }, "OperationSerializer", middleware.Before)
+
+func addDisableHTTPSMiddleware(stack *middleware.Stack, o Options) error {
+ return stack.Finalize.Insert(&disableHTTPSMiddleware{
+ DisableHTTPS: o.EndpointOptions.DisableHTTPS,
+ }, "ResolveEndpointV2", middleware.After)
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_CreateToken.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_CreateToken.go
index 43df6256..42464294 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_CreateToken.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_CreateToken.go
@@ -4,19 +4,16 @@ package ssooidc
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
-// Creates and returns an access token for the authorized client. The access token
-// issued will be used to fetch short-term credentials for the assigned roles in
-// the AWS account.
+// Creates and returns access and refresh tokens for clients that are
+// authenticated using client secrets. The access token can be used to fetch
+// short-term credentials for the assigned AWS accounts or to access application
+// APIs using bearer authentication.
func (c *Client) CreateToken(ctx context.Context, params *CreateTokenInput, optFns ...func(*Options)) (*CreateTokenOutput, error) {
if params == nil {
params = &CreateTokenInput{}
@@ -34,8 +31,8 @@ func (c *Client) CreateToken(ctx context.Context, params *CreateTokenInput, optF
type CreateTokenInput struct {
- // The unique identifier string for each client. This value should come from the
- // persisted result of the RegisterClient API.
+ // The unique identifier string for the client or application. This value comes
+ // from the result of the RegisterClient API.
//
// This member is required.
ClientId *string
@@ -46,37 +43,42 @@ type CreateTokenInput struct {
// This member is required.
ClientSecret *string
- // Supports grant types for the authorization code, refresh token, and device code
- // request. For device code requests, specify the following value:
- // urn:ietf:params:oauth:grant-type:device_code For information about how to
- // obtain the device code, see the StartDeviceAuthorization topic.
+ // Supports the following OAuth grant types: Device Code and Refresh Token.
+ // Specify either of the following values, depending on the grant type that you
+ // want: * Device Code - urn:ietf:params:oauth:grant-type:device_code * Refresh
+ // Token - refresh_token For information about how to obtain the device code, see
+ // the StartDeviceAuthorization topic.
//
// This member is required.
GrantType *string
- // The authorization code received from the authorization service. This parameter
- // is required to perform an authorization grant request to get access to a token.
+ // Used only when calling this API for the Authorization Code grant type. The
+ // short-term code is used to identify this authorization request. This grant type
+ // is currently unsupported for the CreateToken API.
Code *string
- // Used only when calling this API for the device code grant type. This short-term
- // code is used to identify this authentication attempt. This should come from an
- // in-memory reference to the result of the StartDeviceAuthorization API.
+ // Used only when calling this API for the Device Code grant type. This short-term
+ // code is used to identify this authorization request. This comes from the result
+ // of the StartDeviceAuthorization API.
DeviceCode *string
- // The location of the application that will receive the authorization code. Users
- // authorize the service to send the request to this location.
+ // Used only when calling this API for the Authorization Code grant type. This
+ // value specifies the location of the client or application that has registered to
+ // receive the authorization code.
RedirectUri *string
- // Currently, refreshToken is not yet implemented and is not supported. For more
- // information about the features and limitations of the current IAM Identity
- // Center OIDC implementation, see Considerations for Using this Guide in the IAM
- // Identity Center OIDC API Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html)
- // . The token used to obtain an access token in the event that the access token is
- // invalid or expired.
+ // Used only when calling this API for the Refresh Token grant type. This token is
+ // used to refresh short-term tokens, such as the access token, that might expire.
+ // For more information about the features and limitations of the current IAM
+ // Identity Center OIDC implementation, see Considerations for Using this Guide in
+ // the IAM Identity Center OIDC API Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html)
+ // .
RefreshToken *string
- // The list of scopes that is defined by the client. Upon authorization, this list
- // is used to restrict permissions when granting an access token.
+ // The list of scopes for which authorization is requested. The access token that
+ // is issued is limited to the scopes that are granted. If this value is not
+ // specified, IAM Identity Center authorizes all scopes that are configured for the
+ // client during the call to RegisterClient .
Scope []string
noSmithyDocumentSerde
@@ -84,29 +86,30 @@ type CreateTokenInput struct {
type CreateTokenOutput struct {
- // An opaque token to access IAM Identity Center resources assigned to a user.
+ // A bearer token to access AWS accounts and applications assigned to a user.
AccessToken *string
// Indicates the time in seconds when an access token will expire.
ExpiresIn int32
- // Currently, idToken is not yet implemented and is not supported. For more
- // information about the features and limitations of the current IAM Identity
- // Center OIDC implementation, see Considerations for Using this Guide in the IAM
- // Identity Center OIDC API Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html)
- // . The identifier of the user that associated with the access token, if present.
+ // The idToken is not implemented or supported. For more information about the
+ // features and limitations of the current IAM Identity Center OIDC implementation,
+ // see Considerations for Using this Guide in the IAM Identity Center OIDC API
+ // Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html)
+ // . A JSON Web Token (JWT) that identifies who is associated with the issued
+ // access token.
IdToken *string
- // Currently, refreshToken is not yet implemented and is not supported. For more
- // information about the features and limitations of the current IAM Identity
- // Center OIDC implementation, see Considerations for Using this Guide in the IAM
- // Identity Center OIDC API Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html)
- // . A token that, if present, can be used to refresh a previously issued access
- // token that might have expired.
+ // A token that, if present, can be used to refresh a previously issued access
+ // token that might have expired. For more information about the features and
+ // limitations of the current IAM Identity Center OIDC implementation, see
+ // Considerations for Using this Guide in the IAM Identity Center OIDC API
+ // Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html)
+ // .
RefreshToken *string
// Used to notify the client that the returned token is an access token. The
- // supported type is BearerToken .
+ // supported token type is Bearer .
TokenType *string
// Metadata pertaining to the operation's result.
@@ -116,6 +119,9 @@ type CreateTokenOutput struct {
}
func (c *Client) addOperationCreateTokenMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestjson1_serializeOpCreateToken{}, middleware.After)
if err != nil {
return err
@@ -124,6 +130,10 @@ func (c *Client) addOperationCreateTokenMiddlewares(stack *middleware.Stack, opt
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "CreateToken"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -157,7 +167,7 @@ func (c *Client) addOperationCreateTokenMiddlewares(stack *middleware.Stack, opt
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = addCreateTokenResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpCreateTokenValidationMiddleware(stack); err != nil {
@@ -178,7 +188,7 @@ func (c *Client) addOperationCreateTokenMiddlewares(stack *middleware.Stack, opt
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
@@ -191,126 +201,3 @@ func newServiceMetadataMiddleware_opCreateToken(region string) *awsmiddleware.Re
OperationName: "CreateToken",
}
}
-
-type opCreateTokenResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opCreateTokenResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opCreateTokenResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "awsssooidc"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
-
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "awsssooidc"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("awsssooidc")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addCreateTokenResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opCreateTokenResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- Endpoint: options.BaseEndpoint,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_CreateTokenWithIAM.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_CreateTokenWithIAM.go
new file mode 100644
index 00000000..ed4b98f7
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_CreateTokenWithIAM.go
@@ -0,0 +1,230 @@
+// Code generated by smithy-go-codegen DO NOT EDIT.
+
+package ssooidc
+
+import (
+ "context"
+ "fmt"
+ awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
+ "github.com/aws/aws-sdk-go-v2/aws/signer/v4"
+ "github.com/aws/smithy-go/middleware"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+)
+
+// Creates and returns access and refresh tokens for clients and applications that
+// are authenticated using IAM entities. The access token can be used to fetch
+// short-term credentials for the assigned AWS accounts or to access application
+// APIs using bearer authentication.
+func (c *Client) CreateTokenWithIAM(ctx context.Context, params *CreateTokenWithIAMInput, optFns ...func(*Options)) (*CreateTokenWithIAMOutput, error) {
+ if params == nil {
+ params = &CreateTokenWithIAMInput{}
+ }
+
+ result, metadata, err := c.invokeOperation(ctx, "CreateTokenWithIAM", params, optFns, c.addOperationCreateTokenWithIAMMiddlewares)
+ if err != nil {
+ return nil, err
+ }
+
+ out := result.(*CreateTokenWithIAMOutput)
+ out.ResultMetadata = metadata
+ return out, nil
+}
+
+type CreateTokenWithIAMInput struct {
+
+ // The unique identifier string for the client or application. This value is an
+ // application ARN that has OAuth grants configured.
+ //
+ // This member is required.
+ ClientId *string
+
+ // Supports the following OAuth grant types: Authorization Code, Refresh Token,
+ // JWT Bearer, and Token Exchange. Specify one of the following values, depending
+ // on the grant type that you want: * Authorization Code - authorization_code *
+ // Refresh Token - refresh_token * JWT Bearer -
+ // urn:ietf:params:oauth:grant-type:jwt-bearer * Token Exchange -
+ // urn:ietf:params:oauth:grant-type:token-exchange
+ //
+ // This member is required.
+ GrantType *string
+
+ // Used only when calling this API for the JWT Bearer grant type. This value
+ // specifies the JSON Web Token (JWT) issued by a trusted token issuer. To
+ // authorize a trusted token issuer, configure the JWT Bearer GrantOptions for the
+ // application.
+ Assertion *string
+
+ // Used only when calling this API for the Authorization Code grant type. This
+ // short-term code is used to identify this authorization request. The code is
+ // obtained through a redirect from IAM Identity Center to a redirect URI persisted
+ // in the Authorization Code GrantOptions for the application.
+ Code *string
+
+ // Used only when calling this API for the Authorization Code grant type. This
+ // value specifies the location of the client or application that has registered to
+ // receive the authorization code.
+ RedirectUri *string
+
+ // Used only when calling this API for the Refresh Token grant type. This token is
+ // used to refresh short-term tokens, such as the access token, that might expire.
+ // For more information about the features and limitations of the current IAM
+ // Identity Center OIDC implementation, see Considerations for Using this Guide in
+ // the IAM Identity Center OIDC API Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html)
+ // .
+ RefreshToken *string
+
+ // Used only when calling this API for the Token Exchange grant type. This value
+ // specifies the type of token that the requester can receive. The following values
+ // are supported: * Access Token - urn:ietf:params:oauth:token-type:access_token *
+ // Refresh Token - urn:ietf:params:oauth:token-type:refresh_token
+ RequestedTokenType *string
+
+ // The list of scopes for which authorization is requested. The access token that
+ // is issued is limited to the scopes that are granted. If the value is not
+ // specified, IAM Identity Center authorizes all scopes configured for the
+ // application, including the following default scopes: openid , aws ,
+ // sts:identity_context .
+ Scope []string
+
+ // Used only when calling this API for the Token Exchange grant type. This value
+ // specifies the subject of the exchange. The value of the subject token must be an
+ // access token issued by IAM Identity Center to a different client or application.
+ // The access token must have authorized scopes that indicate the requested
+ // application as a target audience.
+ SubjectToken *string
+
+ // Used only when calling this API for the Token Exchange grant type. This value
+ // specifies the type of token that is passed as the subject of the exchange. The
+ // following value is supported: * Access Token -
+ // urn:ietf:params:oauth:token-type:access_token
+ SubjectTokenType *string
+
+ noSmithyDocumentSerde
+}
+
+type CreateTokenWithIAMOutput struct {
+
+ // A bearer token to access AWS accounts and applications assigned to a user.
+ AccessToken *string
+
+ // Indicates the time in seconds when an access token will expire.
+ ExpiresIn int32
+
+ // A JSON Web Token (JWT) that identifies the user associated with the issued
+ // access token.
+ IdToken *string
+
+ // Indicates the type of tokens that are issued by IAM Identity Center. The
+ // following values are supported: * Access Token -
+ // urn:ietf:params:oauth:token-type:access_token * Refresh Token -
+ // urn:ietf:params:oauth:token-type:refresh_token
+ IssuedTokenType *string
+
+ // A token that, if present, can be used to refresh a previously issued access
+ // token that might have expired. For more information about the features and
+ // limitations of the current IAM Identity Center OIDC implementation, see
+ // Considerations for Using this Guide in the IAM Identity Center OIDC API
+ // Reference (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/Welcome.html)
+ // .
+ RefreshToken *string
+
+ // The list of scopes for which authorization is granted. The access token that is
+ // issued is limited to the scopes that are granted.
+ Scope []string
+
+ // Used to notify the requester that the returned token is an access token. The
+ // supported token type is Bearer .
+ TokenType *string
+
+ // Metadata pertaining to the operation's result.
+ ResultMetadata middleware.Metadata
+
+ noSmithyDocumentSerde
+}
+
+func (c *Client) addOperationCreateTokenWithIAMMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
+ err = stack.Serialize.Add(&awsRestjson1_serializeOpCreateTokenWithIAM{}, middleware.After)
+ if err != nil {
+ return err
+ }
+ err = stack.Deserialize.Add(&awsRestjson1_deserializeOpCreateTokenWithIAM{}, middleware.After)
+ if err != nil {
+ return err
+ }
+ if err := addProtocolFinalizerMiddlewares(stack, options, "CreateTokenWithIAM"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
+ if err = addlegacyEndpointContextSetter(stack, options); err != nil {
+ return err
+ }
+ if err = addSetLoggerMiddleware(stack, options); err != nil {
+ return err
+ }
+ if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
+ return err
+ }
+ if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
+ return err
+ }
+ if err = addResolveEndpointMiddleware(stack, options); err != nil {
+ return err
+ }
+ if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
+ return err
+ }
+ if err = addRetryMiddlewares(stack, options); err != nil {
+ return err
+ }
+ if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
+ return err
+ }
+ if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
+ return err
+ }
+ if err = addClientUserAgent(stack, options); err != nil {
+ return err
+ }
+ if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
+ return err
+ }
+ if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
+ return err
+ }
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
+ return err
+ }
+ if err = addOpCreateTokenWithIAMValidationMiddleware(stack); err != nil {
+ return err
+ }
+ if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateTokenWithIAM(options.Region), middleware.Before); err != nil {
+ return err
+ }
+ if err = awsmiddleware.AddRecursionDetection(stack); err != nil {
+ return err
+ }
+ if err = addRequestIDRetrieverMiddleware(stack); err != nil {
+ return err
+ }
+ if err = addResponseErrorMiddleware(stack); err != nil {
+ return err
+ }
+ if err = addRequestResponseLogging(stack, options); err != nil {
+ return err
+ }
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
+ return err
+ }
+ return nil
+}
+
+func newServiceMetadataMiddleware_opCreateTokenWithIAM(region string) *awsmiddleware.RegisterServiceMetadata {
+ return &awsmiddleware.RegisterServiceMetadata{
+ Region: region,
+ ServiceID: ServiceID,
+ OperationName: "CreateTokenWithIAM",
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_RegisterClient.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_RegisterClient.go
index b88ebb70..7aee9049 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_RegisterClient.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_RegisterClient.go
@@ -4,12 +4,8 @@ package ssooidc
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -54,7 +50,7 @@ type RegisterClientInput struct {
type RegisterClientOutput struct {
- // The endpoint where the client can request authorization.
+ // An endpoint that the client can use to request authorization.
AuthorizationEndpoint *string
// The unique identifier string for each client. This client uses this identifier
@@ -71,7 +67,7 @@ type RegisterClientOutput struct {
// Indicates the time at which the clientId and clientSecret will become invalid.
ClientSecretExpiresAt int64
- // The endpoint where the client can get an access token.
+ // An endpoint that the client can use to create tokens.
TokenEndpoint *string
// Metadata pertaining to the operation's result.
@@ -81,6 +77,9 @@ type RegisterClientOutput struct {
}
func (c *Client) addOperationRegisterClientMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestjson1_serializeOpRegisterClient{}, middleware.After)
if err != nil {
return err
@@ -89,6 +88,10 @@ func (c *Client) addOperationRegisterClientMiddlewares(stack *middleware.Stack,
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "RegisterClient"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -122,7 +125,7 @@ func (c *Client) addOperationRegisterClientMiddlewares(stack *middleware.Stack,
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = addRegisterClientResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpRegisterClientValidationMiddleware(stack); err != nil {
@@ -143,7 +146,7 @@ func (c *Client) addOperationRegisterClientMiddlewares(stack *middleware.Stack,
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
@@ -156,126 +159,3 @@ func newServiceMetadataMiddleware_opRegisterClient(region string) *awsmiddleware
OperationName: "RegisterClient",
}
}
-
-type opRegisterClientResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opRegisterClientResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opRegisterClientResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "awsssooidc"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
-
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "awsssooidc"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("awsssooidc")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addRegisterClientResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opRegisterClientResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- Endpoint: options.BaseEndpoint,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_StartDeviceAuthorization.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_StartDeviceAuthorization.go
index 327da5f7..d30349e6 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_StartDeviceAuthorization.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/api_op_StartDeviceAuthorization.go
@@ -4,12 +4,8 @@ package ssooidc
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -46,8 +42,8 @@ type StartDeviceAuthorizationInput struct {
// This member is required.
ClientSecret *string
- // The URL for the AWS access portal. For more information, see Using the AWS
- // access portal (https://docs.aws.amazon.com/singlesignon/latest/userguide/using-the-portal.html)
+ // The URL for the Amazon Web Services access portal. For more information, see
+ // Using the Amazon Web Services access portal (https://docs.aws.amazon.com/singlesignon/latest/userguide/using-the-portal.html)
// in the IAM Identity Center User Guide.
//
// This member is required.
@@ -89,6 +85,9 @@ type StartDeviceAuthorizationOutput struct {
}
func (c *Client) addOperationStartDeviceAuthorizationMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsRestjson1_serializeOpStartDeviceAuthorization{}, middleware.After)
if err != nil {
return err
@@ -97,6 +96,10 @@ func (c *Client) addOperationStartDeviceAuthorizationMiddlewares(stack *middlewa
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "StartDeviceAuthorization"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -130,7 +133,7 @@ func (c *Client) addOperationStartDeviceAuthorizationMiddlewares(stack *middlewa
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = addStartDeviceAuthorizationResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpStartDeviceAuthorizationValidationMiddleware(stack); err != nil {
@@ -151,7 +154,7 @@ func (c *Client) addOperationStartDeviceAuthorizationMiddlewares(stack *middlewa
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
@@ -164,126 +167,3 @@ func newServiceMetadataMiddleware_opStartDeviceAuthorization(region string) *aws
OperationName: "StartDeviceAuthorization",
}
}
-
-type opStartDeviceAuthorizationResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opStartDeviceAuthorizationResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opStartDeviceAuthorizationResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "awsssooidc"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
-
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "awsssooidc"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("awsssooidc")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addStartDeviceAuthorizationResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opStartDeviceAuthorizationResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- Endpoint: options.BaseEndpoint,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/auth.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/auth.go
new file mode 100644
index 00000000..40b3becb
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/auth.go
@@ -0,0 +1,302 @@
+// Code generated by smithy-go-codegen DO NOT EDIT.
+
+package ssooidc
+
+import (
+ "context"
+ "fmt"
+ awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
+ smithy "github.com/aws/smithy-go"
+ smithyauth "github.com/aws/smithy-go/auth"
+ "github.com/aws/smithy-go/middleware"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+)
+
+func bindAuthParamsRegion(params *AuthResolverParameters, _ interface{}, options Options) {
+ params.Region = options.Region
+}
+
+type setLegacyContextSigningOptionsMiddleware struct {
+}
+
+func (*setLegacyContextSigningOptionsMiddleware) ID() string {
+ return "setLegacyContextSigningOptions"
+}
+
+func (m *setLegacyContextSigningOptionsMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ rscheme := getResolvedAuthScheme(ctx)
+ schemeID := rscheme.Scheme.SchemeID()
+
+ if sn := awsmiddleware.GetSigningName(ctx); sn != "" {
+ if schemeID == "aws.auth#sigv4" {
+ smithyhttp.SetSigV4SigningName(&rscheme.SignerProperties, sn)
+ } else if schemeID == "aws.auth#sigv4a" {
+ smithyhttp.SetSigV4ASigningName(&rscheme.SignerProperties, sn)
+ }
+ }
+
+ if sr := awsmiddleware.GetSigningRegion(ctx); sr != "" {
+ if schemeID == "aws.auth#sigv4" {
+ smithyhttp.SetSigV4SigningRegion(&rscheme.SignerProperties, sr)
+ } else if schemeID == "aws.auth#sigv4a" {
+ smithyhttp.SetSigV4ASigningRegions(&rscheme.SignerProperties, []string{sr})
+ }
+ }
+
+ return next.HandleFinalize(ctx, in)
+}
+
+func addSetLegacyContextSigningOptionsMiddleware(stack *middleware.Stack) error {
+ return stack.Finalize.Insert(&setLegacyContextSigningOptionsMiddleware{}, "Signing", middleware.Before)
+}
+
+type withAnonymous struct {
+ resolver AuthSchemeResolver
+}
+
+var _ AuthSchemeResolver = (*withAnonymous)(nil)
+
+func (v *withAnonymous) ResolveAuthSchemes(ctx context.Context, params *AuthResolverParameters) ([]*smithyauth.Option, error) {
+ opts, err := v.resolver.ResolveAuthSchemes(ctx, params)
+ if err != nil {
+ return nil, err
+ }
+
+ opts = append(opts, &smithyauth.Option{
+ SchemeID: smithyauth.SchemeIDAnonymous,
+ })
+ return opts, nil
+}
+
+func wrapWithAnonymousAuth(options *Options) {
+ if _, ok := options.AuthSchemeResolver.(*defaultAuthSchemeResolver); !ok {
+ return
+ }
+
+ options.AuthSchemeResolver = &withAnonymous{
+ resolver: options.AuthSchemeResolver,
+ }
+}
+
+// AuthResolverParameters contains the set of inputs necessary for auth scheme
+// resolution.
+type AuthResolverParameters struct {
+ // The name of the operation being invoked.
+ Operation string
+
+ // The region in which the operation is being invoked.
+ Region string
+}
+
+func bindAuthResolverParams(operation string, input interface{}, options Options) *AuthResolverParameters {
+ params := &AuthResolverParameters{
+ Operation: operation,
+ }
+
+ bindAuthParamsRegion(params, input, options)
+
+ return params
+}
+
+// AuthSchemeResolver returns a set of possible authentication options for an
+// operation.
+type AuthSchemeResolver interface {
+ ResolveAuthSchemes(context.Context, *AuthResolverParameters) ([]*smithyauth.Option, error)
+}
+
+type defaultAuthSchemeResolver struct{}
+
+var _ AuthSchemeResolver = (*defaultAuthSchemeResolver)(nil)
+
+func (*defaultAuthSchemeResolver) ResolveAuthSchemes(ctx context.Context, params *AuthResolverParameters) ([]*smithyauth.Option, error) {
+ if overrides, ok := operationAuthOptions[params.Operation]; ok {
+ return overrides(params), nil
+ }
+ return serviceAuthOptions(params), nil
+}
+
+var operationAuthOptions = map[string]func(*AuthResolverParameters) []*smithyauth.Option{
+ "CreateToken": func(params *AuthResolverParameters) []*smithyauth.Option {
+ return []*smithyauth.Option{
+ {SchemeID: smithyauth.SchemeIDAnonymous},
+ }
+ },
+
+ "RegisterClient": func(params *AuthResolverParameters) []*smithyauth.Option {
+ return []*smithyauth.Option{
+ {SchemeID: smithyauth.SchemeIDAnonymous},
+ }
+ },
+
+ "StartDeviceAuthorization": func(params *AuthResolverParameters) []*smithyauth.Option {
+ return []*smithyauth.Option{
+ {SchemeID: smithyauth.SchemeIDAnonymous},
+ }
+ },
+}
+
+func serviceAuthOptions(params *AuthResolverParameters) []*smithyauth.Option {
+ return []*smithyauth.Option{
+ {
+ SchemeID: smithyauth.SchemeIDSigV4,
+ SignerProperties: func() smithy.Properties {
+ var props smithy.Properties
+ smithyhttp.SetSigV4SigningName(&props, "sso-oauth")
+ smithyhttp.SetSigV4SigningRegion(&props, params.Region)
+ return props
+ }(),
+ },
+ }
+}
+
+type resolveAuthSchemeMiddleware struct {
+ operation string
+ options Options
+}
+
+func (*resolveAuthSchemeMiddleware) ID() string {
+ return "ResolveAuthScheme"
+}
+
+func (m *resolveAuthSchemeMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ params := bindAuthResolverParams(m.operation, getOperationInput(ctx), m.options)
+ options, err := m.options.AuthSchemeResolver.ResolveAuthSchemes(ctx, params)
+ if err != nil {
+ return out, metadata, fmt.Errorf("resolve auth scheme: %w", err)
+ }
+
+ scheme, ok := m.selectScheme(options)
+ if !ok {
+ return out, metadata, fmt.Errorf("could not select an auth scheme")
+ }
+
+ ctx = setResolvedAuthScheme(ctx, scheme)
+ return next.HandleFinalize(ctx, in)
+}
+
+func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option) (*resolvedAuthScheme, bool) {
+ for _, option := range options {
+ if option.SchemeID == smithyauth.SchemeIDAnonymous {
+ return newResolvedAuthScheme(smithyhttp.NewAnonymousScheme(), option), true
+ }
+
+ for _, scheme := range m.options.AuthSchemes {
+ if scheme.SchemeID() != option.SchemeID {
+ continue
+ }
+
+ if scheme.IdentityResolver(m.options) != nil {
+ return newResolvedAuthScheme(scheme, option), true
+ }
+ }
+ }
+
+ return nil, false
+}
+
+type resolvedAuthSchemeKey struct{}
+
+type resolvedAuthScheme struct {
+ Scheme smithyhttp.AuthScheme
+ IdentityProperties smithy.Properties
+ SignerProperties smithy.Properties
+}
+
+func newResolvedAuthScheme(scheme smithyhttp.AuthScheme, option *smithyauth.Option) *resolvedAuthScheme {
+ return &resolvedAuthScheme{
+ Scheme: scheme,
+ IdentityProperties: option.IdentityProperties,
+ SignerProperties: option.SignerProperties,
+ }
+}
+
+func setResolvedAuthScheme(ctx context.Context, scheme *resolvedAuthScheme) context.Context {
+ return middleware.WithStackValue(ctx, resolvedAuthSchemeKey{}, scheme)
+}
+
+func getResolvedAuthScheme(ctx context.Context) *resolvedAuthScheme {
+ v, _ := middleware.GetStackValue(ctx, resolvedAuthSchemeKey{}).(*resolvedAuthScheme)
+ return v
+}
+
+type getIdentityMiddleware struct {
+ options Options
+}
+
+func (*getIdentityMiddleware) ID() string {
+ return "GetIdentity"
+}
+
+func (m *getIdentityMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ rscheme := getResolvedAuthScheme(ctx)
+ if rscheme == nil {
+ return out, metadata, fmt.Errorf("no resolved auth scheme")
+ }
+
+ resolver := rscheme.Scheme.IdentityResolver(m.options)
+ if resolver == nil {
+ return out, metadata, fmt.Errorf("no identity resolver")
+ }
+
+ identity, err := resolver.GetIdentity(ctx, rscheme.IdentityProperties)
+ if err != nil {
+ return out, metadata, fmt.Errorf("get identity: %w", err)
+ }
+
+ ctx = setIdentity(ctx, identity)
+ return next.HandleFinalize(ctx, in)
+}
+
+type identityKey struct{}
+
+func setIdentity(ctx context.Context, identity smithyauth.Identity) context.Context {
+ return middleware.WithStackValue(ctx, identityKey{}, identity)
+}
+
+func getIdentity(ctx context.Context) smithyauth.Identity {
+ v, _ := middleware.GetStackValue(ctx, identityKey{}).(smithyauth.Identity)
+ return v
+}
+
+type signRequestMiddleware struct {
+}
+
+func (*signRequestMiddleware) ID() string {
+ return "Signing"
+}
+
+func (m *signRequestMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ req, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, fmt.Errorf("unexpected transport type %T", in.Request)
+ }
+
+ rscheme := getResolvedAuthScheme(ctx)
+ if rscheme == nil {
+ return out, metadata, fmt.Errorf("no resolved auth scheme")
+ }
+
+ identity := getIdentity(ctx)
+ if identity == nil {
+ return out, metadata, fmt.Errorf("no identity")
+ }
+
+ signer := rscheme.Scheme.Signer()
+ if signer == nil {
+ return out, metadata, fmt.Errorf("no signer")
+ }
+
+ if err := signer.SignRequest(ctx, req, identity, rscheme.SignerProperties); err != nil {
+ return out, metadata, fmt.Errorf("sign request: %w", err)
+ }
+
+ return next.HandleFinalize(ctx, in)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/deserializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/deserializers.go
index ca30d22f..76a1160e 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/deserializers.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/deserializers.go
@@ -239,6 +239,244 @@ func awsRestjson1_deserializeOpDocumentCreateTokenOutput(v **CreateTokenOutput,
return nil
}
+type awsRestjson1_deserializeOpCreateTokenWithIAM struct {
+}
+
+func (*awsRestjson1_deserializeOpCreateTokenWithIAM) ID() string {
+ return "OperationDeserializer"
+}
+
+func (m *awsRestjson1_deserializeOpCreateTokenWithIAM) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
+ out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
+) {
+ out, metadata, err = next.HandleDeserialize(ctx, in)
+ if err != nil {
+ return out, metadata, err
+ }
+
+ response, ok := out.RawResponse.(*smithyhttp.Response)
+ if !ok {
+ return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)}
+ }
+
+ if response.StatusCode < 200 || response.StatusCode >= 300 {
+ return out, metadata, awsRestjson1_deserializeOpErrorCreateTokenWithIAM(response, &metadata)
+ }
+ output := &CreateTokenWithIAMOutput{}
+ out.Result = output
+
+ var buff [1024]byte
+ ringBuffer := smithyio.NewRingBuffer(buff[:])
+
+ body := io.TeeReader(response.Body, ringBuffer)
+
+ decoder := json.NewDecoder(body)
+ decoder.UseNumber()
+ var shape interface{}
+ if err := decoder.Decode(&shape); err != nil && err != io.EOF {
+ var snapshot bytes.Buffer
+ io.Copy(&snapshot, ringBuffer)
+ err = &smithy.DeserializationError{
+ Err: fmt.Errorf("failed to decode response body, %w", err),
+ Snapshot: snapshot.Bytes(),
+ }
+ return out, metadata, err
+ }
+
+ err = awsRestjson1_deserializeOpDocumentCreateTokenWithIAMOutput(&output, shape)
+ if err != nil {
+ var snapshot bytes.Buffer
+ io.Copy(&snapshot, ringBuffer)
+ return out, metadata, &smithy.DeserializationError{
+ Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err),
+ Snapshot: snapshot.Bytes(),
+ }
+ }
+
+ return out, metadata, err
+}
+
+func awsRestjson1_deserializeOpErrorCreateTokenWithIAM(response *smithyhttp.Response, metadata *middleware.Metadata) error {
+ var errorBuffer bytes.Buffer
+ if _, err := io.Copy(&errorBuffer, response.Body); err != nil {
+ return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)}
+ }
+ errorBody := bytes.NewReader(errorBuffer.Bytes())
+
+ errorCode := "UnknownError"
+ errorMessage := errorCode
+
+ headerCode := response.Header.Get("X-Amzn-ErrorType")
+ if len(headerCode) != 0 {
+ errorCode = restjson.SanitizeErrorCode(headerCode)
+ }
+
+ var buff [1024]byte
+ ringBuffer := smithyio.NewRingBuffer(buff[:])
+
+ body := io.TeeReader(errorBody, ringBuffer)
+ decoder := json.NewDecoder(body)
+ decoder.UseNumber()
+ jsonCode, message, err := restjson.GetErrorInfo(decoder)
+ if err != nil {
+ var snapshot bytes.Buffer
+ io.Copy(&snapshot, ringBuffer)
+ err = &smithy.DeserializationError{
+ Err: fmt.Errorf("failed to decode response body, %w", err),
+ Snapshot: snapshot.Bytes(),
+ }
+ return err
+ }
+
+ errorBody.Seek(0, io.SeekStart)
+ if len(headerCode) == 0 && len(jsonCode) != 0 {
+ errorCode = restjson.SanitizeErrorCode(jsonCode)
+ }
+ if len(message) != 0 {
+ errorMessage = message
+ }
+
+ switch {
+ case strings.EqualFold("AccessDeniedException", errorCode):
+ return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody)
+
+ case strings.EqualFold("AuthorizationPendingException", errorCode):
+ return awsRestjson1_deserializeErrorAuthorizationPendingException(response, errorBody)
+
+ case strings.EqualFold("ExpiredTokenException", errorCode):
+ return awsRestjson1_deserializeErrorExpiredTokenException(response, errorBody)
+
+ case strings.EqualFold("InternalServerException", errorCode):
+ return awsRestjson1_deserializeErrorInternalServerException(response, errorBody)
+
+ case strings.EqualFold("InvalidClientException", errorCode):
+ return awsRestjson1_deserializeErrorInvalidClientException(response, errorBody)
+
+ case strings.EqualFold("InvalidGrantException", errorCode):
+ return awsRestjson1_deserializeErrorInvalidGrantException(response, errorBody)
+
+ case strings.EqualFold("InvalidRequestException", errorCode):
+ return awsRestjson1_deserializeErrorInvalidRequestException(response, errorBody)
+
+ case strings.EqualFold("InvalidRequestRegionException", errorCode):
+ return awsRestjson1_deserializeErrorInvalidRequestRegionException(response, errorBody)
+
+ case strings.EqualFold("InvalidScopeException", errorCode):
+ return awsRestjson1_deserializeErrorInvalidScopeException(response, errorBody)
+
+ case strings.EqualFold("SlowDownException", errorCode):
+ return awsRestjson1_deserializeErrorSlowDownException(response, errorBody)
+
+ case strings.EqualFold("UnauthorizedClientException", errorCode):
+ return awsRestjson1_deserializeErrorUnauthorizedClientException(response, errorBody)
+
+ case strings.EqualFold("UnsupportedGrantTypeException", errorCode):
+ return awsRestjson1_deserializeErrorUnsupportedGrantTypeException(response, errorBody)
+
+ default:
+ genericError := &smithy.GenericAPIError{
+ Code: errorCode,
+ Message: errorMessage,
+ }
+ return genericError
+
+ }
+}
+
+func awsRestjson1_deserializeOpDocumentCreateTokenWithIAMOutput(v **CreateTokenWithIAMOutput, value interface{}) error {
+ if v == nil {
+ return fmt.Errorf("unexpected nil of type %T", v)
+ }
+ if value == nil {
+ return nil
+ }
+
+ shape, ok := value.(map[string]interface{})
+ if !ok {
+ return fmt.Errorf("unexpected JSON type %v", value)
+ }
+
+ var sv *CreateTokenWithIAMOutput
+ if *v == nil {
+ sv = &CreateTokenWithIAMOutput{}
+ } else {
+ sv = *v
+ }
+
+ for key, value := range shape {
+ switch key {
+ case "accessToken":
+ if value != nil {
+ jtv, ok := value.(string)
+ if !ok {
+ return fmt.Errorf("expected AccessToken to be of type string, got %T instead", value)
+ }
+ sv.AccessToken = ptr.String(jtv)
+ }
+
+ case "expiresIn":
+ if value != nil {
+ jtv, ok := value.(json.Number)
+ if !ok {
+ return fmt.Errorf("expected ExpirationInSeconds to be json.Number, got %T instead", value)
+ }
+ i64, err := jtv.Int64()
+ if err != nil {
+ return err
+ }
+ sv.ExpiresIn = int32(i64)
+ }
+
+ case "idToken":
+ if value != nil {
+ jtv, ok := value.(string)
+ if !ok {
+ return fmt.Errorf("expected IdToken to be of type string, got %T instead", value)
+ }
+ sv.IdToken = ptr.String(jtv)
+ }
+
+ case "issuedTokenType":
+ if value != nil {
+ jtv, ok := value.(string)
+ if !ok {
+ return fmt.Errorf("expected TokenTypeURI to be of type string, got %T instead", value)
+ }
+ sv.IssuedTokenType = ptr.String(jtv)
+ }
+
+ case "refreshToken":
+ if value != nil {
+ jtv, ok := value.(string)
+ if !ok {
+ return fmt.Errorf("expected RefreshToken to be of type string, got %T instead", value)
+ }
+ sv.RefreshToken = ptr.String(jtv)
+ }
+
+ case "scope":
+ if err := awsRestjson1_deserializeDocumentScopes(&sv.Scope, value); err != nil {
+ return err
+ }
+
+ case "tokenType":
+ if value != nil {
+ jtv, ok := value.(string)
+ if !ok {
+ return fmt.Errorf("expected TokenType to be of type string, got %T instead", value)
+ }
+ sv.TokenType = ptr.String(jtv)
+ }
+
+ default:
+ _, _ = key, value
+
+ }
+ }
+ *v = sv
+ return nil
+}
+
type awsRestjson1_deserializeOpRegisterClient struct {
}
@@ -956,6 +1194,42 @@ func awsRestjson1_deserializeErrorInvalidRequestException(response *smithyhttp.R
return output
}
+func awsRestjson1_deserializeErrorInvalidRequestRegionException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
+ output := &types.InvalidRequestRegionException{}
+ var buff [1024]byte
+ ringBuffer := smithyio.NewRingBuffer(buff[:])
+
+ body := io.TeeReader(errorBody, ringBuffer)
+ decoder := json.NewDecoder(body)
+ decoder.UseNumber()
+ var shape interface{}
+ if err := decoder.Decode(&shape); err != nil && err != io.EOF {
+ var snapshot bytes.Buffer
+ io.Copy(&snapshot, ringBuffer)
+ err = &smithy.DeserializationError{
+ Err: fmt.Errorf("failed to decode response body, %w", err),
+ Snapshot: snapshot.Bytes(),
+ }
+ return err
+ }
+
+ err := awsRestjson1_deserializeDocumentInvalidRequestRegionException(&output, shape)
+
+ if err != nil {
+ var snapshot bytes.Buffer
+ io.Copy(&snapshot, ringBuffer)
+ err = &smithy.DeserializationError{
+ Err: fmt.Errorf("failed to decode response body, %w", err),
+ Snapshot: snapshot.Bytes(),
+ }
+ return err
+ }
+
+ errorBody.Seek(0, io.SeekStart)
+
+ return output
+}
+
func awsRestjson1_deserializeErrorInvalidScopeException(response *smithyhttp.Response, errorBody *bytes.Reader) error {
output := &types.InvalidScopeException{}
var buff [1024]byte
@@ -1492,6 +1766,73 @@ func awsRestjson1_deserializeDocumentInvalidRequestException(v **types.InvalidRe
return nil
}
+func awsRestjson1_deserializeDocumentInvalidRequestRegionException(v **types.InvalidRequestRegionException, value interface{}) error {
+ if v == nil {
+ return fmt.Errorf("unexpected nil of type %T", v)
+ }
+ if value == nil {
+ return nil
+ }
+
+ shape, ok := value.(map[string]interface{})
+ if !ok {
+ return fmt.Errorf("unexpected JSON type %v", value)
+ }
+
+ var sv *types.InvalidRequestRegionException
+ if *v == nil {
+ sv = &types.InvalidRequestRegionException{}
+ } else {
+ sv = *v
+ }
+
+ for key, value := range shape {
+ switch key {
+ case "endpoint":
+ if value != nil {
+ jtv, ok := value.(string)
+ if !ok {
+ return fmt.Errorf("expected Location to be of type string, got %T instead", value)
+ }
+ sv.Endpoint = ptr.String(jtv)
+ }
+
+ case "error":
+ if value != nil {
+ jtv, ok := value.(string)
+ if !ok {
+ return fmt.Errorf("expected Error to be of type string, got %T instead", value)
+ }
+ sv.Error_ = ptr.String(jtv)
+ }
+
+ case "error_description":
+ if value != nil {
+ jtv, ok := value.(string)
+ if !ok {
+ return fmt.Errorf("expected ErrorDescription to be of type string, got %T instead", value)
+ }
+ sv.Error_description = ptr.String(jtv)
+ }
+
+ case "region":
+ if value != nil {
+ jtv, ok := value.(string)
+ if !ok {
+ return fmt.Errorf("expected Region to be of type string, got %T instead", value)
+ }
+ sv.Region = ptr.String(jtv)
+ }
+
+ default:
+ _, _ = key, value
+
+ }
+ }
+ *v = sv
+ return nil
+}
+
func awsRestjson1_deserializeDocumentInvalidScopeException(v **types.InvalidScopeException, value interface{}) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
@@ -1541,6 +1882,42 @@ func awsRestjson1_deserializeDocumentInvalidScopeException(v **types.InvalidScop
return nil
}
+func awsRestjson1_deserializeDocumentScopes(v *[]string, value interface{}) error {
+ if v == nil {
+ return fmt.Errorf("unexpected nil of type %T", v)
+ }
+ if value == nil {
+ return nil
+ }
+
+ shape, ok := value.([]interface{})
+ if !ok {
+ return fmt.Errorf("unexpected JSON type %v", value)
+ }
+
+ var cv []string
+ if *v == nil {
+ cv = []string{}
+ } else {
+ cv = *v
+ }
+
+ for _, value := range shape {
+ var col string
+ if value != nil {
+ jtv, ok := value.(string)
+ if !ok {
+ return fmt.Errorf("expected Scope to be of type string, got %T instead", value)
+ }
+ col = jtv
+ }
+ cv = append(cv, col)
+
+ }
+ *v = cv
+ return nil
+}
+
func awsRestjson1_deserializeDocumentSlowDownException(v **types.SlowDownException, value interface{}) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/doc.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/doc.go
index 2239427d..53cd4f55 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/doc.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/doc.go
@@ -3,31 +3,33 @@
// Package ssooidc provides the API client, operations, and parameter types for
// AWS SSO OIDC.
//
-// AWS IAM Identity Center (successor to AWS Single Sign-On) OpenID Connect (OIDC)
-// is a web service that enables a client (such as AWS CLI or a native application)
-// to register with IAM Identity Center. The service also enables the client to
-// fetch the user’s access token upon successful authentication and authorization
-// with IAM Identity Center. Although AWS Single Sign-On was renamed, the sso and
-// identitystore API namespaces will continue to retain their original name for
-// backward compatibility purposes. For more information, see IAM Identity Center
-// rename (https://docs.aws.amazon.com/singlesignon/latest/userguide/what-is.html#renamed)
-// . Considerations for Using This Guide Before you begin using this guide, we
-// recommend that you first review the following important information about how
-// the IAM Identity Center OIDC service works.
+// IAM Identity Center OpenID Connect (OIDC) is a web service that enables a
+// client (such as CLI or a native application) to register with IAM Identity
+// Center. The service also enables the client to fetch the user’s access token
+// upon successful authentication and authorization with IAM Identity Center. IAM
+// Identity Center uses the sso and identitystore API namespaces. Considerations
+// for Using This Guide Before you begin using this guide, we recommend that you
+// first review the following important information about how the IAM Identity
+// Center OIDC service works.
// - The IAM Identity Center OIDC service currently implements only the portions
// of the OAuth 2.0 Device Authorization Grant standard (
// https://tools.ietf.org/html/rfc8628 (https://tools.ietf.org/html/rfc8628) )
-// that are necessary to enable single sign-on authentication with the AWS CLI.
-// Support for other OIDC flows frequently needed for native applications, such as
-// Authorization Code Flow (+ PKCE), will be addressed in future releases.
-// - The service emits only OIDC access tokens, such that obtaining a new token
-// (For example, token refresh) requires explicit user re-authentication.
-// - The access tokens provided by this service grant access to all AWS account
-// entitlements assigned to an IAM Identity Center user, not just a particular
-// application.
+// that are necessary to enable single sign-on authentication with the CLI.
+// - With older versions of the CLI, the service only emits OIDC access tokens,
+// so to obtain a new token, users must explicitly re-authenticate. To access the
+// OIDC flow that supports token refresh and doesn’t require re-authentication,
+// update to the latest CLI version (1.27.10 for CLI V1 and 2.9.0 for CLI V2) with
+// support for OIDC token refresh and configurable IAM Identity Center session
+// durations. For more information, see Configure Amazon Web Services access
+// portal session duration (https://docs.aws.amazon.com/singlesignon/latest/userguide/configure-user-session.html)
+// .
+// - The access tokens provided by this service grant access to all Amazon Web
+// Services account entitlements assigned to an IAM Identity Center user, not just
+// a particular application.
// - The documentation in this guide does not describe the mechanism to convert
-// the access token into AWS Auth (“sigv4”) credentials for use with IAM-protected
-// AWS service endpoints. For more information, see GetRoleCredentials (https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_GetRoleCredentials.html)
+// the access token into Amazon Web Services Auth (“sigv4”) credentials for use
+// with IAM-protected Amazon Web Services service endpoints. For more information,
+// see GetRoleCredentials (https://docs.aws.amazon.com/singlesignon/latest/PortalAPIReference/API_GetRoleCredentials.html)
// in the IAM Identity Center Portal API Reference Guide.
//
// For general information about IAM Identity Center, see What is IAM Identity
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/endpoints.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/endpoints.go
index 50b490cb..85b87089 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/endpoints.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/endpoints.go
@@ -9,8 +9,10 @@ import (
"github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
internalConfig "github.com/aws/aws-sdk-go-v2/internal/configsources"
+ "github.com/aws/aws-sdk-go-v2/internal/endpoints"
"github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn"
internalendpoints "github.com/aws/aws-sdk-go-v2/service/ssooidc/internal/endpoints"
+ smithyauth "github.com/aws/smithy-go/auth"
smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
"github.com/aws/smithy-go/ptr"
@@ -113,7 +115,7 @@ func (m *ResolveEndpoint) HandleSerialize(ctx context.Context, in middleware.Ser
if len(awsmiddleware.GetSigningName(ctx)) == 0 {
signingName := endpoint.SigningName
if len(signingName) == 0 {
- signingName = "awsssooidc"
+ signingName = "sso-oauth"
}
ctx = awsmiddleware.SetSigningName(ctx, signingName)
}
@@ -214,72 +216,6 @@ func resolveBaseEndpoint(cfg aws.Config, o *Options) {
}
}
-// Utility function to aid with translating pseudo-regions to classical regions
-// with the appropriate setting indicated by the pseudo-region
-func mapPseudoRegion(pr string) (region string, fips aws.FIPSEndpointState) {
- const fipsInfix = "-fips-"
- const fipsPrefix = "fips-"
- const fipsSuffix = "-fips"
-
- if strings.Contains(pr, fipsInfix) ||
- strings.Contains(pr, fipsPrefix) ||
- strings.Contains(pr, fipsSuffix) {
- region = strings.ReplaceAll(strings.ReplaceAll(strings.ReplaceAll(
- pr, fipsInfix, "-"), fipsPrefix, ""), fipsSuffix, "")
- fips = aws.FIPSEndpointStateEnabled
- } else {
- region = pr
- }
-
- return region, fips
-}
-
-// builtInParameterResolver is the interface responsible for resolving BuiltIn
-// values during the sourcing of EndpointParameters
-type builtInParameterResolver interface {
- ResolveBuiltIns(*EndpointParameters) error
-}
-
-// builtInResolver resolves modeled BuiltIn values using only the members defined
-// below.
-type builtInResolver struct {
- // The AWS region used to dispatch the request.
- Region string
-
- // Sourced BuiltIn value in a historical enabled or disabled state.
- UseDualStack aws.DualStackEndpointState
-
- // Sourced BuiltIn value in a historical enabled or disabled state.
- UseFIPS aws.FIPSEndpointState
-
- // Base endpoint that can potentially be modified during Endpoint resolution.
- Endpoint *string
-}
-
-// Invoked at runtime to resolve BuiltIn Values. Only resolution code specific to
-// each BuiltIn value is generated.
-func (b *builtInResolver) ResolveBuiltIns(params *EndpointParameters) error {
-
- region, _ := mapPseudoRegion(b.Region)
- if len(region) == 0 {
- return fmt.Errorf("Could not resolve AWS::Region")
- } else {
- params.Region = aws.String(region)
- }
- if b.UseDualStack == aws.DualStackEndpointStateEnabled {
- params.UseDualStack = aws.Bool(true)
- } else {
- params.UseDualStack = aws.Bool(false)
- }
- if b.UseFIPS == aws.FIPSEndpointStateEnabled {
- params.UseFIPS = aws.Bool(true)
- } else {
- params.UseFIPS = aws.Bool(false)
- }
- params.Endpoint = b.Endpoint
- return nil
-}
-
// EndpointParameters provides the parameters that influence how endpoints are
// resolved.
type EndpointParameters struct {
@@ -430,8 +366,8 @@ func (r *resolver) ResolveEndpoint(
}
}
if _UseFIPS == true {
- if true == _PartitionResult.SupportsFIPS {
- if "aws-us-gov" == _PartitionResult.Name {
+ if _PartitionResult.SupportsFIPS == true {
+ if _PartitionResult.Name == "aws-us-gov" {
uriString := func() string {
var out strings.Builder
out.WriteString("https://oidc.")
@@ -517,3 +453,76 @@ func (r *resolver) ResolveEndpoint(
}
return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Missing Region")
}
+
+type endpointParamsBinder interface {
+ bindEndpointParams(*EndpointParameters)
+}
+
+func bindEndpointParams(input interface{}, options Options) *EndpointParameters {
+ params := &EndpointParameters{}
+
+ params.Region = aws.String(endpoints.MapFIPSRegion(options.Region))
+ params.UseDualStack = aws.Bool(options.EndpointOptions.UseDualStackEndpoint == aws.DualStackEndpointStateEnabled)
+ params.UseFIPS = aws.Bool(options.EndpointOptions.UseFIPSEndpoint == aws.FIPSEndpointStateEnabled)
+ params.Endpoint = options.BaseEndpoint
+
+ if b, ok := input.(endpointParamsBinder); ok {
+ b.bindEndpointParams(params)
+ }
+
+ return params
+}
+
+type resolveEndpointV2Middleware struct {
+ options Options
+}
+
+func (*resolveEndpointV2Middleware) ID() string {
+ return "ResolveEndpointV2"
+}
+
+func (m *resolveEndpointV2Middleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
+ return next.HandleFinalize(ctx, in)
+ }
+
+ req, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
+ }
+
+ if m.options.EndpointResolverV2 == nil {
+ return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
+ }
+
+ params := bindEndpointParams(getOperationInput(ctx), m.options)
+ endpt, err := m.options.EndpointResolverV2.ResolveEndpoint(ctx, *params)
+ if err != nil {
+ return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
+ }
+
+ if endpt.URI.RawPath == "" && req.URL.RawPath != "" {
+ endpt.URI.RawPath = endpt.URI.Path
+ }
+ req.URL.Scheme = endpt.URI.Scheme
+ req.URL.Host = endpt.URI.Host
+ req.URL.Path = smithyhttp.JoinPath(endpt.URI.Path, req.URL.Path)
+ req.URL.RawPath = smithyhttp.JoinPath(endpt.URI.RawPath, req.URL.RawPath)
+ for k := range endpt.Headers {
+ req.Header.Set(k, endpt.Headers.Get(k))
+ }
+
+ rscheme := getResolvedAuthScheme(ctx)
+ if rscheme == nil {
+ return out, metadata, fmt.Errorf("no resolved auth scheme")
+ }
+
+ opts, _ := smithyauth.GetAuthOptions(&endpt.Properties)
+ for _, o := range opts {
+ rscheme.SignerProperties.SetAll(&o.SignerProperties)
+ }
+
+ return next.HandleFinalize(ctx, in)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/generated.json b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/generated.json
index 403fac7c..0a6b3493 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/generated.json
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/generated.json
@@ -10,8 +10,10 @@
"api_client.go",
"api_client_test.go",
"api_op_CreateToken.go",
+ "api_op_CreateTokenWithIAM.go",
"api_op_RegisterClient.go",
"api_op_StartDeviceAuthorization.go",
+ "auth.go",
"deserializers.go",
"doc.go",
"endpoints.go",
@@ -20,6 +22,7 @@
"generated.json",
"internal/endpoints/endpoints.go",
"internal/endpoints/endpoints_test.go",
+ "options.go",
"protocol_test.go",
"serializers.go",
"types/errors.go",
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go
index 85614170..abeab0d2 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go
@@ -3,4 +3,4 @@
package ssooidc
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.19.0"
+const goModuleVersion = "1.21.6"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/options.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/options.go
new file mode 100644
index 00000000..b964e7e1
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/options.go
@@ -0,0 +1,217 @@
+// Code generated by smithy-go-codegen DO NOT EDIT.
+
+package ssooidc
+
+import (
+ "context"
+ "github.com/aws/aws-sdk-go-v2/aws"
+ awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
+ internalauthsmithy "github.com/aws/aws-sdk-go-v2/internal/auth/smithy"
+ smithyauth "github.com/aws/smithy-go/auth"
+ "github.com/aws/smithy-go/logging"
+ "github.com/aws/smithy-go/middleware"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+ "net/http"
+)
+
+type HTTPClient interface {
+ Do(*http.Request) (*http.Response, error)
+}
+
+type Options struct {
+ // Set of options to modify how an operation is invoked. These apply to all
+ // operations invoked for this client. Use functional options on operation call to
+ // modify this list for per operation behavior.
+ APIOptions []func(*middleware.Stack) error
+
+ // The optional application specific identifier appended to the User-Agent header.
+ AppID string
+
+ // This endpoint will be given as input to an EndpointResolverV2. It is used for
+ // providing a custom base endpoint that is subject to modifications by the
+ // processing EndpointResolverV2.
+ BaseEndpoint *string
+
+ // Configures the events that will be sent to the configured logger.
+ ClientLogMode aws.ClientLogMode
+
+ // The credentials object to use when signing requests.
+ Credentials aws.CredentialsProvider
+
+ // The configuration DefaultsMode that the SDK should use when constructing the
+ // clients initial default settings.
+ DefaultsMode aws.DefaultsMode
+
+ // The endpoint options to be used when attempting to resolve an endpoint.
+ EndpointOptions EndpointResolverOptions
+
+ // The service endpoint resolver.
+ //
+ // Deprecated: Deprecated: EndpointResolver and WithEndpointResolver. Providing a
+ // value for this field will likely prevent you from using any endpoint-related
+ // service features released after the introduction of EndpointResolverV2 and
+ // BaseEndpoint. To migrate an EndpointResolver implementation that uses a custom
+ // endpoint, set the client option BaseEndpoint instead.
+ EndpointResolver EndpointResolver
+
+ // Resolves the endpoint used for a particular service operation. This should be
+ // used over the deprecated EndpointResolver.
+ EndpointResolverV2 EndpointResolverV2
+
+ // Signature Version 4 (SigV4) Signer
+ HTTPSignerV4 HTTPSignerV4
+
+ // The logger writer interface to write logging messages to.
+ Logger logging.Logger
+
+ // The region to send requests to. (Required)
+ Region string
+
+ // RetryMaxAttempts specifies the maximum number attempts an API client will call
+ // an operation that fails with a retryable error. A value of 0 is ignored, and
+ // will not be used to configure the API client created default retryer, or modify
+ // per operation call's retry max attempts. If specified in an operation call's
+ // functional options with a value that is different than the constructed client's
+ // Options, the Client's Retryer will be wrapped to use the operation's specific
+ // RetryMaxAttempts value.
+ RetryMaxAttempts int
+
+ // RetryMode specifies the retry mode the API client will be created with, if
+ // Retryer option is not also specified. When creating a new API Clients this
+ // member will only be used if the Retryer Options member is nil. This value will
+ // be ignored if Retryer is not nil. Currently does not support per operation call
+ // overrides, may in the future.
+ RetryMode aws.RetryMode
+
+ // Retryer guides how HTTP requests should be retried in case of recoverable
+ // failures. When nil the API client will use a default retryer. The kind of
+ // default retry created by the API client can be changed with the RetryMode
+ // option.
+ Retryer aws.Retryer
+
+ // The RuntimeEnvironment configuration, only populated if the DefaultsMode is set
+ // to DefaultsModeAuto and is initialized using config.LoadDefaultConfig . You
+ // should not populate this structure programmatically, or rely on the values here
+ // within your applications.
+ RuntimeEnvironment aws.RuntimeEnvironment
+
+ // The initial DefaultsMode used when the client options were constructed. If the
+ // DefaultsMode was set to aws.DefaultsModeAuto this will store what the resolved
+ // value was at that point in time. Currently does not support per operation call
+ // overrides, may in the future.
+ resolvedDefaultsMode aws.DefaultsMode
+
+ // The HTTP client to invoke API calls with. Defaults to client's default HTTP
+ // implementation if nil.
+ HTTPClient HTTPClient
+
+ // The auth scheme resolver which determines how to authenticate for each
+ // operation.
+ AuthSchemeResolver AuthSchemeResolver
+
+ // The list of auth schemes supported by the client.
+ AuthSchemes []smithyhttp.AuthScheme
+}
+
+// Copy creates a clone where the APIOptions list is deep copied.
+func (o Options) Copy() Options {
+ to := o
+ to.APIOptions = make([]func(*middleware.Stack) error, len(o.APIOptions))
+ copy(to.APIOptions, o.APIOptions)
+
+ return to
+}
+
+func (o Options) GetIdentityResolver(schemeID string) smithyauth.IdentityResolver {
+ if schemeID == "aws.auth#sigv4" {
+ return getSigV4IdentityResolver(o)
+ }
+ if schemeID == "smithy.api#noAuth" {
+ return &smithyauth.AnonymousIdentityResolver{}
+ }
+ return nil
+}
+
+// WithAPIOptions returns a functional option for setting the Client's APIOptions
+// option.
+func WithAPIOptions(optFns ...func(*middleware.Stack) error) func(*Options) {
+ return func(o *Options) {
+ o.APIOptions = append(o.APIOptions, optFns...)
+ }
+}
+
+// Deprecated: EndpointResolver and WithEndpointResolver. Providing a value for
+// this field will likely prevent you from using any endpoint-related service
+// features released after the introduction of EndpointResolverV2 and BaseEndpoint.
+// To migrate an EndpointResolver implementation that uses a custom endpoint, set
+// the client option BaseEndpoint instead.
+func WithEndpointResolver(v EndpointResolver) func(*Options) {
+ return func(o *Options) {
+ o.EndpointResolver = v
+ }
+}
+
+// WithEndpointResolverV2 returns a functional option for setting the Client's
+// EndpointResolverV2 option.
+func WithEndpointResolverV2(v EndpointResolverV2) func(*Options) {
+ return func(o *Options) {
+ o.EndpointResolverV2 = v
+ }
+}
+
+func getSigV4IdentityResolver(o Options) smithyauth.IdentityResolver {
+ if o.Credentials != nil {
+ return &internalauthsmithy.CredentialsProviderAdapter{Provider: o.Credentials}
+ }
+ return nil
+}
+
+// WithSigV4SigningName applies an override to the authentication workflow to
+// use the given signing name for SigV4-authenticated operations.
+//
+// This is an advanced setting. The value here is FINAL, taking precedence over
+// the resolved signing name from both auth scheme resolution and endpoint
+// resolution.
+func WithSigV4SigningName(name string) func(*Options) {
+ fn := func(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
+ out middleware.InitializeOutput, metadata middleware.Metadata, err error,
+ ) {
+ return next.HandleInitialize(awsmiddleware.SetSigningName(ctx, name), in)
+ }
+ return func(o *Options) {
+ o.APIOptions = append(o.APIOptions, func(s *middleware.Stack) error {
+ return s.Initialize.Add(
+ middleware.InitializeMiddlewareFunc("withSigV4SigningName", fn),
+ middleware.Before,
+ )
+ })
+ }
+}
+
+// WithSigV4SigningRegion applies an override to the authentication workflow to
+// use the given signing region for SigV4-authenticated operations.
+//
+// This is an advanced setting. The value here is FINAL, taking precedence over
+// the resolved signing region from both auth scheme resolution and endpoint
+// resolution.
+func WithSigV4SigningRegion(region string) func(*Options) {
+ fn := func(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
+ out middleware.InitializeOutput, metadata middleware.Metadata, err error,
+ ) {
+ return next.HandleInitialize(awsmiddleware.SetSigningRegion(ctx, region), in)
+ }
+ return func(o *Options) {
+ o.APIOptions = append(o.APIOptions, func(s *middleware.Stack) error {
+ return s.Initialize.Add(
+ middleware.InitializeMiddlewareFunc("withSigV4SigningRegion", fn),
+ middleware.Before,
+ )
+ })
+ }
+}
+
+func ignoreAnonymousAuth(options *Options) {
+ if aws.IsCredentialsProvider(options.Credentials, (*aws.AnonymousCredentials)(nil)) {
+ options.Credentials = nil
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/serializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/serializers.go
index efca8b25..754218b7 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/serializers.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/serializers.go
@@ -125,6 +125,128 @@ func awsRestjson1_serializeOpDocumentCreateTokenInput(v *CreateTokenInput, value
return nil
}
+type awsRestjson1_serializeOpCreateTokenWithIAM struct {
+}
+
+func (*awsRestjson1_serializeOpCreateTokenWithIAM) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestjson1_serializeOpCreateTokenWithIAM) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*CreateTokenWithIAMInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/token?aws_iam=t")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "POST"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ restEncoder.SetHeader("Content-Type").String("application/json")
+
+ jsonEncoder := smithyjson.NewEncoder()
+ if err := awsRestjson1_serializeOpDocumentCreateTokenWithIAMInput(input, jsonEncoder.Value); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestjson1_serializeOpHttpBindingsCreateTokenWithIAMInput(v *CreateTokenWithIAMInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ return nil
+}
+
+func awsRestjson1_serializeOpDocumentCreateTokenWithIAMInput(v *CreateTokenWithIAMInput, value smithyjson.Value) error {
+ object := value.Object()
+ defer object.Close()
+
+ if v.Assertion != nil {
+ ok := object.Key("assertion")
+ ok.String(*v.Assertion)
+ }
+
+ if v.ClientId != nil {
+ ok := object.Key("clientId")
+ ok.String(*v.ClientId)
+ }
+
+ if v.Code != nil {
+ ok := object.Key("code")
+ ok.String(*v.Code)
+ }
+
+ if v.GrantType != nil {
+ ok := object.Key("grantType")
+ ok.String(*v.GrantType)
+ }
+
+ if v.RedirectUri != nil {
+ ok := object.Key("redirectUri")
+ ok.String(*v.RedirectUri)
+ }
+
+ if v.RefreshToken != nil {
+ ok := object.Key("refreshToken")
+ ok.String(*v.RefreshToken)
+ }
+
+ if v.RequestedTokenType != nil {
+ ok := object.Key("requestedTokenType")
+ ok.String(*v.RequestedTokenType)
+ }
+
+ if v.Scope != nil {
+ ok := object.Key("scope")
+ if err := awsRestjson1_serializeDocumentScopes(v.Scope, ok); err != nil {
+ return err
+ }
+ }
+
+ if v.SubjectToken != nil {
+ ok := object.Key("subjectToken")
+ ok.String(*v.SubjectToken)
+ }
+
+ if v.SubjectTokenType != nil {
+ ok := object.Key("subjectTokenType")
+ ok.String(*v.SubjectTokenType)
+ }
+
+ return nil
+}
+
type awsRestjson1_serializeOpRegisterClient struct {
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/types/errors.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/types/errors.go
index 115a51a9..86b62049 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/types/errors.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/types/errors.go
@@ -247,6 +247,38 @@ func (e *InvalidRequestException) ErrorCode() string {
}
func (e *InvalidRequestException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient }
+// Indicates that a token provided as input to the request was issued by and is
+// only usable by calling IAM Identity Center endpoints in another region.
+type InvalidRequestRegionException struct {
+ Message *string
+
+ ErrorCodeOverride *string
+
+ Error_ *string
+ Error_description *string
+ Endpoint *string
+ Region *string
+
+ noSmithyDocumentSerde
+}
+
+func (e *InvalidRequestRegionException) Error() string {
+ return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage())
+}
+func (e *InvalidRequestRegionException) ErrorMessage() string {
+ if e.Message == nil {
+ return ""
+ }
+ return *e.Message
+}
+func (e *InvalidRequestRegionException) ErrorCode() string {
+ if e == nil || e.ErrorCodeOverride == nil {
+ return "InvalidRequestRegionException"
+ }
+ return *e.ErrorCodeOverride
+}
+func (e *InvalidRequestRegionException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient }
+
// Indicates that the scope provided in the request is invalid.
type InvalidScopeException struct {
Message *string
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/validators.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/validators.go
index 5a309484..9c17e4c8 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/validators.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/validators.go
@@ -29,6 +29,26 @@ func (m *validateOpCreateToken) HandleInitialize(ctx context.Context, in middlew
return next.HandleInitialize(ctx, in)
}
+type validateOpCreateTokenWithIAM struct {
+}
+
+func (*validateOpCreateTokenWithIAM) ID() string {
+ return "OperationInputValidation"
+}
+
+func (m *validateOpCreateTokenWithIAM) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
+ out middleware.InitializeOutput, metadata middleware.Metadata, err error,
+) {
+ input, ok := in.Parameters.(*CreateTokenWithIAMInput)
+ if !ok {
+ return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters)
+ }
+ if err := validateOpCreateTokenWithIAMInput(input); err != nil {
+ return out, metadata, err
+ }
+ return next.HandleInitialize(ctx, in)
+}
+
type validateOpRegisterClient struct {
}
@@ -73,6 +93,10 @@ func addOpCreateTokenValidationMiddleware(stack *middleware.Stack) error {
return stack.Initialize.Add(&validateOpCreateToken{}, middleware.After)
}
+func addOpCreateTokenWithIAMValidationMiddleware(stack *middleware.Stack) error {
+ return stack.Initialize.Add(&validateOpCreateTokenWithIAM{}, middleware.After)
+}
+
func addOpRegisterClientValidationMiddleware(stack *middleware.Stack) error {
return stack.Initialize.Add(&validateOpRegisterClient{}, middleware.After)
}
@@ -102,6 +126,24 @@ func validateOpCreateTokenInput(v *CreateTokenInput) error {
}
}
+func validateOpCreateTokenWithIAMInput(v *CreateTokenWithIAMInput) error {
+ if v == nil {
+ return nil
+ }
+ invalidParams := smithy.InvalidParamsError{Context: "CreateTokenWithIAMInput"}
+ if v.ClientId == nil {
+ invalidParams.Add(smithy.NewErrParamRequired("ClientId"))
+ }
+ if v.GrantType == nil {
+ invalidParams.Add(smithy.NewErrParamRequired("GrantType"))
+ }
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ } else {
+ return nil
+ }
+}
+
func validateOpRegisterClientInput(v *RegisterClientInput) error {
if v == nil {
return nil
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md
index 2e5ca8f8..f9b6404d 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md
@@ -1,3 +1,64 @@
+# v1.26.7 (2024-01-04)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.26.6 (2023-12-20)
+
+* No change notes available for this release.
+
+# v1.26.5 (2023-12-08)
+
+* **Bug Fix**: Reinstate presence of default Retryer in functional options, but still respect max attempts set therein.
+
+# v1.26.4 (2023-12-07)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.26.3 (2023-12-06)
+
+* **Bug Fix**: Restore pre-refactor auth behavior where all operations could technically be performed anonymously.
+* **Bug Fix**: STS `AssumeRoleWithSAML` and `AssumeRoleWithWebIdentity` would incorrectly attempt to use SigV4 authentication.
+
+# v1.26.2 (2023-12-01)
+
+* **Bug Fix**: Correct wrapping of errors in authentication workflow.
+* **Bug Fix**: Correctly recognize cache-wrapped instances of AnonymousCredentials at client construction.
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.26.1 (2023-11-30)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.26.0 (2023-11-29)
+
+* **Feature**: Expose Options() accessor on service clients.
+* **Documentation**: Documentation updates for AWS Security Token Service.
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.6 (2023-11-28.2)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.5 (2023-11-28)
+
+* **Bug Fix**: Respect setting RetryMaxAttempts in functional options at client construction.
+
+# v1.25.4 (2023-11-20)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.3 (2023-11-17)
+
+* **Documentation**: API updates for the AWS Security Token Service
+
+# v1.25.2 (2023-11-15)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
+# v1.25.1 (2023-11-09)
+
+* **Dependency Update**: Updated to the latest SDK module versions
+
# v1.25.0 (2023-11-01)
* **Feature**: Adds support for configured endpoints via environment variables and the AWS shared configuration file.
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_client.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_client.go
index c29d8cad..369de83b 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_client.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_client.go
@@ -12,7 +12,10 @@ import (
"github.com/aws/aws-sdk-go-v2/aws/retry"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
awshttp "github.com/aws/aws-sdk-go-v2/aws/transport/http"
+ internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
+ internalauthsmithy "github.com/aws/aws-sdk-go-v2/internal/auth/smithy"
internalConfig "github.com/aws/aws-sdk-go-v2/internal/configsources"
+ acceptencodingcust "github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding"
presignedurlcust "github.com/aws/aws-sdk-go-v2/service/internal/presigned-url"
smithy "github.com/aws/smithy-go"
smithydocument "github.com/aws/smithy-go/document"
@@ -49,157 +52,48 @@ func New(options Options, optFns ...func(*Options)) *Client {
resolveHTTPSignerV4(&options)
+ resolveEndpointResolverV2(&options)
+
+ resolveAuthSchemeResolver(&options)
+
for _, fn := range optFns {
fn(&options)
}
- client := &Client{
- options: options,
- }
-
- return client
-}
-
-type Options struct {
- // Set of options to modify how an operation is invoked. These apply to all
- // operations invoked for this client. Use functional options on operation call to
- // modify this list for per operation behavior.
- APIOptions []func(*middleware.Stack) error
-
- // The optional application specific identifier appended to the User-Agent header.
- AppID string
-
- // This endpoint will be given as input to an EndpointResolverV2. It is used for
- // providing a custom base endpoint that is subject to modifications by the
- // processing EndpointResolverV2.
- BaseEndpoint *string
-
- // Configures the events that will be sent to the configured logger.
- ClientLogMode aws.ClientLogMode
-
- // The credentials object to use when signing requests.
- Credentials aws.CredentialsProvider
-
- // The configuration DefaultsMode that the SDK should use when constructing the
- // clients initial default settings.
- DefaultsMode aws.DefaultsMode
+ finalizeRetryMaxAttempts(&options)
- // The endpoint options to be used when attempting to resolve an endpoint.
- EndpointOptions EndpointResolverOptions
+ ignoreAnonymousAuth(&options)
- // The service endpoint resolver.
- //
- // Deprecated: Deprecated: EndpointResolver and WithEndpointResolver. Providing a
- // value for this field will likely prevent you from using any endpoint-related
- // service features released after the introduction of EndpointResolverV2 and
- // BaseEndpoint. To migrate an EndpointResolver implementation that uses a custom
- // endpoint, set the client option BaseEndpoint instead.
- EndpointResolver EndpointResolver
+ wrapWithAnonymousAuth(&options)
- // Resolves the endpoint used for a particular service. This should be used over
- // the deprecated EndpointResolver
- EndpointResolverV2 EndpointResolverV2
+ resolveAuthSchemes(&options)
- // Signature Version 4 (SigV4) Signer
- HTTPSignerV4 HTTPSignerV4
-
- // The logger writer interface to write logging messages to.
- Logger logging.Logger
-
- // The region to send requests to. (Required)
- Region string
-
- // RetryMaxAttempts specifies the maximum number attempts an API client will call
- // an operation that fails with a retryable error. A value of 0 is ignored, and
- // will not be used to configure the API client created default retryer, or modify
- // per operation call's retry max attempts. When creating a new API Clients this
- // member will only be used if the Retryer Options member is nil. This value will
- // be ignored if Retryer is not nil. If specified in an operation call's functional
- // options with a value that is different than the constructed client's Options,
- // the Client's Retryer will be wrapped to use the operation's specific
- // RetryMaxAttempts value.
- RetryMaxAttempts int
-
- // RetryMode specifies the retry mode the API client will be created with, if
- // Retryer option is not also specified. When creating a new API Clients this
- // member will only be used if the Retryer Options member is nil. This value will
- // be ignored if Retryer is not nil. Currently does not support per operation call
- // overrides, may in the future.
- RetryMode aws.RetryMode
-
- // Retryer guides how HTTP requests should be retried in case of recoverable
- // failures. When nil the API client will use a default retryer. The kind of
- // default retry created by the API client can be changed with the RetryMode
- // option.
- Retryer aws.Retryer
-
- // The RuntimeEnvironment configuration, only populated if the DefaultsMode is set
- // to DefaultsModeAuto and is initialized using config.LoadDefaultConfig . You
- // should not populate this structure programmatically, or rely on the values here
- // within your applications.
- RuntimeEnvironment aws.RuntimeEnvironment
-
- // The initial DefaultsMode used when the client options were constructed. If the
- // DefaultsMode was set to aws.DefaultsModeAuto this will store what the resolved
- // value was at that point in time. Currently does not support per operation call
- // overrides, may in the future.
- resolvedDefaultsMode aws.DefaultsMode
-
- // The HTTP client to invoke API calls with. Defaults to client's default HTTP
- // implementation if nil.
- HTTPClient HTTPClient
-}
-
-// WithAPIOptions returns a functional option for setting the Client's APIOptions
-// option.
-func WithAPIOptions(optFns ...func(*middleware.Stack) error) func(*Options) {
- return func(o *Options) {
- o.APIOptions = append(o.APIOptions, optFns...)
- }
-}
-
-// Deprecated: EndpointResolver and WithEndpointResolver. Providing a value for
-// this field will likely prevent you from using any endpoint-related service
-// features released after the introduction of EndpointResolverV2 and BaseEndpoint.
-// To migrate an EndpointResolver implementation that uses a custom endpoint, set
-// the client option BaseEndpoint instead.
-func WithEndpointResolver(v EndpointResolver) func(*Options) {
- return func(o *Options) {
- o.EndpointResolver = v
+ client := &Client{
+ options: options,
}
-}
-// WithEndpointResolverV2 returns a functional option for setting the Client's
-// EndpointResolverV2 option.
-func WithEndpointResolverV2(v EndpointResolverV2) func(*Options) {
- return func(o *Options) {
- o.EndpointResolverV2 = v
- }
+ return client
}
-type HTTPClient interface {
- Do(*http.Request) (*http.Response, error)
+// Options returns a copy of the client configuration.
+//
+// Callers SHOULD NOT perform mutations on any inner structures within client
+// config. Config overrides should instead be made on a per-operation basis through
+// functional options.
+func (c *Client) Options() Options {
+ return c.options.Copy()
}
-// Copy creates a clone where the APIOptions list is deep copied.
-func (o Options) Copy() Options {
- to := o
- to.APIOptions = make([]func(*middleware.Stack) error, len(o.APIOptions))
- copy(to.APIOptions, o.APIOptions)
-
- return to
-}
func (c *Client) invokeOperation(ctx context.Context, opID string, params interface{}, optFns []func(*Options), stackFns ...func(*middleware.Stack, Options) error) (result interface{}, metadata middleware.Metadata, err error) {
ctx = middleware.ClearStackValues(ctx)
stack := middleware.NewStack(opID, smithyhttp.NewStackRequest)
options := c.options.Copy()
- resolveEndpointResolverV2(&options)
for _, fn := range optFns {
fn(&options)
}
- finalizeRetryMaxAttemptOptions(&options, *c)
+ finalizeOperationRetryMaxAttempts(&options, *c)
finalizeClientEndpointResolverOptions(&options)
@@ -227,6 +121,63 @@ func (c *Client) invokeOperation(ctx context.Context, opID string, params interf
return result, metadata, err
}
+type operationInputKey struct{}
+
+func setOperationInput(ctx context.Context, input interface{}) context.Context {
+ return middleware.WithStackValue(ctx, operationInputKey{}, input)
+}
+
+func getOperationInput(ctx context.Context) interface{} {
+ return middleware.GetStackValue(ctx, operationInputKey{})
+}
+
+type setOperationInputMiddleware struct {
+}
+
+func (*setOperationInputMiddleware) ID() string {
+ return "setOperationInput"
+}
+
+func (m *setOperationInputMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ ctx = setOperationInput(ctx, in.Parameters)
+ return next.HandleSerialize(ctx, in)
+}
+
+func addProtocolFinalizerMiddlewares(stack *middleware.Stack, options Options, operation string) error {
+ if err := stack.Finalize.Add(&resolveAuthSchemeMiddleware{operation: operation, options: options}, middleware.Before); err != nil {
+ return fmt.Errorf("add ResolveAuthScheme: %w", err)
+ }
+ if err := stack.Finalize.Insert(&getIdentityMiddleware{options: options}, "ResolveAuthScheme", middleware.After); err != nil {
+ return fmt.Errorf("add GetIdentity: %v", err)
+ }
+ if err := stack.Finalize.Insert(&resolveEndpointV2Middleware{options: options}, "GetIdentity", middleware.After); err != nil {
+ return fmt.Errorf("add ResolveEndpointV2: %v", err)
+ }
+ if err := stack.Finalize.Insert(&signRequestMiddleware{}, "ResolveEndpointV2", middleware.After); err != nil {
+ return fmt.Errorf("add Signing: %w", err)
+ }
+ return nil
+}
+func resolveAuthSchemeResolver(options *Options) {
+ if options.AuthSchemeResolver == nil {
+ options.AuthSchemeResolver = &defaultAuthSchemeResolver{}
+ }
+}
+
+func resolveAuthSchemes(options *Options) {
+ if options.AuthSchemes == nil {
+ options.AuthSchemes = []smithyhttp.AuthScheme{
+ internalauth.NewHTTPAuthScheme("aws.auth#sigv4", &internalauthsmithy.V4SignerAdapter{
+ Signer: options.HTTPSignerV4,
+ Logger: options.Logger,
+ LogSigning: options.ClientLogMode.IsSigning(),
+ }),
+ }
+ }
+}
+
type noSmithyDocumentSerde = smithydocument.NoSerde
type legacyEndpointContextSetter struct {
@@ -390,7 +341,15 @@ func resolveAWSRetryMaxAttempts(cfg aws.Config, o *Options) {
o.RetryMaxAttempts = cfg.RetryMaxAttempts
}
-func finalizeRetryMaxAttemptOptions(o *Options, client Client) {
+func finalizeRetryMaxAttempts(o *Options) {
+ if o.RetryMaxAttempts == 0 {
+ return
+ }
+
+ o.Retryer = retry.AddWithMaxAttempts(o.Retryer, o.RetryMaxAttempts)
+}
+
+func finalizeOperationRetryMaxAttempts(o *Options, client Client) {
if v := o.RetryMaxAttempts; v == 0 || v == client.options.RetryMaxAttempts {
return
}
@@ -417,15 +376,6 @@ func addClientUserAgent(stack *middleware.Stack, options Options) error {
return nil
}
-func addHTTPSignerV4Middleware(stack *middleware.Stack, o Options) error {
- mw := v4.NewSignHTTPRequestMiddleware(v4.SignHTTPRequestMiddlewareOptions{
- CredentialsProvider: o.Credentials,
- Signer: o.HTTPSignerV4,
- LogSigning: o.ClientLogMode.IsSigning(),
- })
- return stack.Finalize.Add(mw, middleware.After)
-}
-
type HTTPSignerV4 interface {
SignHTTP(ctx context.Context, credentials aws.Credentials, r *http.Request, payloadHash string, service string, region string, signingTime time.Time, optFns ...func(*v4.SignerOptions)) error
}
@@ -560,20 +510,67 @@ func withNopHTTPClientAPIOption(o *Options) {
o.HTTPClient = smithyhttp.NopClient{}
}
+type presignContextPolyfillMiddleware struct {
+}
+
+func (*presignContextPolyfillMiddleware) ID() string {
+ return "presignContextPolyfill"
+}
+
+func (m *presignContextPolyfillMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ rscheme := getResolvedAuthScheme(ctx)
+ if rscheme == nil {
+ return out, metadata, fmt.Errorf("no resolved auth scheme")
+ }
+
+ schemeID := rscheme.Scheme.SchemeID()
+
+ if schemeID == "aws.auth#sigv4" || schemeID == "com.amazonaws.s3#sigv4express" {
+ if sn, ok := smithyhttp.GetSigV4SigningName(&rscheme.SignerProperties); ok {
+ ctx = awsmiddleware.SetSigningName(ctx, sn)
+ }
+ if sr, ok := smithyhttp.GetSigV4SigningRegion(&rscheme.SignerProperties); ok {
+ ctx = awsmiddleware.SetSigningRegion(ctx, sr)
+ }
+ } else if schemeID == "aws.auth#sigv4a" {
+ if sn, ok := smithyhttp.GetSigV4ASigningName(&rscheme.SignerProperties); ok {
+ ctx = awsmiddleware.SetSigningName(ctx, sn)
+ }
+ if sr, ok := smithyhttp.GetSigV4ASigningRegions(&rscheme.SignerProperties); ok {
+ ctx = awsmiddleware.SetSigningRegion(ctx, sr[0])
+ }
+ }
+
+ return next.HandleFinalize(ctx, in)
+}
+
type presignConverter PresignOptions
func (c presignConverter) convertToPresignMiddleware(stack *middleware.Stack, options Options) (err error) {
- stack.Finalize.Clear()
+ if _, ok := stack.Finalize.Get((*acceptencodingcust.DisableGzip)(nil).ID()); ok {
+ stack.Finalize.Remove((*acceptencodingcust.DisableGzip)(nil).ID())
+ }
+ if _, ok := stack.Finalize.Get((*retry.Attempt)(nil).ID()); ok {
+ stack.Finalize.Remove((*retry.Attempt)(nil).ID())
+ }
+ if _, ok := stack.Finalize.Get((*retry.MetricsHeader)(nil).ID()); ok {
+ stack.Finalize.Remove((*retry.MetricsHeader)(nil).ID())
+ }
stack.Deserialize.Clear()
stack.Build.Remove((*awsmiddleware.ClientRequestID)(nil).ID())
stack.Build.Remove("UserAgent")
+ if err := stack.Finalize.Insert(&presignContextPolyfillMiddleware{}, "Signing", middleware.Before); err != nil {
+ return err
+ }
+
pmw := v4.NewPresignHTTPRequestMiddleware(v4.PresignHTTPRequestMiddlewareOptions{
CredentialsProvider: options.Credentials,
Presigner: c.Presigner,
LogSigning: options.ClientLogMode.IsSigning(),
})
- err = stack.Finalize.Add(pmw, middleware.After)
- if err != nil {
+ if _, err := stack.Finalize.Swap("Signing", pmw); err != nil {
return err
}
if err = smithyhttp.AddNoPayloadDefaultContentTypeRemover(stack); err != nil {
@@ -600,31 +597,31 @@ func addRequestResponseLogging(stack *middleware.Stack, o Options) error {
}, middleware.After)
}
-type endpointDisableHTTPSMiddleware struct {
- EndpointDisableHTTPS bool
+type disableHTTPSMiddleware struct {
+ DisableHTTPS bool
}
-func (*endpointDisableHTTPSMiddleware) ID() string {
- return "endpointDisableHTTPSMiddleware"
+func (*disableHTTPSMiddleware) ID() string {
+ return "disableHTTPS"
}
-func (m *endpointDisableHTTPSMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+func (m *disableHTTPSMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
) {
req, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
}
- if m.EndpointDisableHTTPS && !smithyhttp.GetHostnameImmutable(ctx) {
+ if m.DisableHTTPS && !smithyhttp.GetHostnameImmutable(ctx) {
req.URL.Scheme = "http"
}
- return next.HandleSerialize(ctx, in)
-
+ return next.HandleFinalize(ctx, in)
}
-func addendpointDisableHTTPSMiddleware(stack *middleware.Stack, o Options) error {
- return stack.Serialize.Insert(&endpointDisableHTTPSMiddleware{
- EndpointDisableHTTPS: o.EndpointOptions.DisableHTTPS,
- }, "OperationSerializer", middleware.Before)
+
+func addDisableHTTPSMiddleware(stack *middleware.Stack, o Options) error {
+ return stack.Finalize.Insert(&disableHTTPSMiddleware{
+ DisableHTTPS: o.EndpointOptions.DisableHTTPS,
+ }, "ResolveEndpointV2", middleware.After)
}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_AssumeRole.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_AssumeRole.go
index 0ef7affc..2938dac8 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_AssumeRole.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_AssumeRole.go
@@ -4,14 +4,10 @@ package sts
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
"github.com/aws/aws-sdk-go-v2/service/sts/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -204,7 +200,12 @@ type AssumeRoleInput struct {
// in the IAM User Guide.
PolicyArns []types.PolicyDescriptorType
- // Reserved for future use.
+ // A list of previously acquired trusted context assertions in the format of a
+ // JSON array. The trusted context assertion is signed and encrypted by Amazon Web
+ // Services STS. The following is an example of a ProvidedContext value that
+ // includes a single trusted context assertion and the ARN of the context provider
+ // from which the trusted context assertion was generated.
+ // [{"ProviderArn":"arn:aws:iam::aws:contextProvider/IdentityCenter","ContextAssertion":"trusted-context-assertion"}]
ProvidedContexts []types.ProvidedContext
// The identification number of the MFA device that is associated with the user
@@ -327,6 +328,9 @@ type AssumeRoleOutput struct {
}
func (c *Client) addOperationAssumeRoleMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsAwsquery_serializeOpAssumeRole{}, middleware.After)
if err != nil {
return err
@@ -335,6 +339,10 @@ func (c *Client) addOperationAssumeRoleMiddlewares(stack *middleware.Stack, opti
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "AssumeRole"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -356,9 +364,6 @@ func (c *Client) addOperationAssumeRoleMiddlewares(stack *middleware.Stack, opti
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -374,7 +379,7 @@ func (c *Client) addOperationAssumeRoleMiddlewares(stack *middleware.Stack, opti
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = addAssumeRoleResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpAssumeRoleValidationMiddleware(stack); err != nil {
@@ -395,7 +400,7 @@ func (c *Client) addOperationAssumeRoleMiddlewares(stack *middleware.Stack, opti
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
@@ -405,7 +410,6 @@ func newServiceMetadataMiddleware_opAssumeRole(region string) *awsmiddleware.Reg
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "sts",
OperationName: "AssumeRole",
}
}
@@ -433,126 +437,3 @@ func (c *PresignClient) PresignAssumeRole(ctx context.Context, params *AssumeRol
out := result.(*v4.PresignedHTTPRequest)
return out, nil
}
-
-type opAssumeRoleResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opAssumeRoleResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opAssumeRoleResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "sts"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
-
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "sts"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("sts")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addAssumeRoleResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opAssumeRoleResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- Endpoint: options.BaseEndpoint,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_AssumeRoleWithSAML.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_AssumeRoleWithSAML.go
index 9c33720d..ef576b64 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_AssumeRoleWithSAML.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_AssumeRoleWithSAML.go
@@ -4,13 +4,9 @@ package sts
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
"github.com/aws/aws-sdk-go-v2/service/sts/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -281,6 +277,9 @@ type AssumeRoleWithSAMLOutput struct {
}
func (c *Client) addOperationAssumeRoleWithSAMLMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsAwsquery_serializeOpAssumeRoleWithSAML{}, middleware.After)
if err != nil {
return err
@@ -289,6 +288,10 @@ func (c *Client) addOperationAssumeRoleWithSAMLMiddlewares(stack *middleware.Sta
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "AssumeRoleWithSAML"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -322,7 +325,7 @@ func (c *Client) addOperationAssumeRoleWithSAMLMiddlewares(stack *middleware.Sta
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = addAssumeRoleWithSAMLResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpAssumeRoleWithSAMLValidationMiddleware(stack); err != nil {
@@ -343,7 +346,7 @@ func (c *Client) addOperationAssumeRoleWithSAMLMiddlewares(stack *middleware.Sta
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
@@ -353,130 +356,6 @@ func newServiceMetadataMiddleware_opAssumeRoleWithSAML(region string) *awsmiddle
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "sts",
OperationName: "AssumeRoleWithSAML",
}
}
-
-type opAssumeRoleWithSAMLResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opAssumeRoleWithSAMLResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opAssumeRoleWithSAMLResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "sts"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
-
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "sts"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("sts")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addAssumeRoleWithSAMLResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opAssumeRoleWithSAMLResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- Endpoint: options.BaseEndpoint,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_AssumeRoleWithWebIdentity.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_AssumeRoleWithWebIdentity.go
index fa4a6084..b2f126b1 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_AssumeRoleWithWebIdentity.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_AssumeRoleWithWebIdentity.go
@@ -4,13 +4,9 @@ package sts
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
"github.com/aws/aws-sdk-go-v2/service/sts/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -300,6 +296,9 @@ type AssumeRoleWithWebIdentityOutput struct {
}
func (c *Client) addOperationAssumeRoleWithWebIdentityMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsAwsquery_serializeOpAssumeRoleWithWebIdentity{}, middleware.After)
if err != nil {
return err
@@ -308,6 +307,10 @@ func (c *Client) addOperationAssumeRoleWithWebIdentityMiddlewares(stack *middlew
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "AssumeRoleWithWebIdentity"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -341,7 +344,7 @@ func (c *Client) addOperationAssumeRoleWithWebIdentityMiddlewares(stack *middlew
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = addAssumeRoleWithWebIdentityResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpAssumeRoleWithWebIdentityValidationMiddleware(stack); err != nil {
@@ -362,7 +365,7 @@ func (c *Client) addOperationAssumeRoleWithWebIdentityMiddlewares(stack *middlew
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
@@ -372,130 +375,6 @@ func newServiceMetadataMiddleware_opAssumeRoleWithWebIdentity(region string) *aw
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "sts",
OperationName: "AssumeRoleWithWebIdentity",
}
}
-
-type opAssumeRoleWithWebIdentityResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opAssumeRoleWithWebIdentityResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opAssumeRoleWithWebIdentityResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "sts"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
-
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "sts"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("sts")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addAssumeRoleWithWebIdentityResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opAssumeRoleWithWebIdentityResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- Endpoint: options.BaseEndpoint,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_DecodeAuthorizationMessage.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_DecodeAuthorizationMessage.go
index baf2f968..97a00b97 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_DecodeAuthorizationMessage.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_DecodeAuthorizationMessage.go
@@ -4,13 +4,9 @@ package sts
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -78,6 +74,9 @@ type DecodeAuthorizationMessageOutput struct {
}
func (c *Client) addOperationDecodeAuthorizationMessageMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsAwsquery_serializeOpDecodeAuthorizationMessage{}, middleware.After)
if err != nil {
return err
@@ -86,6 +85,10 @@ func (c *Client) addOperationDecodeAuthorizationMessageMiddlewares(stack *middle
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "DecodeAuthorizationMessage"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -107,9 +110,6 @@ func (c *Client) addOperationDecodeAuthorizationMessageMiddlewares(stack *middle
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -125,7 +125,7 @@ func (c *Client) addOperationDecodeAuthorizationMessageMiddlewares(stack *middle
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = addDecodeAuthorizationMessageResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpDecodeAuthorizationMessageValidationMiddleware(stack); err != nil {
@@ -146,7 +146,7 @@ func (c *Client) addOperationDecodeAuthorizationMessageMiddlewares(stack *middle
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
@@ -156,130 +156,6 @@ func newServiceMetadataMiddleware_opDecodeAuthorizationMessage(region string) *a
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "sts",
OperationName: "DecodeAuthorizationMessage",
}
}
-
-type opDecodeAuthorizationMessageResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opDecodeAuthorizationMessageResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opDecodeAuthorizationMessageResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "sts"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
-
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "sts"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("sts")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addDecodeAuthorizationMessageResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opDecodeAuthorizationMessageResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- Endpoint: options.BaseEndpoint,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetAccessKeyInfo.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetAccessKeyInfo.go
index f1dd167d..e01fcebf 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetAccessKeyInfo.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetAccessKeyInfo.go
@@ -4,13 +4,9 @@ package sts
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -71,6 +67,9 @@ type GetAccessKeyInfoOutput struct {
}
func (c *Client) addOperationGetAccessKeyInfoMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsAwsquery_serializeOpGetAccessKeyInfo{}, middleware.After)
if err != nil {
return err
@@ -79,6 +78,10 @@ func (c *Client) addOperationGetAccessKeyInfoMiddlewares(stack *middleware.Stack
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetAccessKeyInfo"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -100,9 +103,6 @@ func (c *Client) addOperationGetAccessKeyInfoMiddlewares(stack *middleware.Stack
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -118,7 +118,7 @@ func (c *Client) addOperationGetAccessKeyInfoMiddlewares(stack *middleware.Stack
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = addGetAccessKeyInfoResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpGetAccessKeyInfoValidationMiddleware(stack); err != nil {
@@ -139,7 +139,7 @@ func (c *Client) addOperationGetAccessKeyInfoMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
@@ -149,130 +149,6 @@ func newServiceMetadataMiddleware_opGetAccessKeyInfo(region string) *awsmiddlewa
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "sts",
OperationName: "GetAccessKeyInfo",
}
}
-
-type opGetAccessKeyInfoResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetAccessKeyInfoResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetAccessKeyInfoResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "sts"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
-
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "sts"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("sts")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetAccessKeyInfoResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetAccessKeyInfoResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- Endpoint: options.BaseEndpoint,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetCallerIdentity.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetCallerIdentity.go
index 66e5d99d..80296940 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetCallerIdentity.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetCallerIdentity.go
@@ -4,13 +4,9 @@ package sts
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -66,6 +62,9 @@ type GetCallerIdentityOutput struct {
}
func (c *Client) addOperationGetCallerIdentityMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsAwsquery_serializeOpGetCallerIdentity{}, middleware.After)
if err != nil {
return err
@@ -74,6 +73,10 @@ func (c *Client) addOperationGetCallerIdentityMiddlewares(stack *middleware.Stac
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetCallerIdentity"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -95,9 +98,6 @@ func (c *Client) addOperationGetCallerIdentityMiddlewares(stack *middleware.Stac
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -113,7 +113,7 @@ func (c *Client) addOperationGetCallerIdentityMiddlewares(stack *middleware.Stac
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = addGetCallerIdentityResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetCallerIdentity(options.Region), middleware.Before); err != nil {
@@ -131,7 +131,7 @@ func (c *Client) addOperationGetCallerIdentityMiddlewares(stack *middleware.Stac
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
@@ -141,7 +141,6 @@ func newServiceMetadataMiddleware_opGetCallerIdentity(region string) *awsmiddlew
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "sts",
OperationName: "GetCallerIdentity",
}
}
@@ -169,126 +168,3 @@ func (c *PresignClient) PresignGetCallerIdentity(ctx context.Context, params *Ge
out := result.(*v4.PresignedHTTPRequest)
return out, nil
}
-
-type opGetCallerIdentityResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetCallerIdentityResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetCallerIdentityResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "sts"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
-
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "sts"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("sts")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetCallerIdentityResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetCallerIdentityResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- Endpoint: options.BaseEndpoint,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetFederationToken.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetFederationToken.go
index d577ef68..efaba119 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetFederationToken.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetFederationToken.go
@@ -4,14 +4,10 @@ package sts
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
"github.com/aws/aws-sdk-go-v2/service/sts/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -238,6 +234,9 @@ type GetFederationTokenOutput struct {
}
func (c *Client) addOperationGetFederationTokenMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsAwsquery_serializeOpGetFederationToken{}, middleware.After)
if err != nil {
return err
@@ -246,6 +245,10 @@ func (c *Client) addOperationGetFederationTokenMiddlewares(stack *middleware.Sta
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetFederationToken"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -267,9 +270,6 @@ func (c *Client) addOperationGetFederationTokenMiddlewares(stack *middleware.Sta
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -285,7 +285,7 @@ func (c *Client) addOperationGetFederationTokenMiddlewares(stack *middleware.Sta
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = addGetFederationTokenResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpGetFederationTokenValidationMiddleware(stack); err != nil {
@@ -306,7 +306,7 @@ func (c *Client) addOperationGetFederationTokenMiddlewares(stack *middleware.Sta
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
@@ -316,130 +316,6 @@ func newServiceMetadataMiddleware_opGetFederationToken(region string) *awsmiddle
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "sts",
OperationName: "GetFederationToken",
}
}
-
-type opGetFederationTokenResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetFederationTokenResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetFederationTokenResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "sts"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
-
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "sts"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("sts")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetFederationTokenResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetFederationTokenResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- Endpoint: options.BaseEndpoint,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetSessionToken.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetSessionToken.go
index 7a2345e8..7b07435f 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetSessionToken.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/api_op_GetSessionToken.go
@@ -4,14 +4,10 @@ package sts
import (
"context"
- "errors"
"fmt"
- "github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
- internalauth "github.com/aws/aws-sdk-go-v2/internal/auth"
"github.com/aws/aws-sdk-go-v2/service/sts/types"
- smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
@@ -124,6 +120,9 @@ type GetSessionTokenOutput struct {
}
func (c *Client) addOperationGetSessionTokenMiddlewares(stack *middleware.Stack, options Options) (err error) {
+ if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
+ return err
+ }
err = stack.Serialize.Add(&awsAwsquery_serializeOpGetSessionToken{}, middleware.After)
if err != nil {
return err
@@ -132,6 +131,10 @@ func (c *Client) addOperationGetSessionTokenMiddlewares(stack *middleware.Stack,
if err != nil {
return err
}
+ if err := addProtocolFinalizerMiddlewares(stack, options, "GetSessionToken"); err != nil {
+ return fmt.Errorf("add protocol finalizers: %v", err)
+ }
+
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
@@ -153,9 +156,6 @@ func (c *Client) addOperationGetSessionTokenMiddlewares(stack *middleware.Stack,
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
- if err = addHTTPSignerV4Middleware(stack, options); err != nil {
- return err
- }
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
@@ -171,7 +171,7 @@ func (c *Client) addOperationGetSessionTokenMiddlewares(stack *middleware.Stack,
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
- if err = addGetSessionTokenResolveEndpointMiddleware(stack, options); err != nil {
+ if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetSessionToken(options.Region), middleware.Before); err != nil {
@@ -189,7 +189,7 @@ func (c *Client) addOperationGetSessionTokenMiddlewares(stack *middleware.Stack,
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
- if err = addendpointDisableHTTPSMiddleware(stack, options); err != nil {
+ if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
@@ -199,130 +199,6 @@ func newServiceMetadataMiddleware_opGetSessionToken(region string) *awsmiddlewar
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
- SigningName: "sts",
OperationName: "GetSessionToken",
}
}
-
-type opGetSessionTokenResolveEndpointMiddleware struct {
- EndpointResolver EndpointResolverV2
- BuiltInResolver builtInParameterResolver
-}
-
-func (*opGetSessionTokenResolveEndpointMiddleware) ID() string {
- return "ResolveEndpointV2"
-}
-
-func (m *opGetSessionTokenResolveEndpointMiddleware) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
- out middleware.SerializeOutput, metadata middleware.Metadata, err error,
-) {
- if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
- return next.HandleSerialize(ctx, in)
- }
-
- req, ok := in.Request.(*smithyhttp.Request)
- if !ok {
- return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
- }
-
- if m.EndpointResolver == nil {
- return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
- }
-
- params := EndpointParameters{}
-
- m.BuiltInResolver.ResolveBuiltIns(¶ms)
-
- var resolvedEndpoint smithyendpoints.Endpoint
- resolvedEndpoint, err = m.EndpointResolver.ResolveEndpoint(ctx, params)
- if err != nil {
- return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
- }
-
- req.URL = &resolvedEndpoint.URI
-
- for k := range resolvedEndpoint.Headers {
- req.Header.Set(
- k,
- resolvedEndpoint.Headers.Get(k),
- )
- }
-
- authSchemes, err := internalauth.GetAuthenticationSchemes(&resolvedEndpoint.Properties)
- if err != nil {
- var nfe *internalauth.NoAuthenticationSchemesFoundError
- if errors.As(err, &nfe) {
- // if no auth scheme is found, default to sigv4
- signingName := "sts"
- signingRegion := m.BuiltInResolver.(*builtInResolver).Region
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
-
- }
- var ue *internalauth.UnSupportedAuthenticationSchemeSpecifiedError
- if errors.As(err, &ue) {
- return out, metadata, fmt.Errorf(
- "This operation requests signer version(s) %v but the client only supports %v",
- ue.UnsupportedSchemes,
- internalauth.SupportedSchemes,
- )
- }
- }
-
- for _, authScheme := range authSchemes {
- switch authScheme.(type) {
- case *internalauth.AuthenticationSchemeV4:
- v4Scheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4)
- var signingName, signingRegion string
- if v4Scheme.SigningName == nil {
- signingName = "sts"
- } else {
- signingName = *v4Scheme.SigningName
- }
- if v4Scheme.SigningRegion == nil {
- signingRegion = m.BuiltInResolver.(*builtInResolver).Region
- } else {
- signingRegion = *v4Scheme.SigningRegion
- }
- if v4Scheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4Scheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, signingName)
- ctx = awsmiddleware.SetSigningRegion(ctx, signingRegion)
- break
- case *internalauth.AuthenticationSchemeV4A:
- v4aScheme, _ := authScheme.(*internalauth.AuthenticationSchemeV4A)
- if v4aScheme.SigningName == nil {
- v4aScheme.SigningName = aws.String("sts")
- }
- if v4aScheme.DisableDoubleEncoding != nil {
- // The signer sets an equivalent value at client initialization time.
- // Setting this context value will cause the signer to extract it
- // and override the value set at client initialization time.
- ctx = internalauth.SetDisableDoubleEncoding(ctx, *v4aScheme.DisableDoubleEncoding)
- }
- ctx = awsmiddleware.SetSigningName(ctx, *v4aScheme.SigningName)
- ctx = awsmiddleware.SetSigningRegion(ctx, v4aScheme.SigningRegionSet[0])
- break
- case *internalauth.AuthenticationSchemeNone:
- break
- }
- }
-
- return next.HandleSerialize(ctx, in)
-}
-
-func addGetSessionTokenResolveEndpointMiddleware(stack *middleware.Stack, options Options) error {
- return stack.Serialize.Insert(&opGetSessionTokenResolveEndpointMiddleware{
- EndpointResolver: options.EndpointResolverV2,
- BuiltInResolver: &builtInResolver{
- Region: options.Region,
- UseDualStack: options.EndpointOptions.UseDualStackEndpoint,
- UseFIPS: options.EndpointOptions.UseFIPSEndpoint,
- Endpoint: options.BaseEndpoint,
- },
- }, "ResolveEndpoint", middleware.After)
-}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/auth.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/auth.go
new file mode 100644
index 00000000..9db5bfd4
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/auth.go
@@ -0,0 +1,296 @@
+// Code generated by smithy-go-codegen DO NOT EDIT.
+
+package sts
+
+import (
+ "context"
+ "fmt"
+ awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
+ smithy "github.com/aws/smithy-go"
+ smithyauth "github.com/aws/smithy-go/auth"
+ "github.com/aws/smithy-go/middleware"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+)
+
+func bindAuthParamsRegion(params *AuthResolverParameters, _ interface{}, options Options) {
+ params.Region = options.Region
+}
+
+type setLegacyContextSigningOptionsMiddleware struct {
+}
+
+func (*setLegacyContextSigningOptionsMiddleware) ID() string {
+ return "setLegacyContextSigningOptions"
+}
+
+func (m *setLegacyContextSigningOptionsMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ rscheme := getResolvedAuthScheme(ctx)
+ schemeID := rscheme.Scheme.SchemeID()
+
+ if sn := awsmiddleware.GetSigningName(ctx); sn != "" {
+ if schemeID == "aws.auth#sigv4" {
+ smithyhttp.SetSigV4SigningName(&rscheme.SignerProperties, sn)
+ } else if schemeID == "aws.auth#sigv4a" {
+ smithyhttp.SetSigV4ASigningName(&rscheme.SignerProperties, sn)
+ }
+ }
+
+ if sr := awsmiddleware.GetSigningRegion(ctx); sr != "" {
+ if schemeID == "aws.auth#sigv4" {
+ smithyhttp.SetSigV4SigningRegion(&rscheme.SignerProperties, sr)
+ } else if schemeID == "aws.auth#sigv4a" {
+ smithyhttp.SetSigV4ASigningRegions(&rscheme.SignerProperties, []string{sr})
+ }
+ }
+
+ return next.HandleFinalize(ctx, in)
+}
+
+func addSetLegacyContextSigningOptionsMiddleware(stack *middleware.Stack) error {
+ return stack.Finalize.Insert(&setLegacyContextSigningOptionsMiddleware{}, "Signing", middleware.Before)
+}
+
+type withAnonymous struct {
+ resolver AuthSchemeResolver
+}
+
+var _ AuthSchemeResolver = (*withAnonymous)(nil)
+
+func (v *withAnonymous) ResolveAuthSchemes(ctx context.Context, params *AuthResolverParameters) ([]*smithyauth.Option, error) {
+ opts, err := v.resolver.ResolveAuthSchemes(ctx, params)
+ if err != nil {
+ return nil, err
+ }
+
+ opts = append(opts, &smithyauth.Option{
+ SchemeID: smithyauth.SchemeIDAnonymous,
+ })
+ return opts, nil
+}
+
+func wrapWithAnonymousAuth(options *Options) {
+ if _, ok := options.AuthSchemeResolver.(*defaultAuthSchemeResolver); !ok {
+ return
+ }
+
+ options.AuthSchemeResolver = &withAnonymous{
+ resolver: options.AuthSchemeResolver,
+ }
+}
+
+// AuthResolverParameters contains the set of inputs necessary for auth scheme
+// resolution.
+type AuthResolverParameters struct {
+ // The name of the operation being invoked.
+ Operation string
+
+ // The region in which the operation is being invoked.
+ Region string
+}
+
+func bindAuthResolverParams(operation string, input interface{}, options Options) *AuthResolverParameters {
+ params := &AuthResolverParameters{
+ Operation: operation,
+ }
+
+ bindAuthParamsRegion(params, input, options)
+
+ return params
+}
+
+// AuthSchemeResolver returns a set of possible authentication options for an
+// operation.
+type AuthSchemeResolver interface {
+ ResolveAuthSchemes(context.Context, *AuthResolverParameters) ([]*smithyauth.Option, error)
+}
+
+type defaultAuthSchemeResolver struct{}
+
+var _ AuthSchemeResolver = (*defaultAuthSchemeResolver)(nil)
+
+func (*defaultAuthSchemeResolver) ResolveAuthSchemes(ctx context.Context, params *AuthResolverParameters) ([]*smithyauth.Option, error) {
+ if overrides, ok := operationAuthOptions[params.Operation]; ok {
+ return overrides(params), nil
+ }
+ return serviceAuthOptions(params), nil
+}
+
+var operationAuthOptions = map[string]func(*AuthResolverParameters) []*smithyauth.Option{
+ "AssumeRoleWithSAML": func(params *AuthResolverParameters) []*smithyauth.Option {
+ return []*smithyauth.Option{
+ {SchemeID: smithyauth.SchemeIDAnonymous},
+ }
+ },
+
+ "AssumeRoleWithWebIdentity": func(params *AuthResolverParameters) []*smithyauth.Option {
+ return []*smithyauth.Option{
+ {SchemeID: smithyauth.SchemeIDAnonymous},
+ }
+ },
+}
+
+func serviceAuthOptions(params *AuthResolverParameters) []*smithyauth.Option {
+ return []*smithyauth.Option{
+ {
+ SchemeID: smithyauth.SchemeIDSigV4,
+ SignerProperties: func() smithy.Properties {
+ var props smithy.Properties
+ smithyhttp.SetSigV4SigningName(&props, "sts")
+ smithyhttp.SetSigV4SigningRegion(&props, params.Region)
+ return props
+ }(),
+ },
+ }
+}
+
+type resolveAuthSchemeMiddleware struct {
+ operation string
+ options Options
+}
+
+func (*resolveAuthSchemeMiddleware) ID() string {
+ return "ResolveAuthScheme"
+}
+
+func (m *resolveAuthSchemeMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ params := bindAuthResolverParams(m.operation, getOperationInput(ctx), m.options)
+ options, err := m.options.AuthSchemeResolver.ResolveAuthSchemes(ctx, params)
+ if err != nil {
+ return out, metadata, fmt.Errorf("resolve auth scheme: %w", err)
+ }
+
+ scheme, ok := m.selectScheme(options)
+ if !ok {
+ return out, metadata, fmt.Errorf("could not select an auth scheme")
+ }
+
+ ctx = setResolvedAuthScheme(ctx, scheme)
+ return next.HandleFinalize(ctx, in)
+}
+
+func (m *resolveAuthSchemeMiddleware) selectScheme(options []*smithyauth.Option) (*resolvedAuthScheme, bool) {
+ for _, option := range options {
+ if option.SchemeID == smithyauth.SchemeIDAnonymous {
+ return newResolvedAuthScheme(smithyhttp.NewAnonymousScheme(), option), true
+ }
+
+ for _, scheme := range m.options.AuthSchemes {
+ if scheme.SchemeID() != option.SchemeID {
+ continue
+ }
+
+ if scheme.IdentityResolver(m.options) != nil {
+ return newResolvedAuthScheme(scheme, option), true
+ }
+ }
+ }
+
+ return nil, false
+}
+
+type resolvedAuthSchemeKey struct{}
+
+type resolvedAuthScheme struct {
+ Scheme smithyhttp.AuthScheme
+ IdentityProperties smithy.Properties
+ SignerProperties smithy.Properties
+}
+
+func newResolvedAuthScheme(scheme smithyhttp.AuthScheme, option *smithyauth.Option) *resolvedAuthScheme {
+ return &resolvedAuthScheme{
+ Scheme: scheme,
+ IdentityProperties: option.IdentityProperties,
+ SignerProperties: option.SignerProperties,
+ }
+}
+
+func setResolvedAuthScheme(ctx context.Context, scheme *resolvedAuthScheme) context.Context {
+ return middleware.WithStackValue(ctx, resolvedAuthSchemeKey{}, scheme)
+}
+
+func getResolvedAuthScheme(ctx context.Context) *resolvedAuthScheme {
+ v, _ := middleware.GetStackValue(ctx, resolvedAuthSchemeKey{}).(*resolvedAuthScheme)
+ return v
+}
+
+type getIdentityMiddleware struct {
+ options Options
+}
+
+func (*getIdentityMiddleware) ID() string {
+ return "GetIdentity"
+}
+
+func (m *getIdentityMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ rscheme := getResolvedAuthScheme(ctx)
+ if rscheme == nil {
+ return out, metadata, fmt.Errorf("no resolved auth scheme")
+ }
+
+ resolver := rscheme.Scheme.IdentityResolver(m.options)
+ if resolver == nil {
+ return out, metadata, fmt.Errorf("no identity resolver")
+ }
+
+ identity, err := resolver.GetIdentity(ctx, rscheme.IdentityProperties)
+ if err != nil {
+ return out, metadata, fmt.Errorf("get identity: %w", err)
+ }
+
+ ctx = setIdentity(ctx, identity)
+ return next.HandleFinalize(ctx, in)
+}
+
+type identityKey struct{}
+
+func setIdentity(ctx context.Context, identity smithyauth.Identity) context.Context {
+ return middleware.WithStackValue(ctx, identityKey{}, identity)
+}
+
+func getIdentity(ctx context.Context) smithyauth.Identity {
+ v, _ := middleware.GetStackValue(ctx, identityKey{}).(smithyauth.Identity)
+ return v
+}
+
+type signRequestMiddleware struct {
+}
+
+func (*signRequestMiddleware) ID() string {
+ return "Signing"
+}
+
+func (m *signRequestMiddleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ req, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, fmt.Errorf("unexpected transport type %T", in.Request)
+ }
+
+ rscheme := getResolvedAuthScheme(ctx)
+ if rscheme == nil {
+ return out, metadata, fmt.Errorf("no resolved auth scheme")
+ }
+
+ identity := getIdentity(ctx)
+ if identity == nil {
+ return out, metadata, fmt.Errorf("no identity")
+ }
+
+ signer := rscheme.Scheme.Signer()
+ if signer == nil {
+ return out, metadata, fmt.Errorf("no signer")
+ }
+
+ if err := signer.SignRequest(ctx, req, identity, rscheme.SignerProperties); err != nil {
+ return out, metadata, fmt.Errorf("sign request: %w", err)
+ }
+
+ return next.HandleFinalize(ctx, in)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/endpoints.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/endpoints.go
index cb5d56fd..9f7932f9 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/endpoints.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/endpoints.go
@@ -9,9 +9,11 @@ import (
"github.com/aws/aws-sdk-go-v2/aws"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
internalConfig "github.com/aws/aws-sdk-go-v2/internal/configsources"
+ "github.com/aws/aws-sdk-go-v2/internal/endpoints"
"github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn"
internalendpoints "github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints"
smithy "github.com/aws/smithy-go"
+ smithyauth "github.com/aws/smithy-go/auth"
smithyendpoints "github.com/aws/smithy-go/endpoints"
"github.com/aws/smithy-go/middleware"
"github.com/aws/smithy-go/ptr"
@@ -215,77 +217,6 @@ func resolveBaseEndpoint(cfg aws.Config, o *Options) {
}
}
-// Utility function to aid with translating pseudo-regions to classical regions
-// with the appropriate setting indicated by the pseudo-region
-func mapPseudoRegion(pr string) (region string, fips aws.FIPSEndpointState) {
- const fipsInfix = "-fips-"
- const fipsPrefix = "fips-"
- const fipsSuffix = "-fips"
-
- if strings.Contains(pr, fipsInfix) ||
- strings.Contains(pr, fipsPrefix) ||
- strings.Contains(pr, fipsSuffix) {
- region = strings.ReplaceAll(strings.ReplaceAll(strings.ReplaceAll(
- pr, fipsInfix, "-"), fipsPrefix, ""), fipsSuffix, "")
- fips = aws.FIPSEndpointStateEnabled
- } else {
- region = pr
- }
-
- return region, fips
-}
-
-// builtInParameterResolver is the interface responsible for resolving BuiltIn
-// values during the sourcing of EndpointParameters
-type builtInParameterResolver interface {
- ResolveBuiltIns(*EndpointParameters) error
-}
-
-// builtInResolver resolves modeled BuiltIn values using only the members defined
-// below.
-type builtInResolver struct {
- // The AWS region used to dispatch the request.
- Region string
-
- // Sourced BuiltIn value in a historical enabled or disabled state.
- UseDualStack aws.DualStackEndpointState
-
- // Sourced BuiltIn value in a historical enabled or disabled state.
- UseFIPS aws.FIPSEndpointState
-
- // Base endpoint that can potentially be modified during Endpoint resolution.
- Endpoint *string
-
- // Whether the global endpoint should be used, rather then the regional endpoint
- // for us-east-1.
- UseGlobalEndpoint bool
-}
-
-// Invoked at runtime to resolve BuiltIn Values. Only resolution code specific to
-// each BuiltIn value is generated.
-func (b *builtInResolver) ResolveBuiltIns(params *EndpointParameters) error {
-
- region, _ := mapPseudoRegion(b.Region)
- if len(region) == 0 {
- return fmt.Errorf("Could not resolve AWS::Region")
- } else {
- params.Region = aws.String(region)
- }
- if b.UseDualStack == aws.DualStackEndpointStateEnabled {
- params.UseDualStack = aws.Bool(true)
- } else {
- params.UseDualStack = aws.Bool(false)
- }
- if b.UseFIPS == aws.FIPSEndpointStateEnabled {
- params.UseFIPS = aws.Bool(true)
- } else {
- params.UseFIPS = aws.Bool(false)
- }
- params.Endpoint = b.Endpoint
- params.UseGlobalEndpoint = aws.Bool(b.UseGlobalEndpoint)
- return nil
-}
-
// EndpointParameters provides the parameters that influence how endpoints are
// resolved.
type EndpointParameters struct {
@@ -422,11 +353,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -446,11 +383,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -470,11 +413,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -494,11 +443,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -518,11 +473,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -542,11 +503,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -566,11 +533,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -590,11 +563,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -614,11 +593,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -638,11 +623,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -662,11 +653,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -686,11 +683,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -710,11 +713,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -734,11 +743,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -758,11 +773,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -782,11 +803,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -812,11 +839,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": _Region,
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, _Region)
+ return sp
+ }(),
},
})
return out
@@ -883,8 +916,8 @@ func (r *resolver) ResolveEndpoint(
}
}
if _UseFIPS == true {
- if true == _PartitionResult.SupportsFIPS {
- if "aws-us-gov" == _PartitionResult.Name {
+ if _PartitionResult.SupportsFIPS == true {
+ if _PartitionResult.Name == "aws-us-gov" {
uriString := func() string {
var out strings.Builder
out.WriteString("https://sts.")
@@ -960,11 +993,17 @@ func (r *resolver) ResolveEndpoint(
Headers: http.Header{},
Properties: func() smithy.Properties {
var out smithy.Properties
- out.Set("authSchemes", []interface{}{
- map[string]interface{}{
- "name": "sigv4",
- "signingName": "sts",
- "signingRegion": "us-east-1",
+ smithyauth.SetAuthOptions(&out, []*smithyauth.Option{
+ {
+ SchemeID: "aws.auth#sigv4",
+ SignerProperties: func() smithy.Properties {
+ var sp smithy.Properties
+ smithyhttp.SetSigV4SigningName(&sp, "sts")
+ smithyhttp.SetSigV4ASigningName(&sp, "sts")
+
+ smithyhttp.SetSigV4SigningRegion(&sp, "us-east-1")
+ return sp
+ }(),
},
})
return out
@@ -994,3 +1033,76 @@ func (r *resolver) ResolveEndpoint(
}
return endpoint, fmt.Errorf("endpoint rule error, %s", "Invalid Configuration: Missing Region")
}
+
+type endpointParamsBinder interface {
+ bindEndpointParams(*EndpointParameters)
+}
+
+func bindEndpointParams(input interface{}, options Options) *EndpointParameters {
+ params := &EndpointParameters{}
+
+ params.Region = aws.String(endpoints.MapFIPSRegion(options.Region))
+ params.UseDualStack = aws.Bool(options.EndpointOptions.UseDualStackEndpoint == aws.DualStackEndpointStateEnabled)
+ params.UseFIPS = aws.Bool(options.EndpointOptions.UseFIPSEndpoint == aws.FIPSEndpointStateEnabled)
+ params.Endpoint = options.BaseEndpoint
+
+ if b, ok := input.(endpointParamsBinder); ok {
+ b.bindEndpointParams(params)
+ }
+
+ return params
+}
+
+type resolveEndpointV2Middleware struct {
+ options Options
+}
+
+func (*resolveEndpointV2Middleware) ID() string {
+ return "ResolveEndpointV2"
+}
+
+func (m *resolveEndpointV2Middleware) HandleFinalize(ctx context.Context, in middleware.FinalizeInput, next middleware.FinalizeHandler) (
+ out middleware.FinalizeOutput, metadata middleware.Metadata, err error,
+) {
+ if awsmiddleware.GetRequiresLegacyEndpoints(ctx) {
+ return next.HandleFinalize(ctx, in)
+ }
+
+ req, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, fmt.Errorf("unknown transport type %T", in.Request)
+ }
+
+ if m.options.EndpointResolverV2 == nil {
+ return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
+ }
+
+ params := bindEndpointParams(getOperationInput(ctx), m.options)
+ endpt, err := m.options.EndpointResolverV2.ResolveEndpoint(ctx, *params)
+ if err != nil {
+ return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
+ }
+
+ if endpt.URI.RawPath == "" && req.URL.RawPath != "" {
+ endpt.URI.RawPath = endpt.URI.Path
+ }
+ req.URL.Scheme = endpt.URI.Scheme
+ req.URL.Host = endpt.URI.Host
+ req.URL.Path = smithyhttp.JoinPath(endpt.URI.Path, req.URL.Path)
+ req.URL.RawPath = smithyhttp.JoinPath(endpt.URI.RawPath, req.URL.RawPath)
+ for k := range endpt.Headers {
+ req.Header.Set(k, endpt.Headers.Get(k))
+ }
+
+ rscheme := getResolvedAuthScheme(ctx)
+ if rscheme == nil {
+ return out, metadata, fmt.Errorf("no resolved auth scheme")
+ }
+
+ opts, _ := smithyauth.GetAuthOptions(&endpt.Properties)
+ for _, o := range opts {
+ rscheme.SignerProperties.SetAll(&o.SignerProperties)
+ }
+
+ return next.HandleFinalize(ctx, in)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/generated.json b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/generated.json
index e44e7d14..d90b8bce 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/generated.json
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/generated.json
@@ -3,6 +3,7 @@
"github.com/aws/aws-sdk-go-v2": "v1.4.0",
"github.com/aws/aws-sdk-go-v2/internal/configsources": "v0.0.0-00010101000000-000000000000",
"github.com/aws/aws-sdk-go-v2/internal/endpoints/v2": "v2.0.0-00010101000000-000000000000",
+ "github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding": "v1.0.5",
"github.com/aws/aws-sdk-go-v2/service/internal/presigned-url": "v1.0.7",
"github.com/aws/smithy-go": "v1.4.0",
"github.com/google/go-cmp": "v0.5.4"
@@ -18,6 +19,7 @@
"api_op_GetCallerIdentity.go",
"api_op_GetFederationToken.go",
"api_op_GetSessionToken.go",
+ "auth.go",
"deserializers.go",
"doc.go",
"endpoints.go",
@@ -26,6 +28,7 @@
"generated.json",
"internal/endpoints/endpoints.go",
"internal/endpoints/endpoints_test.go",
+ "options.go",
"protocol_test.go",
"serializers.go",
"types/errors.go",
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go
index dac009e1..962c336c 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go
@@ -3,4 +3,4 @@
package sts
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.25.0"
+const goModuleVersion = "1.26.7"
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints/endpoints.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints/endpoints.go
index ca4c8819..3dbd993b 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints/endpoints.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints/endpoints.go
@@ -183,6 +183,9 @@ var defaultPartitions = endpoints.Partitions{
endpoints.EndpointKey{
Region: "ca-central-1",
}: endpoints.Endpoint{},
+ endpoints.EndpointKey{
+ Region: "ca-west-1",
+ }: endpoints.Endpoint{},
endpoints.EndpointKey{
Region: "eu-central-1",
}: endpoints.Endpoint{},
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/options.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/options.go
new file mode 100644
index 00000000..5c1be79f
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/options.go
@@ -0,0 +1,217 @@
+// Code generated by smithy-go-codegen DO NOT EDIT.
+
+package sts
+
+import (
+ "context"
+ "github.com/aws/aws-sdk-go-v2/aws"
+ awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
+ internalauthsmithy "github.com/aws/aws-sdk-go-v2/internal/auth/smithy"
+ smithyauth "github.com/aws/smithy-go/auth"
+ "github.com/aws/smithy-go/logging"
+ "github.com/aws/smithy-go/middleware"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+ "net/http"
+)
+
+type HTTPClient interface {
+ Do(*http.Request) (*http.Response, error)
+}
+
+type Options struct {
+ // Set of options to modify how an operation is invoked. These apply to all
+ // operations invoked for this client. Use functional options on operation call to
+ // modify this list for per operation behavior.
+ APIOptions []func(*middleware.Stack) error
+
+ // The optional application specific identifier appended to the User-Agent header.
+ AppID string
+
+ // This endpoint will be given as input to an EndpointResolverV2. It is used for
+ // providing a custom base endpoint that is subject to modifications by the
+ // processing EndpointResolverV2.
+ BaseEndpoint *string
+
+ // Configures the events that will be sent to the configured logger.
+ ClientLogMode aws.ClientLogMode
+
+ // The credentials object to use when signing requests.
+ Credentials aws.CredentialsProvider
+
+ // The configuration DefaultsMode that the SDK should use when constructing the
+ // clients initial default settings.
+ DefaultsMode aws.DefaultsMode
+
+ // The endpoint options to be used when attempting to resolve an endpoint.
+ EndpointOptions EndpointResolverOptions
+
+ // The service endpoint resolver.
+ //
+ // Deprecated: Deprecated: EndpointResolver and WithEndpointResolver. Providing a
+ // value for this field will likely prevent you from using any endpoint-related
+ // service features released after the introduction of EndpointResolverV2 and
+ // BaseEndpoint. To migrate an EndpointResolver implementation that uses a custom
+ // endpoint, set the client option BaseEndpoint instead.
+ EndpointResolver EndpointResolver
+
+ // Resolves the endpoint used for a particular service operation. This should be
+ // used over the deprecated EndpointResolver.
+ EndpointResolverV2 EndpointResolverV2
+
+ // Signature Version 4 (SigV4) Signer
+ HTTPSignerV4 HTTPSignerV4
+
+ // The logger writer interface to write logging messages to.
+ Logger logging.Logger
+
+ // The region to send requests to. (Required)
+ Region string
+
+ // RetryMaxAttempts specifies the maximum number attempts an API client will call
+ // an operation that fails with a retryable error. A value of 0 is ignored, and
+ // will not be used to configure the API client created default retryer, or modify
+ // per operation call's retry max attempts. If specified in an operation call's
+ // functional options with a value that is different than the constructed client's
+ // Options, the Client's Retryer will be wrapped to use the operation's specific
+ // RetryMaxAttempts value.
+ RetryMaxAttempts int
+
+ // RetryMode specifies the retry mode the API client will be created with, if
+ // Retryer option is not also specified. When creating a new API Clients this
+ // member will only be used if the Retryer Options member is nil. This value will
+ // be ignored if Retryer is not nil. Currently does not support per operation call
+ // overrides, may in the future.
+ RetryMode aws.RetryMode
+
+ // Retryer guides how HTTP requests should be retried in case of recoverable
+ // failures. When nil the API client will use a default retryer. The kind of
+ // default retry created by the API client can be changed with the RetryMode
+ // option.
+ Retryer aws.Retryer
+
+ // The RuntimeEnvironment configuration, only populated if the DefaultsMode is set
+ // to DefaultsModeAuto and is initialized using config.LoadDefaultConfig . You
+ // should not populate this structure programmatically, or rely on the values here
+ // within your applications.
+ RuntimeEnvironment aws.RuntimeEnvironment
+
+ // The initial DefaultsMode used when the client options were constructed. If the
+ // DefaultsMode was set to aws.DefaultsModeAuto this will store what the resolved
+ // value was at that point in time. Currently does not support per operation call
+ // overrides, may in the future.
+ resolvedDefaultsMode aws.DefaultsMode
+
+ // The HTTP client to invoke API calls with. Defaults to client's default HTTP
+ // implementation if nil.
+ HTTPClient HTTPClient
+
+ // The auth scheme resolver which determines how to authenticate for each
+ // operation.
+ AuthSchemeResolver AuthSchemeResolver
+
+ // The list of auth schemes supported by the client.
+ AuthSchemes []smithyhttp.AuthScheme
+}
+
+// Copy creates a clone where the APIOptions list is deep copied.
+func (o Options) Copy() Options {
+ to := o
+ to.APIOptions = make([]func(*middleware.Stack) error, len(o.APIOptions))
+ copy(to.APIOptions, o.APIOptions)
+
+ return to
+}
+
+func (o Options) GetIdentityResolver(schemeID string) smithyauth.IdentityResolver {
+ if schemeID == "aws.auth#sigv4" {
+ return getSigV4IdentityResolver(o)
+ }
+ if schemeID == "smithy.api#noAuth" {
+ return &smithyauth.AnonymousIdentityResolver{}
+ }
+ return nil
+}
+
+// WithAPIOptions returns a functional option for setting the Client's APIOptions
+// option.
+func WithAPIOptions(optFns ...func(*middleware.Stack) error) func(*Options) {
+ return func(o *Options) {
+ o.APIOptions = append(o.APIOptions, optFns...)
+ }
+}
+
+// Deprecated: EndpointResolver and WithEndpointResolver. Providing a value for
+// this field will likely prevent you from using any endpoint-related service
+// features released after the introduction of EndpointResolverV2 and BaseEndpoint.
+// To migrate an EndpointResolver implementation that uses a custom endpoint, set
+// the client option BaseEndpoint instead.
+func WithEndpointResolver(v EndpointResolver) func(*Options) {
+ return func(o *Options) {
+ o.EndpointResolver = v
+ }
+}
+
+// WithEndpointResolverV2 returns a functional option for setting the Client's
+// EndpointResolverV2 option.
+func WithEndpointResolverV2(v EndpointResolverV2) func(*Options) {
+ return func(o *Options) {
+ o.EndpointResolverV2 = v
+ }
+}
+
+func getSigV4IdentityResolver(o Options) smithyauth.IdentityResolver {
+ if o.Credentials != nil {
+ return &internalauthsmithy.CredentialsProviderAdapter{Provider: o.Credentials}
+ }
+ return nil
+}
+
+// WithSigV4SigningName applies an override to the authentication workflow to
+// use the given signing name for SigV4-authenticated operations.
+//
+// This is an advanced setting. The value here is FINAL, taking precedence over
+// the resolved signing name from both auth scheme resolution and endpoint
+// resolution.
+func WithSigV4SigningName(name string) func(*Options) {
+ fn := func(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
+ out middleware.InitializeOutput, metadata middleware.Metadata, err error,
+ ) {
+ return next.HandleInitialize(awsmiddleware.SetSigningName(ctx, name), in)
+ }
+ return func(o *Options) {
+ o.APIOptions = append(o.APIOptions, func(s *middleware.Stack) error {
+ return s.Initialize.Add(
+ middleware.InitializeMiddlewareFunc("withSigV4SigningName", fn),
+ middleware.Before,
+ )
+ })
+ }
+}
+
+// WithSigV4SigningRegion applies an override to the authentication workflow to
+// use the given signing region for SigV4-authenticated operations.
+//
+// This is an advanced setting. The value here is FINAL, taking precedence over
+// the resolved signing region from both auth scheme resolution and endpoint
+// resolution.
+func WithSigV4SigningRegion(region string) func(*Options) {
+ fn := func(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) (
+ out middleware.InitializeOutput, metadata middleware.Metadata, err error,
+ ) {
+ return next.HandleInitialize(awsmiddleware.SetSigningRegion(ctx, region), in)
+ }
+ return func(o *Options) {
+ o.APIOptions = append(o.APIOptions, func(s *middleware.Stack) error {
+ return s.Initialize.Add(
+ middleware.InitializeMiddlewareFunc("withSigV4SigningRegion", fn),
+ middleware.Before,
+ )
+ })
+ }
+}
+
+func ignoreAnonymousAuth(options *Options) {
+ if aws.IsCredentialsProvider(options.Credentials, (*aws.AnonymousCredentials)(nil)) {
+ options.Credentials = nil
+ }
+}
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/types/types.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/types/types.go
index 572a7051..e3701d11 100644
--- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/types/types.go
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/types/types.go
@@ -89,13 +89,17 @@ type PolicyDescriptorType struct {
noSmithyDocumentSerde
}
-// Reserved for future use.
+// Contains information about the provided context. This includes the signed and
+// encrypted trusted context assertion and the context provider ARN from which the
+// trusted context assertion was generated.
type ProvidedContext struct {
- // Reserved for future use.
+ // The signed and encrypted trusted context assertion generated by the context
+ // provider. The trusted context assertion is signed and encrypted by Amazon Web
+ // Services STS.
ContextAssertion *string
- // Reserved for future use.
+ // The context provider ARN from which the trusted context assertion was generated.
ProviderArn *string
noSmithyDocumentSerde
diff --git a/vendor/github.com/aws/smithy-go/CHANGELOG.md b/vendor/github.com/aws/smithy-go/CHANGELOG.md
index 9cca07b5..46b11508 100644
--- a/vendor/github.com/aws/smithy-go/CHANGELOG.md
+++ b/vendor/github.com/aws/smithy-go/CHANGELOG.md
@@ -1,3 +1,25 @@
+# Release (2023-12-07)
+
+## Module Highlights
+* `github.com/aws/smithy-go`: v1.19.0
+ * **Feature**: Support modeled request compression.
+
+# Release (2023-11-30)
+
+* No change notes available for this release.
+
+# Release (2023-11-29)
+
+## Module Highlights
+* `github.com/aws/smithy-go`: v1.18.0
+ * **Feature**: Expose Options() method on generated service clients.
+
+# Release (2023-11-15)
+
+## Module Highlights
+* `github.com/aws/smithy-go`: v1.17.0
+ * **Feature**: Support identity/auth components of client reference architecture.
+
# Release (2023-10-31)
## Module Highlights
diff --git a/vendor/github.com/aws/smithy-go/auth/auth.go b/vendor/github.com/aws/smithy-go/auth/auth.go
new file mode 100644
index 00000000..5bdb70c9
--- /dev/null
+++ b/vendor/github.com/aws/smithy-go/auth/auth.go
@@ -0,0 +1,3 @@
+// Package auth defines protocol-agnostic authentication types for smithy
+// clients.
+package auth
diff --git a/vendor/github.com/aws/smithy-go/auth/identity.go b/vendor/github.com/aws/smithy-go/auth/identity.go
new file mode 100644
index 00000000..ba8cf70d
--- /dev/null
+++ b/vendor/github.com/aws/smithy-go/auth/identity.go
@@ -0,0 +1,47 @@
+package auth
+
+import (
+ "context"
+ "time"
+
+ "github.com/aws/smithy-go"
+)
+
+// Identity contains information that identifies who the user making the
+// request is.
+type Identity interface {
+ Expiration() time.Time
+}
+
+// IdentityResolver defines the interface through which an Identity is
+// retrieved.
+type IdentityResolver interface {
+ GetIdentity(context.Context, smithy.Properties) (Identity, error)
+}
+
+// IdentityResolverOptions defines the interface through which an entity can be
+// queried to retrieve an IdentityResolver for a given auth scheme.
+type IdentityResolverOptions interface {
+ GetIdentityResolver(schemeID string) IdentityResolver
+}
+
+// AnonymousIdentity is a sentinel to indicate no identity.
+type AnonymousIdentity struct{}
+
+var _ Identity = (*AnonymousIdentity)(nil)
+
+// Expiration returns the zero value for time, as anonymous identity never
+// expires.
+func (*AnonymousIdentity) Expiration() time.Time {
+ return time.Time{}
+}
+
+// AnonymousIdentityResolver returns AnonymousIdentity.
+type AnonymousIdentityResolver struct{}
+
+var _ IdentityResolver = (*AnonymousIdentityResolver)(nil)
+
+// GetIdentity returns AnonymousIdentity.
+func (*AnonymousIdentityResolver) GetIdentity(_ context.Context, _ smithy.Properties) (Identity, error) {
+ return &AnonymousIdentity{}, nil
+}
diff --git a/vendor/github.com/aws/smithy-go/auth/option.go b/vendor/github.com/aws/smithy-go/auth/option.go
new file mode 100644
index 00000000..d5dabff0
--- /dev/null
+++ b/vendor/github.com/aws/smithy-go/auth/option.go
@@ -0,0 +1,25 @@
+package auth
+
+import "github.com/aws/smithy-go"
+
+type (
+ authOptionsKey struct{}
+)
+
+// Option represents a possible authentication method for an operation.
+type Option struct {
+ SchemeID string
+ IdentityProperties smithy.Properties
+ SignerProperties smithy.Properties
+}
+
+// GetAuthOptions gets auth Options from Properties.
+func GetAuthOptions(p *smithy.Properties) ([]*Option, bool) {
+ v, ok := p.Get(authOptionsKey{}).([]*Option)
+ return v, ok
+}
+
+// SetAuthOptions sets auth Options on Properties.
+func SetAuthOptions(p *smithy.Properties, options []*Option) {
+ p.Set(authOptionsKey{}, options)
+}
diff --git a/vendor/github.com/aws/smithy-go/auth/scheme_id.go b/vendor/github.com/aws/smithy-go/auth/scheme_id.go
new file mode 100644
index 00000000..fb6a57c6
--- /dev/null
+++ b/vendor/github.com/aws/smithy-go/auth/scheme_id.go
@@ -0,0 +1,20 @@
+package auth
+
+// Anonymous
+const (
+ SchemeIDAnonymous = "smithy.api#noAuth"
+)
+
+// HTTP auth schemes
+const (
+ SchemeIDHTTPBasic = "smithy.api#httpBasicAuth"
+ SchemeIDHTTPDigest = "smithy.api#httpDigestAuth"
+ SchemeIDHTTPBearer = "smithy.api#httpBearerAuth"
+ SchemeIDHTTPAPIKey = "smithy.api#httpApiKeyAuth"
+)
+
+// AWS auth schemes
+const (
+ SchemeIDSigV4 = "aws.auth#sigv4"
+ SchemeIDSigV4A = "aws.auth#sigv4a"
+)
diff --git a/vendor/github.com/aws/smithy-go/container/private/cache/cache.go b/vendor/github.com/aws/smithy-go/container/private/cache/cache.go
new file mode 100644
index 00000000..69af8775
--- /dev/null
+++ b/vendor/github.com/aws/smithy-go/container/private/cache/cache.go
@@ -0,0 +1,19 @@
+// Package cache defines the interface for a key-based data store.
+//
+// This package is designated as private and is intended for use only by the
+// smithy client runtime. The exported API therein is not considered stable and
+// is subject to breaking changes without notice.
+package cache
+
+// Cache defines the interface for an opaquely-typed, key-based data store.
+//
+// The thread-safety of this interface is undefined and is dictated by
+// implementations.
+type Cache interface {
+ // Retrieve the value associated with the given key. The returned boolean
+ // indicates whether the cache held a value for the given key.
+ Get(k interface{}) (interface{}, bool)
+
+ // Store a value under the given key.
+ Put(k interface{}, v interface{})
+}
diff --git a/vendor/github.com/aws/smithy-go/container/private/cache/lru/lru.go b/vendor/github.com/aws/smithy-go/container/private/cache/lru/lru.go
new file mode 100644
index 00000000..02ecb0a3
--- /dev/null
+++ b/vendor/github.com/aws/smithy-go/container/private/cache/lru/lru.go
@@ -0,0 +1,63 @@
+// Package lru implements [cache.Cache] with an LRU eviction policy.
+//
+// This implementation is NOT thread-safe.
+//
+// This package is designated as private and is intended for use only by the
+// smithy client runtime. The exported API therein is not considered stable and
+// is subject to breaking changes without notice.
+package lru
+
+import (
+ "container/list"
+
+ "github.com/aws/smithy-go/container/private/cache"
+)
+
+// New creates a new LRU cache with the given capacity.
+func New(cap int) cache.Cache {
+ return &lru{
+ entries: make(map[interface{}]*list.Element, cap),
+ cap: cap,
+ mru: list.New(),
+ }
+}
+
+type lru struct {
+ entries map[interface{}]*list.Element
+ cap int
+
+ mru *list.List // least-recently used is at the back
+}
+
+type element struct {
+ key interface{}
+ value interface{}
+}
+
+func (l *lru) Get(k interface{}) (interface{}, bool) {
+ e, ok := l.entries[k]
+ if !ok {
+ return nil, false
+ }
+
+ l.mru.MoveToFront(e)
+ return e.Value.(*element).value, true
+}
+
+func (l *lru) Put(k interface{}, v interface{}) {
+ if len(l.entries) == l.cap {
+ l.evict()
+ }
+
+ ev := &element{
+ key: k,
+ value: v,
+ }
+ e := l.mru.PushFront(ev)
+ l.entries[k] = e
+}
+
+func (l *lru) evict() {
+ e := l.mru.Remove(l.mru.Back())
+ delete(l.entries, e.(*element).key)
+}
diff --git a/vendor/github.com/aws/smithy-go/endpoints/private/rulesfn/strings.go b/vendor/github.com/aws/smithy-go/endpoints/private/rulesfn/strings.go
index 8e230783..5cf4a7b0 100644
--- a/vendor/github.com/aws/smithy-go/endpoints/private/rulesfn/strings.go
+++ b/vendor/github.com/aws/smithy-go/endpoints/private/rulesfn/strings.go
@@ -1,6 +1,5 @@
package rulesfn
-
// Substring returns the substring of the input provided. If the start or stop
// indexes are not valid for the input nil will be returned. If errors occur
// they will be added to the provided [ErrorCollector].
diff --git a/vendor/github.com/aws/smithy-go/go_module_metadata.go b/vendor/github.com/aws/smithy-go/go_module_metadata.go
index d96be806..cd6f7fa4 100644
--- a/vendor/github.com/aws/smithy-go/go_module_metadata.go
+++ b/vendor/github.com/aws/smithy-go/go_module_metadata.go
@@ -3,4 +3,4 @@
package smithy
// goModuleVersion is the tagged release for this module
-const goModuleVersion = "1.16.0"
+const goModuleVersion = "1.19.0"
diff --git a/vendor/github.com/aws/smithy-go/private/requestcompression/gzip.go b/vendor/github.com/aws/smithy-go/private/requestcompression/gzip.go
new file mode 100644
index 00000000..004d78f2
--- /dev/null
+++ b/vendor/github.com/aws/smithy-go/private/requestcompression/gzip.go
@@ -0,0 +1,30 @@
+package requestcompression
+
+import (
+ "bytes"
+ "compress/gzip"
+ "fmt"
+ "io"
+)
+
+func gzipCompress(input io.Reader) ([]byte, error) {
+ var b bytes.Buffer
+ w, err := gzip.NewWriterLevel(&b, gzip.DefaultCompression)
+ if err != nil {
+ return nil, fmt.Errorf("failed to create gzip writer, %v", err)
+ }
+
+ inBytes, err := io.ReadAll(input)
+ if err != nil {
+ return nil, fmt.Errorf("failed read payload to compress, %v", err)
+ }
+
+ if _, err = w.Write(inBytes); err != nil {
+ return nil, fmt.Errorf("failed to write payload to be compressed, %v", err)
+ }
+ if err = w.Close(); err != nil {
+ return nil, fmt.Errorf("failed to flush payload being compressed, %v", err)
+ }
+
+ return b.Bytes(), nil
+}
diff --git a/vendor/github.com/aws/smithy-go/private/requestcompression/middleware_capture_request_compression.go b/vendor/github.com/aws/smithy-go/private/requestcompression/middleware_capture_request_compression.go
new file mode 100644
index 00000000..06c16afc
--- /dev/null
+++ b/vendor/github.com/aws/smithy-go/private/requestcompression/middleware_capture_request_compression.go
@@ -0,0 +1,52 @@
+package requestcompression
+
+import (
+ "bytes"
+ "context"
+ "fmt"
+ "github.com/aws/smithy-go/middleware"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+ "io"
+ "net/http"
+)
+
+const captureUncompressedRequestID = "CaptureUncompressedRequest"
+
+// AddCaptureUncompressedRequestMiddleware captures http request before compress encoding for check
+func AddCaptureUncompressedRequestMiddleware(stack *middleware.Stack, buf *bytes.Buffer) error {
+ return stack.Serialize.Insert(&captureUncompressedRequestMiddleware{
+ buf: buf,
+ }, "RequestCompression", middleware.Before)
+}
+
+type captureUncompressedRequestMiddleware struct {
+ req *http.Request
+ buf *bytes.Buffer
+ bytes []byte
+}
+
+// ID returns id of the captureUncompressedRequestMiddleware
+func (*captureUncompressedRequestMiddleware) ID() string {
+ return captureUncompressedRequestID
+}
+
+// HandleSerialize captures request payload before it is compressed by request compression middleware
+func (m *captureUncompressedRequestMiddleware) HandleSerialize(ctx context.Context, input middleware.SerializeInput, next middleware.SerializeHandler,
+) (
+ output middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := input.Request.(*smithyhttp.Request)
+ if !ok {
+ return output, metadata, fmt.Errorf("error when retrieving http request")
+ }
+
+ _, err = io.Copy(m.buf, request.GetStream())
+ if err != nil {
+ return output, metadata, fmt.Errorf("error when copying http request stream: %q", err)
+ }
+ if err = request.RewindStream(); err != nil {
+ return output, metadata, fmt.Errorf("error when rewinding request stream: %q", err)
+ }
+
+ return next.HandleSerialize(ctx, input)
+}
diff --git a/vendor/github.com/aws/smithy-go/private/requestcompression/request_compression.go b/vendor/github.com/aws/smithy-go/private/requestcompression/request_compression.go
new file mode 100644
index 00000000..7c414760
--- /dev/null
+++ b/vendor/github.com/aws/smithy-go/private/requestcompression/request_compression.go
@@ -0,0 +1,103 @@
+// Package requestcompression implements runtime support for smithy-modeled
+// request compression.
+//
+// This package is designated as private and is intended for use only by the
+// smithy client runtime. The exported API therein is not considered stable and
+// is subject to breaking changes without notice.
+package requestcompression
+
+import (
+ "bytes"
+ "context"
+ "fmt"
+ "github.com/aws/smithy-go/middleware"
+ "github.com/aws/smithy-go/transport/http"
+ "io"
+)
+
+const MaxRequestMinCompressSizeBytes = 10485760
+
+// Enumeration values for supported compress Algorithms.
+const (
+ GZIP = "gzip"
+)
+
+type compressFunc func(io.Reader) ([]byte, error)
+
+var allowedAlgorithms = map[string]compressFunc{
+ GZIP: gzipCompress,
+}
+
+// AddRequestCompression add requestCompression middleware to op stack
+func AddRequestCompression(stack *middleware.Stack, disabled bool, minBytes int64, algorithms []string) error {
+ return stack.Serialize.Add(&requestCompression{
+ disableRequestCompression: disabled,
+ requestMinCompressSizeBytes: minBytes,
+ compressAlgorithms: algorithms,
+ }, middleware.After)
+}
+
+type requestCompression struct {
+ disableRequestCompression bool
+ requestMinCompressSizeBytes int64
+ compressAlgorithms []string
+}
+
+// ID returns the ID of the middleware
+func (m requestCompression) ID() string {
+ return "RequestCompression"
+}
+
+// HandleSerialize gzip compress the request's stream/body if enabled by config fields
+func (m requestCompression) HandleSerialize(
+ ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler,
+) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ if m.disableRequestCompression {
+ return next.HandleSerialize(ctx, in)
+ }
+ // still need to check requestMinCompressSizeBytes in case it is out of range after service client config
+ if m.requestMinCompressSizeBytes < 0 || m.requestMinCompressSizeBytes > MaxRequestMinCompressSizeBytes {
+ return out, metadata, fmt.Errorf("invalid range for min request compression size bytes %d, must be within 0 and 10485760 inclusively", m.requestMinCompressSizeBytes)
+ }
+
+ req, ok := in.Request.(*http.Request)
+ if !ok {
+ return out, metadata, fmt.Errorf("unknown request type %T", req)
+ }
+
+ for _, algorithm := range m.compressAlgorithms {
+ compressFunc := allowedAlgorithms[algorithm]
+ if compressFunc != nil {
+ if stream := req.GetStream(); stream != nil {
+ size, found, err := req.StreamLength()
+ if err != nil {
+ return out, metadata, fmt.Errorf("error while finding request stream length, %v", err)
+ } else if !found || size < m.requestMinCompressSizeBytes {
+ return next.HandleSerialize(ctx, in)
+ }
+
+ compressedBytes, err := compressFunc(stream)
+ if err != nil {
+ return out, metadata, fmt.Errorf("failed to compress request stream, %v", err)
+ }
+
+ var newReq *http.Request
+ if newReq, err = req.SetStream(bytes.NewReader(compressedBytes)); err != nil {
+ return out, metadata, fmt.Errorf("failed to set request stream, %v", err)
+ }
+ *req = *newReq
+
+ if val := req.Header.Get("Content-Encoding"); val != "" {
+ req.Header.Set("Content-Encoding", fmt.Sprintf("%s, %s", val, algorithm))
+ } else {
+ req.Header.Set("Content-Encoding", algorithm)
+ }
+ }
+ break
+ }
+ }
+
+ return next.HandleSerialize(ctx, in)
+}
diff --git a/vendor/github.com/aws/smithy-go/properties.go b/vendor/github.com/aws/smithy-go/properties.go
index 17d659c5..c9af66c0 100644
--- a/vendor/github.com/aws/smithy-go/properties.go
+++ b/vendor/github.com/aws/smithy-go/properties.go
@@ -7,12 +7,10 @@ type PropertiesReader interface {
}
// Properties provides storing and reading metadata values. Keys may be any
-// comparable value type. Get and set will panic if key is not a comparable
-// value type.
+// comparable value type. Get and Set will panic if a key is not comparable.
//
-// Properties uses lazy initialization, and Set method must be called as an
-// addressable value, or pointer. Not doing so may cause key/value pair to not
-// be set.
+// The zero value for a Properties instance is ready for reads/writes without
+// any additional initialization.
type Properties struct {
values map[interface{}]interface{}
}
@@ -22,21 +20,16 @@ type Properties struct {
//
// Panics if key type is not comparable.
func (m *Properties) Get(key interface{}) interface{} {
+ m.lazyInit()
return m.values[key]
}
// Set stores the value pointed to by the key. If a value already exists at
// that key it will be replaced with the new value.
//
-// Set method must be called as an addressable value, or pointer. If Set is not
-// called as an addressable value or pointer, the key value pair being set may
-// be lost.
-//
// Panics if the key type is not comparable.
func (m *Properties) Set(key, value interface{}) {
- if m.values == nil {
- m.values = map[interface{}]interface{}{}
- }
+ m.lazyInit()
m.values[key] = value
}
@@ -44,9 +37,26 @@ func (m *Properties) Set(key, value interface{}) {
//
// Panics if the key type is not comparable.
func (m *Properties) Has(key interface{}) bool {
- if m.values == nil {
- return false
- }
+ m.lazyInit()
_, ok := m.values[key]
return ok
}
+
+// SetAll accepts all of the given Properties into the receiver, overwriting
+// any existing keys in the case of conflicts.
+func (m *Properties) SetAll(other *Properties) {
+ if other.values == nil {
+ return
+ }
+
+ m.lazyInit()
+ for k, v := range other.values {
+ m.values[k] = v
+ }
+}
+
+func (m *Properties) lazyInit() {
+ if m.values == nil {
+ m.values = map[interface{}]interface{}{}
+ }
+}
diff --git a/vendor/github.com/aws/smithy-go/transport/http/auth.go b/vendor/github.com/aws/smithy-go/transport/http/auth.go
new file mode 100644
index 00000000..58e1ab5e
--- /dev/null
+++ b/vendor/github.com/aws/smithy-go/transport/http/auth.go
@@ -0,0 +1,21 @@
+package http
+
+import (
+ "context"
+
+ smithy "github.com/aws/smithy-go"
+ "github.com/aws/smithy-go/auth"
+)
+
+// AuthScheme defines an HTTP authentication scheme.
+type AuthScheme interface {
+ SchemeID() string
+ IdentityResolver(auth.IdentityResolverOptions) auth.IdentityResolver
+ Signer() Signer
+}
+
+// Signer defines the interface through which HTTP requests are supplemented
+// with an Identity.
+type Signer interface {
+ SignRequest(context.Context, *Request, auth.Identity, smithy.Properties) error
+}
diff --git a/vendor/github.com/aws/smithy-go/transport/http/auth_schemes.go b/vendor/github.com/aws/smithy-go/transport/http/auth_schemes.go
new file mode 100644
index 00000000..d60cf2a6
--- /dev/null
+++ b/vendor/github.com/aws/smithy-go/transport/http/auth_schemes.go
@@ -0,0 +1,45 @@
+package http
+
+import (
+ "context"
+
+ smithy "github.com/aws/smithy-go"
+ "github.com/aws/smithy-go/auth"
+)
+
+// NewAnonymousScheme returns the anonymous HTTP auth scheme.
+func NewAnonymousScheme() AuthScheme {
+ return &authScheme{
+ schemeID: auth.SchemeIDAnonymous,
+ signer: &nopSigner{},
+ }
+}
+
+// authScheme is parameterized to generically implement the exported AuthScheme
+// interface
+type authScheme struct {
+ schemeID string
+ signer Signer
+}
+
+var _ AuthScheme = (*authScheme)(nil)
+
+func (s *authScheme) SchemeID() string {
+ return s.schemeID
+}
+
+func (s *authScheme) IdentityResolver(o auth.IdentityResolverOptions) auth.IdentityResolver {
+ return o.GetIdentityResolver(s.schemeID)
+}
+
+func (s *authScheme) Signer() Signer {
+ return s.signer
+}
+
+type nopSigner struct{}
+
+var _ Signer = (*nopSigner)(nil)
+
+func (*nopSigner) SignRequest(context.Context, *Request, auth.Identity, smithy.Properties) error {
+ return nil
+}
diff --git a/vendor/github.com/aws/smithy-go/transport/http/properties.go b/vendor/github.com/aws/smithy-go/transport/http/properties.go
new file mode 100644
index 00000000..c65aa393
--- /dev/null
+++ b/vendor/github.com/aws/smithy-go/transport/http/properties.go
@@ -0,0 +1,80 @@
+package http
+
+import smithy "github.com/aws/smithy-go"
+
+type (
+ sigV4SigningNameKey struct{}
+ sigV4SigningRegionKey struct{}
+
+ sigV4ASigningNameKey struct{}
+ sigV4ASigningRegionsKey struct{}
+
+ isUnsignedPayloadKey struct{}
+ disableDoubleEncodingKey struct{}
+)
+
+// GetSigV4SigningName gets the signing name from Properties.
+func GetSigV4SigningName(p *smithy.Properties) (string, bool) {
+ v, ok := p.Get(sigV4SigningNameKey{}).(string)
+ return v, ok
+}
+
+// SetSigV4SigningName sets the signing name on Properties.
+func SetSigV4SigningName(p *smithy.Properties, name string) {
+ p.Set(sigV4SigningNameKey{}, name)
+}
+
+// GetSigV4SigningRegion gets the signing region from Properties.
+func GetSigV4SigningRegion(p *smithy.Properties) (string, bool) {
+ v, ok := p.Get(sigV4SigningRegionKey{}).(string)
+ return v, ok
+}
+
+// SetSigV4SigningRegion sets the signing region on Properties.
+func SetSigV4SigningRegion(p *smithy.Properties, region string) {
+ p.Set(sigV4SigningRegionKey{}, region)
+}
+
+// GetSigV4ASigningName gets the v4a signing name from Properties.
+func GetSigV4ASigningName(p *smithy.Properties) (string, bool) {
+ v, ok := p.Get(sigV4ASigningNameKey{}).(string)
+ return v, ok
+}
+
+// SetSigV4ASigningName sets the signing name on Properties.
+func SetSigV4ASigningName(p *smithy.Properties, name string) {
+ p.Set(sigV4ASigningNameKey{}, name)
+}
+
+// GetSigV4ASigningRegion gets the v4a signing region set from Properties.
+func GetSigV4ASigningRegions(p *smithy.Properties) ([]string, bool) {
+ v, ok := p.Get(sigV4ASigningRegionsKey{}).([]string)
+ return v, ok
+}
+
+// SetSigV4ASigningRegions sets the v4a signing region set on Properties.
+func SetSigV4ASigningRegions(p *smithy.Properties, regions []string) {
+ p.Set(sigV4ASigningRegionsKey{}, regions)
+}
+
+// GetIsUnsignedPayload gets whether the payload is unsigned from Properties.
+func GetIsUnsignedPayload(p *smithy.Properties) (bool, bool) {
+ v, ok := p.Get(isUnsignedPayloadKey{}).(bool)
+ return v, ok
+}
+
+// SetIsUnsignedPayload sets whether the payload is unsigned on Properties.
+func SetIsUnsignedPayload(p *smithy.Properties, isUnsignedPayload bool) {
+ p.Set(isUnsignedPayloadKey{}, isUnsignedPayload)
+}
+
+// GetDisableDoubleEncoding gets whether the payload is unsigned from Properties.
+func GetDisableDoubleEncoding(p *smithy.Properties) (bool, bool) {
+ v, ok := p.Get(disableDoubleEncodingKey{}).(bool)
+ return v, ok
+}
+
+// SetDisableDoubleEncoding sets whether the payload is unsigned on Properties.
+func SetDisableDoubleEncoding(p *smithy.Properties, disableDoubleEncoding bool) {
+ p.Set(disableDoubleEncodingKey{}, disableDoubleEncoding)
+}
diff --git a/vendor/github.com/chenzhuoyu/iasm/x86_64/operands.go b/vendor/github.com/chenzhuoyu/iasm/x86_64/operands.go
index 96609022..8c4bc9f6 100644
--- a/vendor/github.com/chenzhuoyu/iasm/x86_64/operands.go
+++ b/vendor/github.com/chenzhuoyu/iasm/x86_64/operands.go
@@ -1,13 +1,13 @@
package x86_64
import (
- `errors`
- `fmt`
- `math`
- `reflect`
- `strconv`
- `strings`
- `sync/atomic`
+ "errors"
+ "fmt"
+ "math"
+ "reflect"
+ "strconv"
+ "strings"
+ "sync/atomic"
)
// RelativeOffset represents an RIP-relative offset.
@@ -15,496 +15,635 @@ type RelativeOffset int32
// String implements the fmt.Stringer interface.
func (self RelativeOffset) String() string {
- if self == 0 {
- return "(%rip)"
- } else {
- return fmt.Sprintf("%d(%%rip)", self)
- }
+ if self == 0 {
+ return "(%rip)"
+ } else {
+ return fmt.Sprintf("%d(%%rip)", self)
+ }
}
// RoundingControl represents a floating-point rounding option.
type RoundingControl uint8
const (
- // RN_SAE represents "Round Nearest", which is the default rounding option.
- RN_SAE RoundingControl = iota
+ // RN_SAE represents "Round Nearest", which is the default rounding option.
+ RN_SAE RoundingControl = iota
- // RD_SAE represents "Round Down".
- RD_SAE
+ // RD_SAE represents "Round Down".
+ RD_SAE
- // RU_SAE represents "Round Up".
- RU_SAE
+ // RU_SAE represents "Round Up".
+ RU_SAE
- // RZ_SAE represents "Round towards Zero".
- RZ_SAE
+ // RZ_SAE represents "Round towards Zero".
+ RZ_SAE
)
-var _RC_NAMES = map[RoundingControl]string {
- RN_SAE: "rn-sae",
- RD_SAE: "rd-sae",
- RU_SAE: "ru-sae",
- RZ_SAE: "rz-sae",
+var _RC_NAMES = map[RoundingControl]string{
+ RN_SAE: "rn-sae",
+ RD_SAE: "rd-sae",
+ RU_SAE: "ru-sae",
+ RZ_SAE: "rz-sae",
}
func (self RoundingControl) String() string {
- if v, ok := _RC_NAMES[self]; ok {
- return v
- } else {
- panic("invalid RoundingControl value")
- }
+ if v, ok := _RC_NAMES[self]; ok {
+ return v
+ } else {
+ panic("invalid RoundingControl value")
+ }
}
// ExceptionControl represents the "Suppress All Exceptions" flag.
type ExceptionControl uint8
const (
- // SAE represents the flag "Suppress All Exceptions" for floating point operations.
- SAE ExceptionControl = iota
+ // SAE represents the flag "Suppress All Exceptions" for floating point operations.
+ SAE ExceptionControl = iota
)
func (ExceptionControl) String() string {
- return "sae"
+ return "sae"
}
// AddressType indicates which kind of value that an Addressable object contains.
type AddressType uint
const (
- // None indicates the Addressable does not contain any addressable value.
- None AddressType = iota
+ // None indicates the Addressable does not contain any addressable value.
+ None AddressType = iota
- // Memory indicates the Addressable contains a memory address.
- Memory
+ // Memory indicates the Addressable contains a memory address.
+ Memory
- // Offset indicates the Addressable contains an RIP-relative offset.
- Offset
+ // Offset indicates the Addressable contains an RIP-relative offset.
+ Offset
- // Reference indicates the Addressable contains a label reference.
- Reference
+ // Reference indicates the Addressable contains a label reference.
+ Reference
)
// Disposable is a type of object that can be Free'd manually.
type Disposable interface {
- Free()
+ Free()
}
// Label represents a location within the program.
type Label struct {
- refs int64
- Name string
- Dest *Instruction
+ refs int64
+ Name string
+ Dest *Instruction
}
func (self *Label) offset(p uintptr, n int) RelativeOffset {
- if self.Dest == nil {
- panic("unresolved label: " + self.Name)
- } else {
- return RelativeOffset(self.Dest.pc - p - uintptr(n))
- }
+ if self.Dest == nil {
+ panic("unresolved label: " + self.Name)
+ } else {
+ return RelativeOffset(self.Dest.pc - p - uintptr(n))
+ }
}
// Free decreases the reference count of a Label, if the
// refcount drops to 0, the Label will be recycled.
func (self *Label) Free() {
- if atomic.AddInt64(&self.refs, -1) == 0 {
- freeLabel(self)
- }
+ if atomic.AddInt64(&self.refs, -1) == 0 {
+ //freeLabel(self)
+ }
}
// String implements the fmt.Stringer interface.
func (self *Label) String() string {
- if self.Dest == nil {
- return fmt.Sprintf("%s(%%rip)", self.Name)
- } else {
- return fmt.Sprintf("%s(%%rip)@%#x", self.Name, self.Dest.pc)
- }
+ if self.Dest == nil {
+ return fmt.Sprintf("%s(%%rip)", self.Name)
+ } else {
+ return fmt.Sprintf("%s(%%rip)@%#x", self.Name, self.Dest.pc)
+ }
}
// Retain increases the reference count of a Label.
func (self *Label) Retain() *Label {
- atomic.AddInt64(&self.refs, 1)
- return self
+ atomic.AddInt64(&self.refs, 1)
+ return self
}
// Evaluate implements the interface expr.Term.
func (self *Label) Evaluate() (int64, error) {
- if self.Dest != nil {
- return int64(self.Dest.pc), nil
- } else {
- return 0, errors.New("unresolved label: " + self.Name)
- }
+ if self.Dest != nil {
+ return int64(self.Dest.pc), nil
+ } else {
+ return 0, errors.New("unresolved label: " + self.Name)
+ }
}
// Addressable is a union to represent an addressable operand.
type Addressable struct {
- Type AddressType
- Memory MemoryAddress
- Offset RelativeOffset
- Reference *Label
+ Type AddressType
+ Memory MemoryAddress
+ Offset RelativeOffset
+ Reference *Label
}
// String implements the fmt.Stringer interface.
func (self *Addressable) String() string {
- switch self.Type {
- case None : return "(not addressable)"
- case Memory : return self.Memory.String()
- case Offset : return self.Offset.String()
- case Reference : return self.Reference.String()
- default : return "(invalid addressable)"
- }
+ switch self.Type {
+ case None:
+ return "(not addressable)"
+ case Memory:
+ return self.Memory.String()
+ case Offset:
+ return self.Offset.String()
+ case Reference:
+ return self.Reference.String()
+ default:
+ return "(invalid addressable)"
+ }
}
// MemoryOperand represents a memory operand for an instruction.
type MemoryOperand struct {
- refs int64
- Size int
- Addr Addressable
- Mask RegisterMask
- Masked bool
- Broadcast uint8
+ refs int64
+ Size int
+ Addr Addressable
+ Mask RegisterMask
+ Masked bool
+ Broadcast uint8
}
const (
- _Sizes = 0b10000000100010111 // bit-mask for valid sizes (0, 1, 2, 4, 8, 16)
+ _Sizes = 0b10000000100010111 // bit-mask for valid sizes (0, 1, 2, 4, 8, 16)
)
func (self *MemoryOperand) isVMX(evex bool) bool {
- return self.Addr.Type == Memory && self.Addr.Memory.isVMX(evex)
+ return self.Addr.Type == Memory && self.Addr.Memory.isVMX(evex)
}
func (self *MemoryOperand) isVMY(evex bool) bool {
- return self.Addr.Type == Memory && self.Addr.Memory.isVMY(evex)
+ return self.Addr.Type == Memory && self.Addr.Memory.isVMY(evex)
}
func (self *MemoryOperand) isVMZ() bool {
- return self.Addr.Type == Memory && self.Addr.Memory.isVMZ()
+ return self.Addr.Type == Memory && self.Addr.Memory.isVMZ()
}
func (self *MemoryOperand) isMem() bool {
- if (_Sizes & (1 << self.Broadcast)) == 0 {
- return false
- } else if self.Addr.Type == Memory {
- return self.Addr.Memory.isMem()
- } else if self.Addr.Type == Offset {
- return true
- } else if self.Addr.Type == Reference {
- return true
- } else {
- return false
- }
+ if (_Sizes & (1 << self.Broadcast)) == 0 {
+ return false
+ } else if self.Addr.Type == Memory {
+ return self.Addr.Memory.isMem()
+ } else if self.Addr.Type == Offset {
+ return true
+ } else if self.Addr.Type == Reference {
+ return true
+ } else {
+ return false
+ }
}
func (self *MemoryOperand) isSize(n int) bool {
- return self.Size == 0 || self.Size == n
+ return self.Size == 0 || self.Size == n
}
func (self *MemoryOperand) isBroadcast(n int, b uint8) bool {
- return self.Size == n && self.Broadcast == b
+ return self.Size == n && self.Broadcast == b
}
func (self *MemoryOperand) formatMask() string {
- if !self.Masked {
- return ""
- } else {
- return self.Mask.String()
- }
+ if !self.Masked {
+ return ""
+ } else {
+ return self.Mask.String()
+ }
}
func (self *MemoryOperand) formatBroadcast() string {
- if self.Broadcast == 0 {
- return ""
- } else {
- return fmt.Sprintf("{1to%d}", self.Broadcast)
- }
+ if self.Broadcast == 0 {
+ return ""
+ } else {
+ return fmt.Sprintf("{1to%d}", self.Broadcast)
+ }
}
func (self *MemoryOperand) ensureAddrValid() {
- switch self.Addr.Type {
- case None : break
- case Memory : self.Addr.Memory.EnsureValid()
- case Offset : break
- case Reference : break
- default : panic("invalid address type")
- }
+ switch self.Addr.Type {
+ case None:
+ break
+ case Memory:
+ self.Addr.Memory.EnsureValid()
+ case Offset:
+ break
+ case Reference:
+ break
+ default:
+ panic("invalid address type")
+ }
}
func (self *MemoryOperand) ensureSizeValid() {
- if (_Sizes & (1 << self.Size)) == 0 {
- panic("invalid memory operand size")
- }
+ if (_Sizes & (1 << self.Size)) == 0 {
+ panic("invalid memory operand size")
+ }
}
func (self *MemoryOperand) ensureBroadcastValid() {
- if (_Sizes & (1 << self.Broadcast)) == 0 {
- panic("invalid memory operand broadcast")
- }
+ if (_Sizes & (1 << self.Broadcast)) == 0 {
+ panic("invalid memory operand broadcast")
+ }
}
// Free decreases the reference count of a MemoryOperand, if the
// refcount drops to 0, the Label will be recycled.
func (self *MemoryOperand) Free() {
- if atomic.AddInt64(&self.refs, -1) == 0 {
- freeMemoryOperand(self)
- }
+ if atomic.AddInt64(&self.refs, -1) == 0 {
+ //freeMemoryOperand(self)
+ }
}
// String implements the fmt.Stringer interface.
func (self *MemoryOperand) String() string {
- return self.Addr.String() + self.formatMask() + self.formatBroadcast()
+ return self.Addr.String() + self.formatMask() + self.formatBroadcast()
}
// Retain increases the reference count of a MemoryOperand.
func (self *MemoryOperand) Retain() *MemoryOperand {
- atomic.AddInt64(&self.refs, 1)
- return self
+ atomic.AddInt64(&self.refs, 1)
+ return self
}
// EnsureValid checks if the memory operand is valid, if not, it panics.
func (self *MemoryOperand) EnsureValid() {
- self.ensureAddrValid()
- self.ensureSizeValid()
- self.ensureBroadcastValid()
+ self.ensureAddrValid()
+ self.ensureSizeValid()
+ self.ensureBroadcastValid()
}
// MemoryAddress represents a memory address.
type MemoryAddress struct {
- Base Register
- Index Register
- Scale uint8
- Displacement int32
+ Base Register
+ Index Register
+ Scale uint8
+ Displacement int32
}
const (
- _Scales = 0b100010111 // bit-mask for valid scales (0, 1, 2, 4, 8)
+ _Scales = 0b100010111 // bit-mask for valid scales (0, 1, 2, 4, 8)
)
func (self *MemoryAddress) isVMX(evex bool) bool {
- return self.isMemBase() && (self.Index == nil || isXMM(self.Index) || (evex && isEVEXXMM(self.Index)))
+ return self.isMemBase() && (self.Index == nil || isXMM(self.Index) || (evex && isEVEXXMM(self.Index)))
}
func (self *MemoryAddress) isVMY(evex bool) bool {
- return self.isMemBase() && (self.Index == nil || isYMM(self.Index) || (evex && isEVEXYMM(self.Index)))
+ return self.isMemBase() && (self.Index == nil || isYMM(self.Index) || (evex && isEVEXYMM(self.Index)))
}
func (self *MemoryAddress) isVMZ() bool {
- return self.isMemBase() && (self.Index == nil || isZMM(self.Index))
+ return self.isMemBase() && (self.Index == nil || isZMM(self.Index))
}
func (self *MemoryAddress) isMem() bool {
- return self.isMemBase() && (self.Index == nil || isReg64(self.Index))
+ return self.isMemBase() && (self.Index == nil || isReg64(self.Index))
}
func (self *MemoryAddress) isMemBase() bool {
- return (self.Base == nil || isReg64(self.Base)) && // `Base` must be 64-bit if present
- (self.Scale == 0) == (self.Index == nil) && // `Scale` and `Index` depends on each other
- (_Scales & (1 << self.Scale)) != 0 // `Scale` can only be 0, 1, 2, 4 or 8
+ return (self.Base == nil || isReg64(self.Base)) && // `Base` must be 64-bit if present
+ (self.Scale == 0) == (self.Index == nil) && // `Scale` and `Index` depends on each other
+ (_Scales&(1<= 2 {
- sb.WriteByte(',')
- sb.WriteString(strconv.Itoa(int(self.Scale)))
- }
- }
+ /* scale is also optional */
+ if self.Scale >= 2 {
+ sb.WriteByte(',')
+ sb.WriteString(strconv.Itoa(int(self.Scale)))
+ }
+ }
- /* close the bracket */
- sb.WriteByte(')')
- return sb.String()
+ /* close the bracket */
+ sb.WriteByte(')')
+ return sb.String()
}
// EnsureValid checks if the memory address is valid, if not, it panics.
func (self *MemoryAddress) EnsureValid() {
- if !self.isMemBase() || (self.Index != nil && !isIndexable(self.Index)) {
- panic("not a valid memory address")
- }
+ if !self.isMemBase() || (self.Index != nil && !isIndexable(self.Index)) {
+ panic("not a valid memory address")
+ }
}
// Ref constructs a memory reference to a label.
func Ref(ref *Label) (v *MemoryOperand) {
- v = CreateMemoryOperand()
- v.Addr.Type = Reference
- v.Addr.Reference = ref
- return
+ v = CreateMemoryOperand()
+ v.Addr.Type = Reference
+ v.Addr.Reference = ref
+ return
}
// Abs construct a simple memory address that represents absolute addressing.
func Abs(disp int32) *MemoryOperand {
- return Sib(nil, nil, 0, disp)
+ return Sib(nil, nil, 0, disp)
}
// Ptr constructs a simple memory operand with base and displacement.
func Ptr(base Register, disp int32) *MemoryOperand {
- return Sib(base, nil, 0, disp)
+ return Sib(base, nil, 0, disp)
}
// Sib constructs a simple memory operand that represents a complete memory address.
func Sib(base Register, index Register, scale uint8, disp int32) (v *MemoryOperand) {
- v = CreateMemoryOperand()
- v.Addr.Type = Memory
- v.Addr.Memory.Base = base
- v.Addr.Memory.Index = index
- v.Addr.Memory.Scale = scale
- v.Addr.Memory.Displacement = disp
- v.EnsureValid()
- return
+ v = CreateMemoryOperand()
+ v.Addr.Type = Memory
+ v.Addr.Memory.Base = base
+ v.Addr.Memory.Index = index
+ v.Addr.Memory.Scale = scale
+ v.Addr.Memory.Displacement = disp
+ v.EnsureValid()
+ return
}
/** Operand Matching Helpers **/
-const _IntMask =
- (1 << reflect.Int ) |
- (1 << reflect.Int8 ) |
- (1 << reflect.Int16 ) |
- (1 << reflect.Int32 ) |
- (1 << reflect.Int64 ) |
- (1 << reflect.Uint ) |
- (1 << reflect.Uint8 ) |
- (1 << reflect.Uint16 ) |
- (1 << reflect.Uint32 ) |
- (1 << reflect.Uint64 ) |
- (1 << reflect.Uintptr)
+const _IntMask = (1 << reflect.Int) |
+ (1 << reflect.Int8) |
+ (1 << reflect.Int16) |
+ (1 << reflect.Int32) |
+ (1 << reflect.Int64) |
+ (1 << reflect.Uint) |
+ (1 << reflect.Uint8) |
+ (1 << reflect.Uint16) |
+ (1 << reflect.Uint32) |
+ (1 << reflect.Uint64) |
+ (1 << reflect.Uintptr)
func isInt(k reflect.Kind) bool {
- return (_IntMask & (1 << k)) != 0
+ return (_IntMask & (1 << k)) != 0
}
func asInt64(v interface{}) (int64, bool) {
- if isSpecial(v) {
- return 0, false
- } else if x := efaceOf(v); isInt(x.kind()) {
- return x.toInt64(), true
- } else {
- return 0, false
- }
+ if isSpecial(v) {
+ return 0, false
+ } else if x := efaceOf(v); isInt(x.kind()) {
+ return x.toInt64(), true
+ } else {
+ return 0, false
+ }
}
func inRange(v interface{}, low int64, high int64) bool {
- x, ok := asInt64(v)
- return ok && x >= low && x <= high
+ x, ok := asInt64(v)
+ return ok && x >= low && x <= high
}
func isSpecial(v interface{}) bool {
- switch v.(type) {
- case Register8 : return true
- case Register16 : return true
- case Register32 : return true
- case Register64 : return true
- case KRegister : return true
- case MMRegister : return true
- case XMMRegister : return true
- case YMMRegister : return true
- case ZMMRegister : return true
- case RelativeOffset : return true
- case RoundingControl : return true
- case ExceptionControl : return true
- default : return false
- }
+ switch v.(type) {
+ case Register8:
+ return true
+ case Register16:
+ return true
+ case Register32:
+ return true
+ case Register64:
+ return true
+ case KRegister:
+ return true
+ case MMRegister:
+ return true
+ case XMMRegister:
+ return true
+ case YMMRegister:
+ return true
+ case ZMMRegister:
+ return true
+ case RelativeOffset:
+ return true
+ case RoundingControl:
+ return true
+ case ExceptionControl:
+ return true
+ default:
+ return false
+ }
}
func isIndexable(v interface{}) bool {
- return isZMM(v) || isReg64(v) || isEVEXXMM(v) || isEVEXYMM(v)
-}
-
-func isImm4 (v interface{}) bool { return inRange(v, 0, 15) }
-func isImm8 (v interface{}) bool { return inRange(v, math.MinInt8, math.MaxUint8) }
-func isImm16 (v interface{}) bool { return inRange(v, math.MinInt16, math.MaxUint16) }
-func isImm32 (v interface{}) bool { return inRange(v, math.MinInt32, math.MaxUint32) }
-func isImm64 (v interface{}) bool { _, r := asInt64(v) ; return r }
-func isConst1 (v interface{}) bool { x, r := asInt64(v) ; return r && x == 1 }
-func isConst3 (v interface{}) bool { x, r := asInt64(v) ; return r && x == 3 }
-func isRel8 (v interface{}) bool { x, r := v.(RelativeOffset) ; return r && x >= math.MinInt8 && x <= math.MaxInt8 }
-func isRel32 (v interface{}) bool { _, r := v.(RelativeOffset) ; return r }
-func isLabel (v interface{}) bool { _, r := v.(*Label) ; return r }
-func isReg8 (v interface{}) bool { _, r := v.(Register8) ; return r }
-func isReg8REX (v interface{}) bool { x, r := v.(Register8) ; return r && (x & 0x80) == 0 && x >= SPL }
-func isReg16 (v interface{}) bool { _, r := v.(Register16) ; return r }
-func isReg32 (v interface{}) bool { _, r := v.(Register32) ; return r }
-func isReg64 (v interface{}) bool { _, r := v.(Register64) ; return r }
-func isMM (v interface{}) bool { _, r := v.(MMRegister) ; return r }
-func isXMM (v interface{}) bool { x, r := v.(XMMRegister) ; return r && x <= XMM15 }
-func isEVEXXMM (v interface{}) bool { _, r := v.(XMMRegister) ; return r }
-func isXMMk (v interface{}) bool { x, r := v.(MaskedRegister) ; return isXMM(v) || (r && isXMM(x.Reg) && !x.Mask.Z) }
-func isXMMkz (v interface{}) bool { x, r := v.(MaskedRegister) ; return isXMM(v) || (r && isXMM(x.Reg)) }
-func isYMM (v interface{}) bool { x, r := v.(YMMRegister) ; return r && x <= YMM15 }
-func isEVEXYMM (v interface{}) bool { _, r := v.(YMMRegister) ; return r }
-func isYMMk (v interface{}) bool { x, r := v.(MaskedRegister) ; return isYMM(v) || (r && isYMM(x.Reg) && !x.Mask.Z) }
-func isYMMkz (v interface{}) bool { x, r := v.(MaskedRegister) ; return isYMM(v) || (r && isYMM(x.Reg)) }
-func isZMM (v interface{}) bool { _, r := v.(ZMMRegister) ; return r }
-func isZMMk (v interface{}) bool { x, r := v.(MaskedRegister) ; return isZMM(v) || (r && isZMM(x.Reg) && !x.Mask.Z) }
-func isZMMkz (v interface{}) bool { x, r := v.(MaskedRegister) ; return isZMM(v) || (r && isZMM(x.Reg)) }
-func isK (v interface{}) bool { _, r := v.(KRegister) ; return r }
-func isKk (v interface{}) bool { x, r := v.(MaskedRegister) ; return isK(v) || (r && isK(x.Reg) && !x.Mask.Z) }
-func isM (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && x.isMem() && x.Broadcast == 0 && !x.Masked }
-func isMk (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && x.isMem() && x.Broadcast == 0 && !(x.Masked && x.Mask.Z) }
-func isMkz (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && x.isMem() && x.Broadcast == 0 }
-func isM8 (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && isM(v) && x.isSize(1) }
-func isM16 (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && isM(v) && x.isSize(2) }
-func isM16kz (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && isMkz(v) && x.isSize(2) }
-func isM32 (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && isM(v) && x.isSize(4) }
-func isM32k (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && isMk(v) && x.isSize(4) }
-func isM32kz (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && isMkz(v) && x.isSize(4) }
-func isM64 (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && isM(v) && x.isSize(8) }
-func isM64k (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && isMk(v) && x.isSize(8) }
-func isM64kz (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && isMkz(v) && x.isSize(8) }
-func isM128 (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && isM(v) && x.isSize(16) }
-func isM128kz (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && isMkz(v) && x.isSize(16) }
-func isM256 (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && isM(v) && x.isSize(32) }
-func isM256kz (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && isMkz(v) && x.isSize(32) }
-func isM512 (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && isM(v) && x.isSize(64) }
-func isM512kz (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && isMkz(v) && x.isSize(64) }
-func isM64M32bcst (v interface{}) bool { x, r := v.(*MemoryOperand) ; return isM64(v) || (r && x.isBroadcast(4, 2)) }
-func isM128M32bcst (v interface{}) bool { x, r := v.(*MemoryOperand) ; return isM128(v) || (r && x.isBroadcast(4, 4)) }
-func isM256M32bcst (v interface{}) bool { x, r := v.(*MemoryOperand) ; return isM256(v) || (r && x.isBroadcast(4, 8)) }
-func isM512M32bcst (v interface{}) bool { x, r := v.(*MemoryOperand) ; return isM512(v) || (r && x.isBroadcast(4, 16)) }
-func isM128M64bcst (v interface{}) bool { x, r := v.(*MemoryOperand) ; return isM128(v) || (r && x.isBroadcast(8, 2)) }
-func isM256M64bcst (v interface{}) bool { x, r := v.(*MemoryOperand) ; return isM256(v) || (r && x.isBroadcast(8, 4)) }
-func isM512M64bcst (v interface{}) bool { x, r := v.(*MemoryOperand) ; return isM512(v) || (r && x.isBroadcast(8, 8)) }
-func isVMX (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && x.isVMX(false) && !x.Masked }
-func isEVEXVMX (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && x.isVMX(true) && !x.Masked }
-func isVMXk (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && x.isVMX(true) }
-func isVMY (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && x.isVMY(false) && !x.Masked }
-func isEVEXVMY (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && x.isVMY(true) && !x.Masked }
-func isVMYk (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && x.isVMY(true) }
-func isVMZ (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && x.isVMZ() && !x.Masked }
-func isVMZk (v interface{}) bool { x, r := v.(*MemoryOperand) ; return r && x.isVMZ() }
-func isSAE (v interface{}) bool { _, r := v.(ExceptionControl) ; return r }
-func isER (v interface{}) bool { _, r := v.(RoundingControl) ; return r }
+ return isZMM(v) || isReg64(v) || isEVEXXMM(v) || isEVEXYMM(v)
+}
+
+func isImm4(v interface{}) bool { return inRange(v, 0, 15) }
+func isImm8(v interface{}) bool { return inRange(v, math.MinInt8, math.MaxUint8) }
+func isImm16(v interface{}) bool { return inRange(v, math.MinInt16, math.MaxUint16) }
+func isImm32(v interface{}) bool { return inRange(v, math.MinInt32, math.MaxUint32) }
+func isImm64(v interface{}) bool { _, r := asInt64(v); return r }
+func isConst1(v interface{}) bool { x, r := asInt64(v); return r && x == 1 }
+func isConst3(v interface{}) bool { x, r := asInt64(v); return r && x == 3 }
+func isRel8(v interface{}) bool {
+ x, r := v.(RelativeOffset)
+ return r && x >= math.MinInt8 && x <= math.MaxInt8
+}
+func isRel32(v interface{}) bool { _, r := v.(RelativeOffset); return r }
+func isLabel(v interface{}) bool { _, r := v.(*Label); return r }
+func isReg8(v interface{}) bool { _, r := v.(Register8); return r }
+func isReg8REX(v interface{}) bool {
+ x, r := v.(Register8)
+ return r && (x&0x80) == 0 && x >= SPL
+}
+func isReg16(v interface{}) bool { _, r := v.(Register16); return r }
+func isReg32(v interface{}) bool { _, r := v.(Register32); return r }
+func isReg64(v interface{}) bool { _, r := v.(Register64); return r }
+func isMM(v interface{}) bool { _, r := v.(MMRegister); return r }
+func isXMM(v interface{}) bool { x, r := v.(XMMRegister); return r && x <= XMM15 }
+func isEVEXXMM(v interface{}) bool { _, r := v.(XMMRegister); return r }
+func isXMMk(v interface{}) bool {
+ x, r := v.(MaskedRegister)
+ return isXMM(v) || (r && isXMM(x.Reg) && !x.Mask.Z)
+}
+func isXMMkz(v interface{}) bool {
+ x, r := v.(MaskedRegister)
+ return isXMM(v) || (r && isXMM(x.Reg))
+}
+func isYMM(v interface{}) bool { x, r := v.(YMMRegister); return r && x <= YMM15 }
+func isEVEXYMM(v interface{}) bool { _, r := v.(YMMRegister); return r }
+func isYMMk(v interface{}) bool {
+ x, r := v.(MaskedRegister)
+ return isYMM(v) || (r && isYMM(x.Reg) && !x.Mask.Z)
+}
+func isYMMkz(v interface{}) bool {
+ x, r := v.(MaskedRegister)
+ return isYMM(v) || (r && isYMM(x.Reg))
+}
+func isZMM(v interface{}) bool { _, r := v.(ZMMRegister); return r }
+func isZMMk(v interface{}) bool {
+ x, r := v.(MaskedRegister)
+ return isZMM(v) || (r && isZMM(x.Reg) && !x.Mask.Z)
+}
+func isZMMkz(v interface{}) bool {
+ x, r := v.(MaskedRegister)
+ return isZMM(v) || (r && isZMM(x.Reg))
+}
+func isK(v interface{}) bool { _, r := v.(KRegister); return r }
+func isKk(v interface{}) bool {
+ x, r := v.(MaskedRegister)
+ return isK(v) || (r && isK(x.Reg) && !x.Mask.Z)
+}
+func isM(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && x.isMem() && x.Broadcast == 0 && !x.Masked
+}
+func isMk(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && x.isMem() && x.Broadcast == 0 && !(x.Masked && x.Mask.Z)
+}
+func isMkz(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && x.isMem() && x.Broadcast == 0
+}
+func isM8(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && isM(v) && x.isSize(1)
+}
+func isM16(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && isM(v) && x.isSize(2)
+}
+func isM16kz(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && isMkz(v) && x.isSize(2)
+}
+func isM32(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && isM(v) && x.isSize(4)
+}
+func isM32k(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && isMk(v) && x.isSize(4)
+}
+func isM32kz(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && isMkz(v) && x.isSize(4)
+}
+func isM64(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && isM(v) && x.isSize(8)
+}
+func isM64k(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && isMk(v) && x.isSize(8)
+}
+func isM64kz(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && isMkz(v) && x.isSize(8)
+}
+func isM128(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && isM(v) && x.isSize(16)
+}
+func isM128kz(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && isMkz(v) && x.isSize(16)
+}
+func isM256(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && isM(v) && x.isSize(32)
+}
+func isM256kz(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && isMkz(v) && x.isSize(32)
+}
+func isM512(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && isM(v) && x.isSize(64)
+}
+func isM512kz(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && isMkz(v) && x.isSize(64)
+}
+func isM64M32bcst(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return isM64(v) || (r && x.isBroadcast(4, 2))
+}
+func isM128M32bcst(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return isM128(v) || (r && x.isBroadcast(4, 4))
+}
+func isM256M32bcst(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return isM256(v) || (r && x.isBroadcast(4, 8))
+}
+func isM512M32bcst(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return isM512(v) || (r && x.isBroadcast(4, 16))
+}
+func isM128M64bcst(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return isM128(v) || (r && x.isBroadcast(8, 2))
+}
+func isM256M64bcst(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return isM256(v) || (r && x.isBroadcast(8, 4))
+}
+func isM512M64bcst(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return isM512(v) || (r && x.isBroadcast(8, 8))
+}
+func isVMX(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && x.isVMX(false) && !x.Masked
+}
+func isEVEXVMX(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && x.isVMX(true) && !x.Masked
+}
+func isVMXk(v interface{}) bool { x, r := v.(*MemoryOperand); return r && x.isVMX(true) }
+func isVMY(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && x.isVMY(false) && !x.Masked
+}
+func isEVEXVMY(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && x.isVMY(true) && !x.Masked
+}
+func isVMYk(v interface{}) bool { x, r := v.(*MemoryOperand); return r && x.isVMY(true) }
+func isVMZ(v interface{}) bool {
+ x, r := v.(*MemoryOperand)
+ return r && x.isVMZ() && !x.Masked
+}
+func isVMZk(v interface{}) bool { x, r := v.(*MemoryOperand); return r && x.isVMZ() }
+func isSAE(v interface{}) bool { _, r := v.(ExceptionControl); return r }
+func isER(v interface{}) bool { _, r := v.(RoundingControl); return r }
func isImmExt(v interface{}, ext int, min int64, max int64) bool {
- if x, ok := asInt64(v); !ok {
- return false
- } else if m := int64(1) << (8 * ext); x < m && x >= m + min {
- return true
- } else {
- return x <= max && x >= min
- }
+ if x, ok := asInt64(v); !ok {
+ return false
+ } else if m := int64(1) << (8 * ext); x < m && x >= m+min {
+ return true
+ } else {
+ return x <= max && x >= min
+ }
}
func isImm8Ext(v interface{}, ext int) bool {
- return isImmExt(v, ext, math.MinInt8, math.MaxInt8)
+ return isImmExt(v, ext, math.MinInt8, math.MaxInt8)
}
func isImm32Ext(v interface{}, ext int) bool {
- return isImmExt(v, ext, math.MinInt32, math.MaxInt32)
+ return isImmExt(v, ext, math.MinInt32, math.MaxInt32)
}
diff --git a/vendor/github.com/chenzhuoyu/iasm/x86_64/pools.go b/vendor/github.com/chenzhuoyu/iasm/x86_64/pools.go
index 06f85ac2..8e6cbbd8 100644
--- a/vendor/github.com/chenzhuoyu/iasm/x86_64/pools.go
+++ b/vendor/github.com/chenzhuoyu/iasm/x86_64/pools.go
@@ -1,117 +1,38 @@
package x86_64
-import (
- `sync`
-)
-
-var (
- labelPool sync.Pool
- programPool sync.Pool
- instructionPool sync.Pool
- memoryOperandPool sync.Pool
-)
-
-func freeLabel(v *Label) {
- labelPool.Put(v)
-}
-
-func clearLabel(p *Label) *Label {
- *p = Label{}
- return p
-}
-
// CreateLabel creates a new Label, it may allocate a new one or grab one from a pool.
func CreateLabel(name string) *Label {
- var p *Label
- var v interface{}
+ p := new(Label)
- /* attempt to grab from the pool */
- if v = labelPool.Get(); v == nil {
- p = new(Label)
- } else {
- p = clearLabel(v.(*Label))
- }
-
- /* initialize the label */
- p.refs = 1
- p.Name = name
- return p
+ /* initialize the label */
+ p.refs = 1
+ p.Name = name
+ return p
}
func newProgram(arch *Arch) *Program {
- var p *Program
- var v interface{}
-
- /* attempt to grab from the pool */
- if v = programPool.Get(); v == nil {
- p = new(Program)
- } else {
- p = clearProgram(v.(*Program))
- }
-
- /* initialize the program */
- p.arch = arch
- return p
-}
-
-func freeProgram(p *Program) {
- programPool.Put(p)
-}
+ p := new(Program)
-func clearProgram(p *Program) *Program {
- *p = Program{}
- return p
+ /* initialize the program */
+ p.arch = arch
+ return p
}
func newInstruction(name string, argc int, argv Operands) *Instruction {
- var v interface{}
- var p *Instruction
-
- /* attempt to grab from the pool */
- if v = instructionPool.Get(); v == nil {
- p = new(Instruction)
- } else {
- p = clearInstruction(v.(*Instruction))
- }
-
- /* initialize the instruction */
- p.name = name
- p.argc = argc
- p.argv = argv
- return p
-}
-
-func freeInstruction(v *Instruction) {
- instructionPool.Put(v)
-}
+ p := new(Instruction)
-func clearInstruction(p *Instruction) *Instruction {
- *p = Instruction { prefix: p.prefix[:0] }
- return p
-}
-
-func freeMemoryOperand(m *MemoryOperand) {
- memoryOperandPool.Put(m)
-}
-
-func clearMemoryOperand(m *MemoryOperand) *MemoryOperand {
- *m = MemoryOperand{}
- return m
+ /* initialize the instruction */
+ p.name = name
+ p.argc = argc
+ p.argv = argv
+ return p
}
// CreateMemoryOperand creates a new MemoryOperand, it may allocate a new one or grab one from a pool.
func CreateMemoryOperand() *MemoryOperand {
- var v interface{}
- var p *MemoryOperand
-
- /* attempt to grab from the pool */
- if v = memoryOperandPool.Get(); v == nil {
- p = new(MemoryOperand)
- } else {
- p = clearMemoryOperand(v.(*MemoryOperand))
- }
+ p := new(MemoryOperand)
- /* initialize the memory operand */
- p.refs = 1
- return p
+ /* initialize the memory operand */
+ p.refs = 1
+ return p
}
diff --git a/vendor/github.com/chenzhuoyu/iasm/x86_64/program.go b/vendor/github.com/chenzhuoyu/iasm/x86_64/program.go
index 9f80618e..31562491 100644
--- a/vendor/github.com/chenzhuoyu/iasm/x86_64/program.go
+++ b/vendor/github.com/chenzhuoyu/iasm/x86_64/program.go
@@ -1,127 +1,149 @@
package x86_64
import (
- `fmt`
- `math`
- `math/bits`
+ "fmt"
+ "math"
+ "math/bits"
- `github.com/chenzhuoyu/iasm/expr`
+ "github.com/chenzhuoyu/iasm/expr"
)
type (
- _PseudoType int
- _InstructionEncoder func(*Program, ...interface{}) *Instruction
+ _PseudoType int
+ _InstructionEncoder func(*Program, ...interface{}) *Instruction
)
const (
- _PseudoNop _PseudoType = iota + 1
- _PseudoByte
- _PseudoWord
- _PseudoLong
- _PseudoQuad
- _PseudoData
- _PseudoAlign
+ _PseudoNop _PseudoType = iota + 1
+ _PseudoByte
+ _PseudoWord
+ _PseudoLong
+ _PseudoQuad
+ _PseudoData
+ _PseudoAlign
)
func (self _PseudoType) String() string {
- switch self {
- case _PseudoNop : return ".nop"
- case _PseudoByte : return ".byte"
- case _PseudoWord : return ".word"
- case _PseudoLong : return ".long"
- case _PseudoQuad : return ".quad"
- case _PseudoData : return ".data"
- case _PseudoAlign : return ".align"
- default : panic("unreachable")
- }
+ switch self {
+ case _PseudoNop:
+ return ".nop"
+ case _PseudoByte:
+ return ".byte"
+ case _PseudoWord:
+ return ".word"
+ case _PseudoLong:
+ return ".long"
+ case _PseudoQuad:
+ return ".quad"
+ case _PseudoData:
+ return ".data"
+ case _PseudoAlign:
+ return ".align"
+ default:
+ panic("unreachable")
+ }
}
type _Pseudo struct {
- kind _PseudoType
- data []byte
- uint uint64
- expr *expr.Expr
+ kind _PseudoType
+ data []byte
+ uint uint64
+ expr *expr.Expr
}
func (self *_Pseudo) free() {
- if self.expr != nil {
- self.expr.Free()
- }
+ if self.expr != nil {
+ self.expr.Free()
+ }
}
func (self *_Pseudo) encode(m *[]byte, pc uintptr) int {
- switch self.kind {
- case _PseudoNop : return 0
- case _PseudoByte : self.encodeByte(m) ; return 1
- case _PseudoWord : self.encodeWord(m) ; return 2
- case _PseudoLong : self.encodeLong(m) ; return 4
- case _PseudoQuad : self.encodeQuad(m) ; return 8
- case _PseudoData : self.encodeData(m) ; return len(self.data)
- case _PseudoAlign : self.encodeAlign(m, pc) ; return self.alignSize(pc)
- default : panic("invalid pseudo instruction")
- }
+ switch self.kind {
+ case _PseudoNop:
+ return 0
+ case _PseudoByte:
+ self.encodeByte(m)
+ return 1
+ case _PseudoWord:
+ self.encodeWord(m)
+ return 2
+ case _PseudoLong:
+ self.encodeLong(m)
+ return 4
+ case _PseudoQuad:
+ self.encodeQuad(m)
+ return 8
+ case _PseudoData:
+ self.encodeData(m)
+ return len(self.data)
+ case _PseudoAlign:
+ self.encodeAlign(m, pc)
+ return self.alignSize(pc)
+ default:
+ panic("invalid pseudo instruction")
+ }
}
func (self *_Pseudo) evalExpr(low int64, high int64) int64 {
- if v, err := self.expr.Evaluate(); err != nil {
- panic(err)
- } else if v < low || v > high {
- panic(fmt.Sprintf("expression out of range [%d, %d]: %d", low, high, v))
- } else {
- return v
- }
+ if v, err := self.expr.Evaluate(); err != nil {
+ panic(err)
+ } else if v < low || v > high {
+ panic(fmt.Sprintf("expression out of range [%d, %d]: %d", low, high, v))
+ } else {
+ return v
+ }
}
func (self *_Pseudo) alignSize(pc uintptr) int {
- if !ispow2(self.uint) {
- panic(fmt.Sprintf("aligment should be a power of 2, not %d", self.uint))
- } else {
- return align(int(pc), bits.TrailingZeros64(self.uint)) - int(pc)
- }
+ if !ispow2(self.uint) {
+ panic(fmt.Sprintf("aligment should be a power of 2, not %d", self.uint))
+ } else {
+ return align(int(pc), bits.TrailingZeros64(self.uint)) - int(pc)
+ }
}
func (self *_Pseudo) encodeData(m *[]byte) {
- if m != nil {
- *m = append(*m, self.data...)
- }
+ if m != nil {
+ *m = append(*m, self.data...)
+ }
}
func (self *_Pseudo) encodeByte(m *[]byte) {
- if m != nil {
- append8(m, byte(self.evalExpr(math.MinInt8, math.MaxUint8)))
- }
+ if m != nil {
+ append8(m, byte(self.evalExpr(math.MinInt8, math.MaxUint8)))
+ }
}
func (self *_Pseudo) encodeWord(m *[]byte) {
- if m != nil {
- append16(m, uint16(self.evalExpr(math.MinInt16, math.MaxUint16)))
- }
+ if m != nil {
+ append16(m, uint16(self.evalExpr(math.MinInt16, math.MaxUint16)))
+ }
}
func (self *_Pseudo) encodeLong(m *[]byte) {
- if m != nil {
- append32(m, uint32(self.evalExpr(math.MinInt32, math.MaxUint32)))
- }
+ if m != nil {
+ append32(m, uint32(self.evalExpr(math.MinInt32, math.MaxUint32)))
+ }
}
func (self *_Pseudo) encodeQuad(m *[]byte) {
- if m != nil {
- if v, err := self.expr.Evaluate(); err != nil {
- panic(err)
- } else {
- append64(m, uint64(v))
- }
- }
+ if m != nil {
+ if v, err := self.expr.Evaluate(); err != nil {
+ panic(err)
+ } else {
+ append64(m, uint64(v))
+ }
+ }
}
func (self *_Pseudo) encodeAlign(m *[]byte, pc uintptr) {
- if m != nil {
- if self.expr == nil {
- expandmm(m, self.alignSize(pc), 0)
- } else {
- expandmm(m, self.alignSize(pc), byte(self.evalExpr(math.MinInt8, math.MaxUint8)))
- }
- }
+ if m != nil {
+ if self.expr == nil {
+ expandmm(m, self.alignSize(pc), 0)
+ } else {
+ expandmm(m, self.alignSize(pc), byte(self.evalExpr(math.MinInt8, math.MaxUint8)))
+ }
+ }
}
// Operands represents a sequence of operand required by an instruction.
@@ -131,15 +153,15 @@ type Operands [_N_args]interface{}
type InstructionDomain uint8
const (
- DomainGeneric InstructionDomain = iota
- DomainMMXSSE
- DomainAVX
- DomainFMA
- DomainCrypto
- DomainMask
- DomainAMDSpecific
- DomainMisc
- DomainPseudo
+ DomainGeneric InstructionDomain = iota
+ DomainMMXSSE
+ DomainAVX
+ DomainFMA
+ DomainCrypto
+ DomainMask
+ DomainAMDSpecific
+ DomainMisc
+ DomainPseudo
)
type (
@@ -147,139 +169,139 @@ type (
)
const (
- _B_none _BranchType = iota
- _B_conditional
- _B_unconditional
+ _B_none _BranchType = iota
+ _B_conditional
+ _B_unconditional
)
// Instruction represents an unencoded instruction.
type Instruction struct {
- next *Instruction
- pc uintptr
- nb int
- len int
- argc int
- name string
- argv Operands
- forms [_N_forms]_Encoding
- pseudo _Pseudo
- branch _BranchType
- domain InstructionDomain
- prefix []byte
+ next *Instruction
+ pc uintptr
+ nb int
+ len int
+ argc int
+ name string
+ argv Operands
+ forms [_N_forms]_Encoding
+ pseudo _Pseudo
+ branch _BranchType
+ domain InstructionDomain
+ prefix []byte
}
func (self *Instruction) add(flags int, encoder func(m *_Encoding, v []interface{})) {
- self.forms[self.len].flags = flags
- self.forms[self.len].encoder = encoder
- self.len++
+ self.forms[self.len].flags = flags
+ self.forms[self.len].encoder = encoder
+ self.len++
}
func (self *Instruction) free() {
- self.clear()
- self.pseudo.free()
- freeInstruction(self)
+ self.clear()
+ self.pseudo.free()
+ //freeInstruction(self)
}
func (self *Instruction) clear() {
- for i := 0; i < self.argc; i++ {
- if v, ok := self.argv[i].(Disposable); ok {
- v.Free()
- }
- }
+ for i := 0; i < self.argc; i++ {
+ if v, ok := self.argv[i].(Disposable); ok {
+ v.Free()
+ }
+ }
}
func (self *Instruction) check(e *_Encoding) bool {
- if (e.flags & _F_rel1) != 0 {
- return isRel8(self.argv[0])
- } else if (e.flags & _F_rel4) != 0 {
- return isRel32(self.argv[0]) || isLabel(self.argv[0])
- } else {
- return true
- }
+ if (e.flags & _F_rel1) != 0 {
+ return isRel8(self.argv[0])
+ } else if (e.flags & _F_rel4) != 0 {
+ return isRel32(self.argv[0]) || isLabel(self.argv[0])
+ } else {
+ return true
+ }
}
func (self *Instruction) encode(m *[]byte) int {
- n := math.MaxInt64
- p := (*_Encoding)(nil)
-
- /* encode prefixes if any */
- if self.nb = len(self.prefix); m != nil {
- *m = append(*m, self.prefix...)
- }
-
- /* check for pseudo-instructions */
- if self.pseudo.kind != 0 {
- self.nb += self.pseudo.encode(m, self.pc)
- return self.nb
- }
-
- /* find the shortest encoding */
- for i := 0; i < self.len; i++ {
- if e := &self.forms[i]; self.check(e) {
- if v := e.encode(self.argv[:self.argc]); v < n {
- n = v
- p = e
- }
- }
- }
-
- /* add to buffer if needed */
- if m != nil {
- *m = append(*m, p.bytes[:n]...)
- }
-
- /* update the instruction length */
- self.nb += n
- return self.nb
+ n := math.MaxInt64
+ p := (*_Encoding)(nil)
+
+ /* encode prefixes if any */
+ if self.nb = len(self.prefix); m != nil {
+ *m = append(*m, self.prefix...)
+ }
+
+ /* check for pseudo-instructions */
+ if self.pseudo.kind != 0 {
+ self.nb += self.pseudo.encode(m, self.pc)
+ return self.nb
+ }
+
+ /* find the shortest encoding */
+ for i := 0; i < self.len; i++ {
+ if e := &self.forms[i]; self.check(e) {
+ if v := e.encode(self.argv[:self.argc]); v < n {
+ n = v
+ p = e
+ }
+ }
+ }
+
+ /* add to buffer if needed */
+ if m != nil {
+ *m = append(*m, p.bytes[:n]...)
+ }
+
+ /* update the instruction length */
+ self.nb += n
+ return self.nb
}
/** Instruction Prefixes **/
const (
- _P_cs = 0x2e
- _P_ds = 0x3e
- _P_es = 0x26
- _P_fs = 0x64
- _P_gs = 0x65
- _P_ss = 0x36
- _P_lock = 0xf0
+ _P_cs = 0x2e
+ _P_ds = 0x3e
+ _P_es = 0x26
+ _P_fs = 0x64
+ _P_gs = 0x65
+ _P_ss = 0x36
+ _P_lock = 0xf0
)
// CS overrides the memory operation of this instruction to CS.
func (self *Instruction) CS() *Instruction {
- self.prefix = append(self.prefix, _P_cs)
- return self
+ self.prefix = append(self.prefix, _P_cs)
+ return self
}
// DS overrides the memory operation of this instruction to DS,
// this is the default section for most instructions if not specified.
func (self *Instruction) DS() *Instruction {
- self.prefix = append(self.prefix, _P_ds)
- return self
+ self.prefix = append(self.prefix, _P_ds)
+ return self
}
// ES overrides the memory operation of this instruction to ES.
func (self *Instruction) ES() *Instruction {
- self.prefix = append(self.prefix, _P_es)
- return self
+ self.prefix = append(self.prefix, _P_es)
+ return self
}
// FS overrides the memory operation of this instruction to FS.
func (self *Instruction) FS() *Instruction {
- self.prefix = append(self.prefix, _P_fs)
- return self
+ self.prefix = append(self.prefix, _P_fs)
+ return self
}
// GS overrides the memory operation of this instruction to GS.
func (self *Instruction) GS() *Instruction {
- self.prefix = append(self.prefix, _P_gs)
- return self
+ self.prefix = append(self.prefix, _P_gs)
+ return self
}
// SS overrides the memory operation of this instruction to SS.
func (self *Instruction) SS() *Instruction {
- self.prefix = append(self.prefix, _P_ss)
- return self
+ self.prefix = append(self.prefix, _P_ss)
+ return self
}
// LOCK causes the processor's LOCK# signal to be asserted during execution of
@@ -287,128 +309,132 @@ func (self *Instruction) SS() *Instruction {
// In a multiprocessor environment, the LOCK# signal insures that the processor
// has exclusive use of any shared memory while the signal is asserted.
func (self *Instruction) LOCK() *Instruction {
- self.prefix = append(self.prefix, _P_lock)
- return self
+ self.prefix = append(self.prefix, _P_lock)
+ return self
}
/** Basic Instruction Properties **/
// Name returns the instruction name.
func (self *Instruction) Name() string {
- return self.name
+ return self.name
}
// Domain returns the domain of this instruction.
func (self *Instruction) Domain() InstructionDomain {
- return self.domain
+ return self.domain
}
// Operands returns the operands of this instruction.
func (self *Instruction) Operands() []interface{} {
- return self.argv[:self.argc]
+ return self.argv[:self.argc]
}
// Program represents a sequence of instructions.
type Program struct {
- arch *Arch
- head *Instruction
- tail *Instruction
+ arch *Arch
+ head *Instruction
+ tail *Instruction
}
const (
- _N_near = 2 // near-branch (-128 ~ +127) takes 2 bytes to encode
- _N_far_cond = 6 // conditional far-branch takes 6 bytes to encode
- _N_far_uncond = 5 // unconditional far-branch takes 5 bytes to encode
+ _N_near = 2 // near-branch (-128 ~ +127) takes 2 bytes to encode
+ _N_far_cond = 6 // conditional far-branch takes 6 bytes to encode
+ _N_far_uncond = 5 // unconditional far-branch takes 5 bytes to encode
)
func (self *Program) clear() {
- for p, q := self.head, self.head; p != nil; p = q {
- q = p.next
- p.free()
- }
+ for p, q := self.head, self.head; p != nil; p = q {
+ q = p.next
+ p.free()
+ }
}
func (self *Program) alloc(name string, argc int, argv Operands) *Instruction {
- p := self.tail
- q := newInstruction(name, argc, argv)
+ p := self.tail
+ q := newInstruction(name, argc, argv)
- /* attach to tail if any */
- if p != nil {
- p.next = q
- } else {
- self.head = q
- }
+ /* attach to tail if any */
+ if p != nil {
+ p.next = q
+ } else {
+ self.head = q
+ }
- /* set the new tail */
- self.tail = q
- return q
+ /* set the new tail */
+ self.tail = q
+ return q
}
func (self *Program) pseudo(kind _PseudoType) (p *Instruction) {
- p = self.alloc(kind.String(), 0, Operands{})
- p.domain = DomainPseudo
- p.pseudo.kind = kind
- return
+ p = self.alloc(kind.String(), 0, Operands{})
+ p.domain = DomainPseudo
+ p.pseudo.kind = kind
+ return
}
func (self *Program) require(isa ISA) {
- if !self.arch.HasISA(isa) {
- panic("ISA '" + isa.String() + "' was not enabled")
- }
+ if !self.arch.HasISA(isa) {
+ panic("ISA '" + isa.String() + "' was not enabled")
+ }
}
func (self *Program) branchSize(p *Instruction) int {
- switch p.branch {
- case _B_none : panic("p is not a branch")
- case _B_conditional : return _N_far_cond
- case _B_unconditional : return _N_far_uncond
- default : panic("invalid instruction")
- }
+ switch p.branch {
+ case _B_none:
+ panic("p is not a branch")
+ case _B_conditional:
+ return _N_far_cond
+ case _B_unconditional:
+ return _N_far_uncond
+ default:
+ panic("invalid instruction")
+ }
}
/** Pseudo-Instructions **/
// Byte is a pseudo-instruction to add raw byte to the assembled code.
func (self *Program) Byte(v *expr.Expr) (p *Instruction) {
- p = self.pseudo(_PseudoByte)
- p.pseudo.expr = v
- return
+ p = self.pseudo(_PseudoByte)
+ p.pseudo.expr = v
+ return
}
// Word is a pseudo-instruction to add raw uint16 as little-endian to the assembled code.
func (self *Program) Word(v *expr.Expr) (p *Instruction) {
- p = self.pseudo(_PseudoWord)
- p.pseudo.expr = v
- return
+ p = self.pseudo(_PseudoWord)
+ p.pseudo.expr = v
+ return
}
// Long is a pseudo-instruction to add raw uint32 as little-endian to the assembled code.
func (self *Program) Long(v *expr.Expr) (p *Instruction) {
- p = self.pseudo(_PseudoLong)
- p.pseudo.expr = v
- return
+ p = self.pseudo(_PseudoLong)
+ p.pseudo.expr = v
+ return
}
// Quad is a pseudo-instruction to add raw uint64 as little-endian to the assembled code.
func (self *Program) Quad(v *expr.Expr) (p *Instruction) {
- p = self.pseudo(_PseudoQuad)
- p.pseudo.expr = v
- return
+ p = self.pseudo(_PseudoQuad)
+ p.pseudo.expr = v
+ return
}
// Data is a pseudo-instruction to add raw bytes to the assembled code.
func (self *Program) Data(v []byte) (p *Instruction) {
- p = self.pseudo(_PseudoData)
- p.pseudo.data = v
- return
+ p = self.pseudo(_PseudoData)
+ p.pseudo.data = v
+ return
}
// Align is a pseudo-instruction to ensure the PC is aligned to a certain value.
func (self *Program) Align(align uint64, padding *expr.Expr) (p *Instruction) {
- p = self.pseudo(_PseudoAlign)
- p.pseudo.uint = align
- p.pseudo.expr = padding
- return
+ p = self.pseudo(_PseudoAlign)
+ p.pseudo.uint = align
+ p.pseudo.expr = padding
+ return
}
/** Program Assembler **/
@@ -417,126 +443,126 @@ func (self *Program) Align(align uint64, padding *expr.Expr) (p *Instruction) {
// Any operation performed after Free is undefined behavior.
//
// NOTE: This also frees all the instructions, labels, memory
-// operands and expressions associated with this program.
//
+// operands and expressions associated with this program.
func (self *Program) Free() {
- self.clear()
- freeProgram(self)
+ self.clear()
+ //freeProgram(self)
}
// Link pins a label at the current position.
func (self *Program) Link(p *Label) {
- if p.Dest != nil {
- panic("lable was alreay linked")
- } else {
- p.Dest = self.pseudo(_PseudoNop)
- }
+ if p.Dest != nil {
+ panic("lable was alreay linked")
+ } else {
+ p.Dest = self.pseudo(_PseudoNop)
+ }
}
// Assemble assembles and links the entire program into machine code.
func (self *Program) Assemble(pc uintptr) (ret []byte) {
- orig := pc
- next := true
- offs := uintptr(0)
-
- /* Pass 0: PC-precompute, assume all labeled branches are far-branches. */
- for p := self.head; p != nil; p = p.next {
- if p.pc = pc; !isLabel(p.argv[0]) || p.branch == _B_none {
- pc += uintptr(p.encode(nil))
- } else {
- pc += uintptr(self.branchSize(p))
- }
- }
-
- /* allocate space for the machine code */
- nb := int(pc - orig)
- ret = make([]byte, 0, nb)
-
- /* Pass 1: adjust all the jumps */
- for next {
- next = false
- offs = uintptr(0)
-
- /* scan all the branches */
- for p := self.head; p != nil; p = p.next {
- var ok bool
- var lb *Label
-
- /* re-calculate the alignment here */
- if nb = p.nb; p.pseudo.kind == _PseudoAlign {
- p.pc -= offs
- offs += uintptr(nb - p.encode(nil))
- continue
- }
-
- /* adjust the program counter */
- p.pc -= offs
- lb, ok = p.argv[0].(*Label)
-
- /* only care about labeled far-branches */
- if !ok || p.nb == _N_near || p.branch == _B_none {
- continue
- }
-
- /* calculate the jump offset */
- size := self.branchSize(p)
- diff := lb.offset(p.pc, size)
-
- /* too far to be a near jump */
- if diff > 127 || diff < -128 {
- p.nb = size
- continue
- }
-
- /* a far jump becomes a near jump, calculate
- * the PC adjustment value and assemble again */
- next = true
- p.nb = _N_near
- offs += uintptr(size - _N_near)
- }
- }
-
- /* Pass 3: link all the cross-references */
- for p := self.head; p != nil; p = p.next {
- for i := 0; i < p.argc; i++ {
- var ok bool
- var lb *Label
- var op *MemoryOperand
-
- /* resolve labels */
- if lb, ok = p.argv[i].(*Label); ok {
- p.argv[i] = lb.offset(p.pc, p.nb)
- continue
- }
-
- /* check for memory operands */
- if op, ok = p.argv[i].(*MemoryOperand); !ok {
- continue
- }
-
- /* check for label references */
- if op.Addr.Type != Reference {
- continue
- }
-
- /* replace the label with the real offset */
- op.Addr.Type = Offset
- op.Addr.Offset = op.Addr.Reference.offset(p.pc, p.nb)
- }
- }
-
- /* Pass 4: actually encode all the instructions */
- for p := self.head; p != nil; p = p.next {
- p.encode(&ret)
- }
-
- /* all done */
- return ret
+ orig := pc
+ next := true
+ offs := uintptr(0)
+
+ /* Pass 0: PC-precompute, assume all labeled branches are far-branches. */
+ for p := self.head; p != nil; p = p.next {
+ if p.pc = pc; !isLabel(p.argv[0]) || p.branch == _B_none {
+ pc += uintptr(p.encode(nil))
+ } else {
+ pc += uintptr(self.branchSize(p))
+ }
+ }
+
+ /* allocate space for the machine code */
+ nb := int(pc - orig)
+ ret = make([]byte, 0, nb)
+
+ /* Pass 1: adjust all the jumps */
+ for next {
+ next = false
+ offs = uintptr(0)
+
+ /* scan all the branches */
+ for p := self.head; p != nil; p = p.next {
+ var ok bool
+ var lb *Label
+
+ /* re-calculate the alignment here */
+ if nb = p.nb; p.pseudo.kind == _PseudoAlign {
+ p.pc -= offs
+ offs += uintptr(nb - p.encode(nil))
+ continue
+ }
+
+ /* adjust the program counter */
+ p.pc -= offs
+ lb, ok = p.argv[0].(*Label)
+
+ /* only care about labeled far-branches */
+ if !ok || p.nb == _N_near || p.branch == _B_none {
+ continue
+ }
+
+ /* calculate the jump offset */
+ size := self.branchSize(p)
+ diff := lb.offset(p.pc, size)
+
+ /* too far to be a near jump */
+ if diff > 127 || diff < -128 {
+ p.nb = size
+ continue
+ }
+
+ /* a far jump becomes a near jump, calculate
+ * the PC adjustment value and assemble again */
+ next = true
+ p.nb = _N_near
+ offs += uintptr(size - _N_near)
+ }
+ }
+
+ /* Pass 3: link all the cross-references */
+ for p := self.head; p != nil; p = p.next {
+ for i := 0; i < p.argc; i++ {
+ var ok bool
+ var lb *Label
+ var op *MemoryOperand
+
+ /* resolve labels */
+ if lb, ok = p.argv[i].(*Label); ok {
+ p.argv[i] = lb.offset(p.pc, p.nb)
+ continue
+ }
+
+ /* check for memory operands */
+ if op, ok = p.argv[i].(*MemoryOperand); !ok {
+ continue
+ }
+
+ /* check for label references */
+ if op.Addr.Type != Reference {
+ continue
+ }
+
+ /* replace the label with the real offset */
+ op.Addr.Type = Offset
+ op.Addr.Offset = op.Addr.Reference.offset(p.pc, p.nb)
+ }
+ }
+
+ /* Pass 4: actually encode all the instructions */
+ for p := self.head; p != nil; p = p.next {
+ p.encode(&ret)
+ }
+
+ /* all done */
+ return ret
}
// AssembleAndFree is like Assemble, but it frees the Program after assembling.
func (self *Program) AssembleAndFree(pc uintptr) (ret []byte) {
- ret = self.Assemble(pc)
- self.Free()
- return
-}
\ No newline at end of file
+ ret = self.Assemble(pc)
+ self.Free()
+ return
+}
diff --git a/vendor/github.com/gin-contrib/cors/.gitignore b/vendor/github.com/gin-contrib/cors/.gitignore
index b4ecae3a..002df848 100644
--- a/vendor/github.com/gin-contrib/cors/.gitignore
+++ b/vendor/github.com/gin-contrib/cors/.gitignore
@@ -21,3 +21,5 @@ _testmain.go
*.prof
coverage.out
+
+.idea
diff --git a/vendor/github.com/gin-contrib/cors/.golangci.yml b/vendor/github.com/gin-contrib/cors/.golangci.yml
index 5a0031c3..d59c99bd 100644
--- a/vendor/github.com/gin-contrib/cors/.golangci.yml
+++ b/vendor/github.com/gin-contrib/cors/.golangci.yml
@@ -4,8 +4,6 @@ linters:
fast: false
enable:
- bodyclose
- - deadcode
- - depguard
- dogsled
- dupl
- errcheck
@@ -29,13 +27,11 @@ linters:
- nolintlint
- rowserrcheck
- staticcheck
- - structcheck
- stylecheck
- typecheck
- unconvert
- unparam
- unused
- - varcheck
- whitespace
- gofumpt
diff --git a/vendor/github.com/gin-contrib/cors/.goreleaser.yaml b/vendor/github.com/gin-contrib/cors/.goreleaser.yaml
index aa5453cf..d2679554 100644
--- a/vendor/github.com/gin-contrib/cors/.goreleaser.yaml
+++ b/vendor/github.com/gin-contrib/cors/.goreleaser.yaml
@@ -1,8 +1,7 @@
project_name: queue
builds:
- -
- # If true, skip the build.
+ - # If true, skip the build.
# Useful for library projects.
# Default is false
skip: true
@@ -38,10 +37,10 @@ changelog:
- title: Features
regexp: "^.*feat[(\\w)]*:+.*$"
order: 0
- - title: 'Bug fixes'
+ - title: "Bug fixes"
regexp: "^.*fix[(\\w)]*:+.*$"
order: 1
- - title: 'Enhancements'
+ - title: "Enhancements"
regexp: "^.*chore[(\\w)]*:+.*$"
order: 2
- title: Others
@@ -52,6 +51,6 @@ changelog:
# the changelog
# Default is empty
exclude:
- - '^docs'
- - 'CICD'
+ - "^docs"
+ - "CICD"
- typo
diff --git a/vendor/github.com/gin-contrib/cors/README.md b/vendor/github.com/gin-contrib/cors/README.md
index 6289994d..d4352329 100644
--- a/vendor/github.com/gin-contrib/cors/README.md
+++ b/vendor/github.com/gin-contrib/cors/README.md
@@ -75,7 +75,8 @@ func main() {
router.Run()
}
```
-note: while Default() allows all origins, DefaultConfig() does not and you will still have to use AllowAllOrigins
+
+Note: while Default() allows all origins, DefaultConfig() does not and you will still have to use AllowAllOrigins.
### Default() allows all origins
@@ -90,3 +91,5 @@ func main() {
router.Run()
}
```
+
+Using all origins disables the ability for Gin to set cookies for clients. When dealing with credentials, don't allow all origins.
diff --git a/vendor/github.com/gin-contrib/cors/config.go b/vendor/github.com/gin-contrib/cors/config.go
index 735c8c1a..427cfc00 100644
--- a/vendor/github.com/gin-contrib/cors/config.go
+++ b/vendor/github.com/gin-contrib/cors/config.go
@@ -8,13 +8,14 @@ import (
)
type cors struct {
- allowAllOrigins bool
- allowCredentials bool
- allowOriginFunc func(string) bool
- allowOrigins []string
- normalHeaders http.Header
- preflightHeaders http.Header
- wildcardOrigins [][]string
+ allowAllOrigins bool
+ allowCredentials bool
+ allowOriginFunc func(string) bool
+ allowOrigins []string
+ normalHeaders http.Header
+ preflightHeaders http.Header
+ wildcardOrigins [][]string
+ optionsResponseStatusCode int
}
var (
@@ -48,14 +49,19 @@ func newCors(config Config) *cors {
}
}
+ if config.OptionsResponseStatusCode == 0 {
+ config.OptionsResponseStatusCode = http.StatusNoContent
+ }
+
return &cors{
- allowOriginFunc: config.AllowOriginFunc,
- allowAllOrigins: config.AllowAllOrigins,
- allowCredentials: config.AllowCredentials,
- allowOrigins: normalize(config.AllowOrigins),
- normalHeaders: generateNormalHeaders(config),
- preflightHeaders: generatePreflightHeaders(config),
- wildcardOrigins: config.parseWildcardRules(),
+ allowOriginFunc: config.AllowOriginFunc,
+ allowAllOrigins: config.AllowAllOrigins,
+ allowCredentials: config.AllowCredentials,
+ allowOrigins: normalize(config.AllowOrigins),
+ normalHeaders: generateNormalHeaders(config),
+ preflightHeaders: generatePreflightHeaders(config),
+ wildcardOrigins: config.parseWildcardRules(),
+ optionsResponseStatusCode: config.OptionsResponseStatusCode,
}
}
@@ -80,7 +86,7 @@ func (cors *cors) applyCors(c *gin.Context) {
if c.Request.Method == "OPTIONS" {
cors.handlePreflight(c)
- defer c.AbortWithStatus(http.StatusNoContent) // Using 204 is better than 200 when the request status is OPTIONS
+ defer c.AbortWithStatus(cors.optionsResponseStatusCode)
} else {
cors.handleNormal(c)
}
diff --git a/vendor/github.com/gin-contrib/cors/cors.go b/vendor/github.com/gin-contrib/cors/cors.go
index f0e230ae..b3252227 100644
--- a/vendor/github.com/gin-contrib/cors/cors.go
+++ b/vendor/github.com/gin-contrib/cors/cors.go
@@ -17,8 +17,8 @@ type Config struct {
// Default value is []
AllowOrigins []string
- // AllowOriginFunc is a custom function to validate the origin. It take the origin
- // as argument and returns true if allowed or false otherwise. If this option is
+ // AllowOriginFunc is a custom function to validate the origin. It takes the origin
+ // as an argument and returns true if allowed or false otherwise. If this option is
// set, the content of AllowOrigins is ignored.
AllowOriginFunc func(origin string) bool
@@ -26,6 +26,9 @@ type Config struct {
// cross-domain requests. Default value is simple methods (GET, POST, PUT, PATCH, DELETE, HEAD, and OPTIONS)
AllowMethods []string
+ // AllowPrivateNetwork indicates whether the response should include allow private network header
+ AllowPrivateNetwork bool
+
// AllowHeaders is list of non simple headers the client is allowed to use with
// cross-domain requests.
AllowHeaders []string
@@ -53,6 +56,9 @@ type Config struct {
// Allows usage of file:// schema (dangerous!) use it only when you 100% sure it's needed
AllowFiles bool
+
+ // Allows to pass custom OPTIONS response status code for old browsers / clients
+ OptionsResponseStatusCode int
}
// AddAllowMethods is allowed to add custom methods
diff --git a/vendor/github.com/gin-contrib/cors/utils.go b/vendor/github.com/gin-contrib/cors/utils.go
index 460ef178..b98e90b8 100644
--- a/vendor/github.com/gin-contrib/cors/utils.go
+++ b/vendor/github.com/gin-contrib/cors/utils.go
@@ -45,6 +45,11 @@ func generatePreflightHeaders(c Config) http.Header {
value := strconv.FormatInt(int64(c.MaxAge/time.Second), 10)
headers.Set("Access-Control-Max-Age", value)
}
+
+ if c.AllowPrivateNetwork {
+ headers.Set("Access-Control-Allow-Private-Network", "true")
+ }
+
if c.AllowAllOrigins {
headers.Set("Access-Control-Allow-Origin", "*")
} else {
diff --git a/vendor/github.com/go-playground/validator/v10/README.md b/vendor/github.com/go-playground/validator/v10/README.md
index 8e80d52a..dbbafc3e 100644
--- a/vendor/github.com/go-playground/validator/v10/README.md
+++ b/vendor/github.com/go-playground/validator/v10/README.md
@@ -1,7 +1,7 @@
Package validator
=================
[![Join the chat at https://gitter.im/go-playground/validator](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/go-playground/validator?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-![Project status](https://img.shields.io/badge/version-10.15.4-green.svg)
+![Project status](https://img.shields.io/badge/version-10.16.0-green.svg)
[![Build Status](https://travis-ci.org/go-playground/validator.svg?branch=master)](https://travis-ci.org/go-playground/validator)
[![Coverage Status](https://coveralls.io/repos/go-playground/validator/badge.svg?branch=master&service=github)](https://coveralls.io/github/go-playground/validator?branch=master)
[![Go Report Card](https://goreportcard.com/badge/github.com/go-playground/validator)](https://goreportcard.com/report/github.com/go-playground/validator)
@@ -178,6 +178,7 @@ validate := validator.New(validator.WithRequiredStructEnabled())
| isbn | International Standard Book Number |
| isbn10 | International Standard Book Number 10 |
| isbn13 | International Standard Book Number 13 |
+| issn | International Standard Serial Number |
| iso3166_1_alpha2 | Two-letter country code (ISO 3166-1 alpha-2) |
| iso3166_1_alpha3 | Three-letter country code (ISO 3166-1 alpha-3) |
| iso3166_1_alpha_numeric | Numeric country code (ISO 3166-1 numeric) |
diff --git a/vendor/github.com/go-playground/validator/v10/baked_in.go b/vendor/github.com/go-playground/validator/v10/baked_in.go
index 0b623307..95f56e00 100644
--- a/vendor/github.com/go-playground/validator/v10/baked_in.go
+++ b/vendor/github.com/go-playground/validator/v10/baked_in.go
@@ -51,6 +51,7 @@ var (
endKeysTag: {},
structOnlyTag: {},
omitempty: {},
+ omitnil: {},
skipValidationTag: {},
utf8HexComma: {},
utf8Pipe: {},
@@ -149,6 +150,7 @@ var (
"isbn": isISBN,
"isbn10": isISBN10,
"isbn13": isISBN13,
+ "issn": isISSN,
"eth_addr": isEthereumAddress,
"eth_addr_checksum": isEthereumAddressChecksum,
"btc_addr": isBitcoinAddress,
@@ -508,47 +510,47 @@ func isASCII(fl FieldLevel) bool {
// isUUID5 is the validation function for validating if the field's value is a valid v5 UUID.
func isUUID5(fl FieldLevel) bool {
- return uUID5Regex.MatchString(fl.Field().String())
+ return fieldMatchesRegexByStringerValOrString(uUID5Regex, fl)
}
// isUUID4 is the validation function for validating if the field's value is a valid v4 UUID.
func isUUID4(fl FieldLevel) bool {
- return uUID4Regex.MatchString(fl.Field().String())
+ return fieldMatchesRegexByStringerValOrString(uUID4Regex, fl)
}
// isUUID3 is the validation function for validating if the field's value is a valid v3 UUID.
func isUUID3(fl FieldLevel) bool {
- return uUID3Regex.MatchString(fl.Field().String())
+ return fieldMatchesRegexByStringerValOrString(uUID3Regex, fl)
}
// isUUID is the validation function for validating if the field's value is a valid UUID of any version.
func isUUID(fl FieldLevel) bool {
- return uUIDRegex.MatchString(fl.Field().String())
+ return fieldMatchesRegexByStringerValOrString(uUIDRegex, fl)
}
// isUUID5RFC4122 is the validation function for validating if the field's value is a valid RFC4122 v5 UUID.
func isUUID5RFC4122(fl FieldLevel) bool {
- return uUID5RFC4122Regex.MatchString(fl.Field().String())
+ return fieldMatchesRegexByStringerValOrString(uUID5RFC4122Regex, fl)
}
// isUUID4RFC4122 is the validation function for validating if the field's value is a valid RFC4122 v4 UUID.
func isUUID4RFC4122(fl FieldLevel) bool {
- return uUID4RFC4122Regex.MatchString(fl.Field().String())
+ return fieldMatchesRegexByStringerValOrString(uUID4RFC4122Regex, fl)
}
// isUUID3RFC4122 is the validation function for validating if the field's value is a valid RFC4122 v3 UUID.
func isUUID3RFC4122(fl FieldLevel) bool {
- return uUID3RFC4122Regex.MatchString(fl.Field().String())
+ return fieldMatchesRegexByStringerValOrString(uUID3RFC4122Regex, fl)
}
// isUUIDRFC4122 is the validation function for validating if the field's value is a valid RFC4122 UUID of any version.
func isUUIDRFC4122(fl FieldLevel) bool {
- return uUIDRFC4122Regex.MatchString(fl.Field().String())
+ return fieldMatchesRegexByStringerValOrString(uUIDRFC4122Regex, fl)
}
// isULID is the validation function for validating if the field's value is a valid ULID.
func isULID(fl FieldLevel) bool {
- return uLIDRegex.MatchString(fl.Field().String())
+ return fieldMatchesRegexByStringerValOrString(uLIDRegex, fl)
}
// isMD4 is the validation function for validating if the field's value is a valid MD4.
@@ -650,6 +652,32 @@ func isISBN10(fl FieldLevel) bool {
return checksum%11 == 0
}
+// isISSN is the validation function for validating if the field's value is a valid ISSN.
+func isISSN(fl FieldLevel) bool {
+ s := fl.Field().String()
+
+ if !iSSNRegex.MatchString(s) {
+ return false
+ }
+ s = strings.ReplaceAll(s, "-", "")
+
+ pos := 8
+ checksum := 0
+
+ for i := 0; i < 7; i++ {
+ checksum += pos * int(s[i]-'0')
+ pos--
+ }
+
+ if s[7] == 'X' {
+ checksum += 10
+ } else {
+ checksum += int(s[7] - '0')
+ }
+
+ return checksum%11 == 0
+}
+
// isEthereumAddress is the validation function for validating if the field's value is a valid Ethereum address.
func isEthereumAddress(fl FieldLevel) bool {
address := fl.Field().String()
@@ -1413,6 +1441,15 @@ func isURI(fl FieldLevel) bool {
panic(fmt.Sprintf("Bad field type %T", field.Interface()))
}
+// isFileURL is the helper function for validating if the `path` valid file URL as per RFC8089
+func isFileURL(path string) bool {
+ if !strings.HasPrefix(path, "file:/") {
+ return false
+ }
+ _, err := url.ParseRequestURI(path)
+ return err == nil
+}
+
// isURL is the validation function for validating if the current field's value is a valid URL.
func isURL(fl FieldLevel) bool {
field := fl.Field()
@@ -1420,12 +1457,16 @@ func isURL(fl FieldLevel) bool {
switch field.Kind() {
case reflect.String:
- s := field.String()
+ s := strings.ToLower(field.String())
if len(s) == 0 {
return false
}
+ if isFileURL(s) {
+ return true
+ }
+
url, err := url.Parse(s)
if err != nil || url.Scheme == "" {
return false
diff --git a/vendor/github.com/go-playground/validator/v10/cache.go b/vendor/github.com/go-playground/validator/v10/cache.go
index bbfd2a4a..0f4fa6b5 100644
--- a/vendor/github.com/go-playground/validator/v10/cache.go
+++ b/vendor/github.com/go-playground/validator/v10/cache.go
@@ -20,6 +20,7 @@ const (
typeOr
typeKeys
typeEndKeys
+ typeOmitNil
)
const (
@@ -252,6 +253,10 @@ func (v *Validate) parseFieldTagsRecursive(tag string, fieldName string, alias s
current.typeof = typeOmitEmpty
continue
+ case omitnil:
+ current.typeof = typeOmitNil
+ continue
+
case structOnlyTag:
current.typeof = typeStructOnly
continue
diff --git a/vendor/github.com/go-playground/validator/v10/doc.go b/vendor/github.com/go-playground/validator/v10/doc.go
index c4dbb595..b4740918 100644
--- a/vendor/github.com/go-playground/validator/v10/doc.go
+++ b/vendor/github.com/go-playground/validator/v10/doc.go
@@ -194,6 +194,13 @@ such as min or max won't run, but if a value is set validation will run.
Usage: omitempty
+# Omit Nil
+
+Allows to skip the validation if the value is nil (same as omitempty, but
+only for the nil-values).
+
+ Usage: omitnil
+
# Dive
This tells the validator to dive into a slice, array or map and validate that
diff --git a/vendor/github.com/go-playground/validator/v10/regexes.go b/vendor/github.com/go-playground/validator/v10/regexes.go
index 6c8f9856..af98d8da 100644
--- a/vendor/github.com/go-playground/validator/v10/regexes.go
+++ b/vendor/github.com/go-playground/validator/v10/regexes.go
@@ -22,6 +22,7 @@ const (
base64RawURLRegexString = "^(?:[A-Za-z0-9-_]{4})*(?:[A-Za-z0-9-_]{2,4})$"
iSBN10RegexString = "^(?:[0-9]{9}X|[0-9]{10})$"
iSBN13RegexString = "^(?:(?:97(?:8|9))[0-9]{10})$"
+ iSSNRegexString = "^(?:[0-9]{4}-[0-9]{3}[0-9X])$"
uUID3RegexString = "^[0-9a-f]{8}-[0-9a-f]{4}-3[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$"
uUID4RegexString = "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
uUID5RegexString = "^[0-9a-f]{8}-[0-9a-f]{4}-5[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
@@ -93,6 +94,7 @@ var (
base64RawURLRegex = regexp.MustCompile(base64RawURLRegexString)
iSBN10Regex = regexp.MustCompile(iSBN10RegexString)
iSBN13Regex = regexp.MustCompile(iSBN13RegexString)
+ iSSNRegex = regexp.MustCompile(iSSNRegexString)
uUID3Regex = regexp.MustCompile(uUID3RegexString)
uUID4Regex = regexp.MustCompile(uUID4RegexString)
uUID5Regex = regexp.MustCompile(uUID5RegexString)
diff --git a/vendor/github.com/go-playground/validator/v10/util.go b/vendor/github.com/go-playground/validator/v10/util.go
index 4bd947bd..16851593 100644
--- a/vendor/github.com/go-playground/validator/v10/util.go
+++ b/vendor/github.com/go-playground/validator/v10/util.go
@@ -1,7 +1,9 @@
package validator
import (
+ "fmt"
"reflect"
+ "regexp"
"strconv"
"strings"
"time"
@@ -292,3 +294,18 @@ func panicIf(err error) {
panic(err.Error())
}
}
+
+// Checks if field value matches regex. If fl.Field can be cast to Stringer, it uses the Stringer interfaces
+// String() return value. Otherwise, it uses fl.Field's String() value.
+func fieldMatchesRegexByStringerValOrString(regex *regexp.Regexp, fl FieldLevel) bool {
+ switch fl.Field().Kind() {
+ case reflect.String:
+ return regex.MatchString(fl.Field().String())
+ default:
+ if stringer, ok := fl.Field().Interface().(fmt.Stringer); ok {
+ return regex.MatchString(stringer.String())
+ } else {
+ return regex.MatchString(fl.Field().String())
+ }
+ }
+}
diff --git a/vendor/github.com/go-playground/validator/v10/validator.go b/vendor/github.com/go-playground/validator/v10/validator.go
index 342c4ec2..a072d39c 100644
--- a/vendor/github.com/go-playground/validator/v10/validator.go
+++ b/vendor/github.com/go-playground/validator/v10/validator.go
@@ -112,6 +112,10 @@ func (v *validate) traverseField(ctx context.Context, parent reflect.Value, curr
return
}
+ if ct.typeof == typeOmitNil && (kind != reflect.Invalid && current.IsNil()) {
+ return
+ }
+
if ct.hasTag {
if kind == reflect.Invalid {
v.str1 = string(append(ns, cf.altName...))
@@ -233,6 +237,26 @@ OUTER:
ct = ct.next
continue
+ case typeOmitNil:
+ v.slflParent = parent
+ v.flField = current
+ v.cf = cf
+ v.ct = ct
+
+ switch field := v.Field(); field.Kind() {
+ case reflect.Slice, reflect.Map, reflect.Ptr, reflect.Interface, reflect.Chan, reflect.Func:
+ if field.IsNil() {
+ return
+ }
+ default:
+ if v.fldIsPointer && field.Interface() == nil {
+ return
+ }
+ }
+
+ ct = ct.next
+ continue
+
case typeEndKeys:
return
diff --git a/vendor/github.com/go-playground/validator/v10/validator_instance.go b/vendor/github.com/go-playground/validator/v10/validator_instance.go
index a4dbdd09..d5a7be1d 100644
--- a/vendor/github.com/go-playground/validator/v10/validator_instance.go
+++ b/vendor/github.com/go-playground/validator/v10/validator_instance.go
@@ -22,6 +22,7 @@ const (
structOnlyTag = "structonly"
noStructLevelTag = "nostructlevel"
omitempty = "omitempty"
+ omitnil = "omitnil"
isdefault = "isdefault"
requiredWithoutAllTag = "required_without_all"
requiredWithoutTag = "required_without"
diff --git a/vendor/github.com/golang-jwt/jwt/v5/MIGRATION_GUIDE.md b/vendor/github.com/golang-jwt/jwt/v5/MIGRATION_GUIDE.md
index 6ad1c22b..ff9c57e1 100644
--- a/vendor/github.com/golang-jwt/jwt/v5/MIGRATION_GUIDE.md
+++ b/vendor/github.com/golang-jwt/jwt/v5/MIGRATION_GUIDE.md
@@ -17,7 +17,7 @@ and corresponding updates for existing programs.
## Parsing and Validation Options
-Under the hood, a new `validator` struct takes care of validating the claims. A
+Under the hood, a new `Validator` struct takes care of validating the claims. A
long awaited feature has been the option to fine-tune the validation of tokens.
This is now possible with several `ParserOption` functions that can be appended
to most `Parse` functions, such as `ParseWithClaims`. The most important options
@@ -68,6 +68,16 @@ type Claims interface {
}
```
+Users that previously directly called the `Valid` function on their claims,
+e.g., to perform validation independently of parsing/verifying a token, can now
+use the `jwt.NewValidator` function to create a `Validator` independently of the
+`Parser`.
+
+```go
+var v = jwt.NewValidator(jwt.WithLeeway(5*time.Second))
+v.Validate(myClaims)
+```
+
### Supported Claim Types and Removal of `StandardClaims`
The two standard claim types supported by this library, `MapClaims` and
@@ -169,7 +179,7 @@ be a drop-in replacement, if you're having troubles migrating, please open an
issue.
You can replace all occurrences of `github.com/dgrijalva/jwt-go` or
-`github.com/golang-jwt/jwt` with `github.com/golang-jwt/jwt/v5`, either manually
+`github.com/golang-jwt/jwt` with `github.com/golang-jwt/jwt/v4`, either manually
or by using tools such as `sed` or `gofmt`.
And then you'd typically run:
diff --git a/vendor/github.com/golang-jwt/jwt/v5/ecdsa.go b/vendor/github.com/golang-jwt/jwt/v5/ecdsa.go
index 4ccae2a8..ca85659b 100644
--- a/vendor/github.com/golang-jwt/jwt/v5/ecdsa.go
+++ b/vendor/github.com/golang-jwt/jwt/v5/ecdsa.go
@@ -62,7 +62,7 @@ func (m *SigningMethodECDSA) Verify(signingString string, sig []byte, key interf
case *ecdsa.PublicKey:
ecdsaKey = k
default:
- return ErrInvalidKeyType
+ return newError("ECDSA verify expects *ecsda.PublicKey", ErrInvalidKeyType)
}
if len(sig) != 2*m.KeySize {
@@ -96,7 +96,7 @@ func (m *SigningMethodECDSA) Sign(signingString string, key interface{}) ([]byte
case *ecdsa.PrivateKey:
ecdsaKey = k
default:
- return nil, ErrInvalidKeyType
+ return nil, newError("ECDSA sign expects *ecsda.PrivateKey", ErrInvalidKeyType)
}
// Create the hasher
diff --git a/vendor/github.com/golang-jwt/jwt/v5/ed25519.go b/vendor/github.com/golang-jwt/jwt/v5/ed25519.go
index 3db00e4a..c2138119 100644
--- a/vendor/github.com/golang-jwt/jwt/v5/ed25519.go
+++ b/vendor/github.com/golang-jwt/jwt/v5/ed25519.go
@@ -1,11 +1,10 @@
package jwt
import (
- "errors"
-
"crypto"
"crypto/ed25519"
"crypto/rand"
+ "errors"
)
var (
@@ -39,7 +38,7 @@ func (m *SigningMethodEd25519) Verify(signingString string, sig []byte, key inte
var ok bool
if ed25519Key, ok = key.(ed25519.PublicKey); !ok {
- return ErrInvalidKeyType
+ return newError("Ed25519 verify expects ed25519.PublicKey", ErrInvalidKeyType)
}
if len(ed25519Key) != ed25519.PublicKeySize {
@@ -61,7 +60,7 @@ func (m *SigningMethodEd25519) Sign(signingString string, key interface{}) ([]by
var ok bool
if ed25519Key, ok = key.(crypto.Signer); !ok {
- return nil, ErrInvalidKeyType
+ return nil, newError("Ed25519 sign expects crypto.Signer", ErrInvalidKeyType)
}
if _, ok := ed25519Key.Public().(ed25519.PublicKey); !ok {
diff --git a/vendor/github.com/golang-jwt/jwt/v5/errors_go_other.go b/vendor/github.com/golang-jwt/jwt/v5/errors_go_other.go
index 3afb04e6..2ad542f0 100644
--- a/vendor/github.com/golang-jwt/jwt/v5/errors_go_other.go
+++ b/vendor/github.com/golang-jwt/jwt/v5/errors_go_other.go
@@ -22,7 +22,7 @@ func (je joinedError) Is(err error) bool {
// wrappedErrors is a workaround for wrapping multiple errors in environments
// where Go 1.20 is not available. It basically uses the already implemented
-// functionatlity of joinedError to handle multiple errors with supplies a
+// functionality of joinedError to handle multiple errors with supplies a
// custom error message that is identical to the one we produce in Go 1.20 using
// multiple %w directives.
type wrappedErrors struct {
diff --git a/vendor/github.com/golang-jwt/jwt/v5/hmac.go b/vendor/github.com/golang-jwt/jwt/v5/hmac.go
index 91b688ba..96c62722 100644
--- a/vendor/github.com/golang-jwt/jwt/v5/hmac.go
+++ b/vendor/github.com/golang-jwt/jwt/v5/hmac.go
@@ -59,7 +59,7 @@ func (m *SigningMethodHMAC) Verify(signingString string, sig []byte, key interfa
// Verify the key is the right type
keyBytes, ok := key.([]byte)
if !ok {
- return ErrInvalidKeyType
+ return newError("HMAC verify expects []byte", ErrInvalidKeyType)
}
// Can we use the specified hashing method?
@@ -91,7 +91,7 @@ func (m *SigningMethodHMAC) Verify(signingString string, sig []byte, key interfa
func (m *SigningMethodHMAC) Sign(signingString string, key interface{}) ([]byte, error) {
if keyBytes, ok := key.([]byte); ok {
if !m.Hash.Available() {
- return nil, ErrHashUnavailable
+ return nil, newError("HMAC sign expects []byte", ErrInvalidKeyType)
}
hasher := hmac.New(m.Hash.New, keyBytes)
diff --git a/vendor/github.com/golang-jwt/jwt/v5/none.go b/vendor/github.com/golang-jwt/jwt/v5/none.go
index c93daa58..685c2ea3 100644
--- a/vendor/github.com/golang-jwt/jwt/v5/none.go
+++ b/vendor/github.com/golang-jwt/jwt/v5/none.go
@@ -32,7 +32,7 @@ func (m *signingMethodNone) Verify(signingString string, sig []byte, key interfa
return NoneSignatureTypeDisallowedError
}
// If signing method is none, signature must be an empty string
- if string(sig) != "" {
+ if len(sig) != 0 {
return newError("'none' signing method with non-empty signature", ErrTokenUnverifiable)
}
diff --git a/vendor/github.com/golang-jwt/jwt/v5/parser.go b/vendor/github.com/golang-jwt/jwt/v5/parser.go
index f4386fba..ecf99af7 100644
--- a/vendor/github.com/golang-jwt/jwt/v5/parser.go
+++ b/vendor/github.com/golang-jwt/jwt/v5/parser.go
@@ -18,7 +18,7 @@ type Parser struct {
// Skip claims validation during token parsing.
skipClaimsValidation bool
- validator *validator
+ validator *Validator
decodeStrict bool
@@ -28,7 +28,7 @@ type Parser struct {
// NewParser creates a new Parser with the specified options
func NewParser(options ...ParserOption) *Parser {
p := &Parser{
- validator: &validator{},
+ validator: &Validator{},
}
// Loop through our parsing options and apply them
@@ -74,24 +74,40 @@ func (p *Parser) ParseWithClaims(tokenString string, claims Claims, keyFunc Keyf
}
}
- // Lookup key
- var key interface{}
+ // Decode signature
+ token.Signature, err = p.DecodeSegment(parts[2])
+ if err != nil {
+ return token, newError("could not base64 decode signature", ErrTokenMalformed, err)
+ }
+ text := strings.Join(parts[0:2], ".")
+
+ // Lookup key(s)
if keyFunc == nil {
// keyFunc was not provided. short circuiting validation
return token, newError("no keyfunc was provided", ErrTokenUnverifiable)
}
- if key, err = keyFunc(token); err != nil {
- return token, newError("error while executing keyfunc", ErrTokenUnverifiable, err)
- }
- // Decode signature
- token.Signature, err = p.DecodeSegment(parts[2])
+ got, err := keyFunc(token)
if err != nil {
- return token, newError("could not base64 decode signature", ErrTokenMalformed, err)
+ return token, newError("error while executing keyfunc", ErrTokenUnverifiable, err)
}
- // Perform signature validation
- if err = token.Method.Verify(strings.Join(parts[0:2], "."), token.Signature, key); err != nil {
+ switch have := got.(type) {
+ case VerificationKeySet:
+ if len(have.Keys) == 0 {
+ return token, newError("keyfunc returned empty verification key set", ErrTokenUnverifiable)
+ }
+ // Iterate through keys and verify signature, skipping the rest when a match is found.
+ // Return the last error if no match is found.
+ for _, key := range have.Keys {
+ if err = token.Method.Verify(text, token.Signature, key); err == nil {
+ break
+ }
+ }
+ default:
+ err = token.Method.Verify(text, token.Signature, have)
+ }
+ if err != nil {
return token, newError("", ErrTokenSignatureInvalid, err)
}
@@ -99,7 +115,7 @@ func (p *Parser) ParseWithClaims(tokenString string, claims Claims, keyFunc Keyf
if !p.skipClaimsValidation {
// Make sure we have at least a default validator
if p.validator == nil {
- p.validator = newValidator()
+ p.validator = NewValidator()
}
if err := p.validator.Validate(claims); err != nil {
@@ -117,8 +133,8 @@ func (p *Parser) ParseWithClaims(tokenString string, claims Claims, keyFunc Keyf
//
// WARNING: Don't use this method unless you know what you're doing.
//
-// It's only ever useful in cases where you know the signature is valid (because it has
-// been checked previously in the stack) and you want to extract values from it.
+// It's only ever useful in cases where you know the signature is valid (since it has already
+// been or will be checked elsewhere in the stack) and you want to extract values from it.
func (p *Parser) ParseUnverified(tokenString string, claims Claims) (token *Token, parts []string, err error) {
parts = strings.Split(tokenString, ".")
if len(parts) != 3 {
@@ -130,9 +146,6 @@ func (p *Parser) ParseUnverified(tokenString string, claims Claims) (token *Toke
// parse Header
var headerBytes []byte
if headerBytes, err = p.DecodeSegment(parts[0]); err != nil {
- if strings.HasPrefix(strings.ToLower(tokenString), "bearer ") {
- return token, parts, newError("tokenstring should not contain 'bearer '", ErrTokenMalformed)
- }
return token, parts, newError("could not base64 decode header", ErrTokenMalformed, err)
}
if err = json.Unmarshal(headerBytes, &token.Header); err != nil {
@@ -140,23 +153,33 @@ func (p *Parser) ParseUnverified(tokenString string, claims Claims) (token *Toke
}
// parse Claims
- var claimBytes []byte
token.Claims = claims
- if claimBytes, err = p.DecodeSegment(parts[1]); err != nil {
+ claimBytes, err := p.DecodeSegment(parts[1])
+ if err != nil {
return token, parts, newError("could not base64 decode claim", ErrTokenMalformed, err)
}
- dec := json.NewDecoder(bytes.NewBuffer(claimBytes))
- if p.useJSONNumber {
- dec.UseNumber()
- }
- // JSON Decode. Special case for map type to avoid weird pointer behavior
- if c, ok := token.Claims.(MapClaims); ok {
- err = dec.Decode(&c)
+
+ // If `useJSONNumber` is enabled then we must use *json.Decoder to decode
+ // the claims. However, this comes with a performance penalty so only use
+ // it if we must and, otherwise, simple use json.Unmarshal.
+ if !p.useJSONNumber {
+ // JSON Unmarshal. Special case for map type to avoid weird pointer behavior.
+ if c, ok := token.Claims.(MapClaims); ok {
+ err = json.Unmarshal(claimBytes, &c)
+ } else {
+ err = json.Unmarshal(claimBytes, &claims)
+ }
} else {
- err = dec.Decode(&claims)
+ dec := json.NewDecoder(bytes.NewBuffer(claimBytes))
+ dec.UseNumber()
+ // JSON Decode. Special case for map type to avoid weird pointer behavior.
+ if c, ok := token.Claims.(MapClaims); ok {
+ err = dec.Decode(&c)
+ } else {
+ err = dec.Decode(&claims)
+ }
}
- // Handle decode error
if err != nil {
return token, parts, newError("could not JSON decode claim", ErrTokenMalformed, err)
}
diff --git a/vendor/github.com/golang-jwt/jwt/v5/parser_option.go b/vendor/github.com/golang-jwt/jwt/v5/parser_option.go
index 1b5af970..88a780fb 100644
--- a/vendor/github.com/golang-jwt/jwt/v5/parser_option.go
+++ b/vendor/github.com/golang-jwt/jwt/v5/parser_option.go
@@ -58,6 +58,14 @@ func WithIssuedAt() ParserOption {
}
}
+// WithExpirationRequired returns the ParserOption to make exp claim required.
+// By default exp claim is optional.
+func WithExpirationRequired() ParserOption {
+ return func(p *Parser) {
+ p.validator.requireExp = true
+ }
+}
+
// WithAudience configures the validator to require the specified audience in
// the `aud` claim. Validation will fail if the audience is not listed in the
// token or the `aud` claim is missing.
diff --git a/vendor/github.com/golang-jwt/jwt/v5/rsa.go b/vendor/github.com/golang-jwt/jwt/v5/rsa.go
index daff0943..83cbee6a 100644
--- a/vendor/github.com/golang-jwt/jwt/v5/rsa.go
+++ b/vendor/github.com/golang-jwt/jwt/v5/rsa.go
@@ -51,7 +51,7 @@ func (m *SigningMethodRSA) Verify(signingString string, sig []byte, key interfac
var ok bool
if rsaKey, ok = key.(*rsa.PublicKey); !ok {
- return ErrInvalidKeyType
+ return newError("RSA verify expects *rsa.PublicKey", ErrInvalidKeyType)
}
// Create hasher
@@ -73,7 +73,7 @@ func (m *SigningMethodRSA) Sign(signingString string, key interface{}) ([]byte,
// Validate type of key
if rsaKey, ok = key.(*rsa.PrivateKey); !ok {
- return nil, ErrInvalidKey
+ return nil, newError("RSA sign expects *rsa.PrivateKey", ErrInvalidKeyType)
}
// Create the hasher
diff --git a/vendor/github.com/golang-jwt/jwt/v5/rsa_pss.go b/vendor/github.com/golang-jwt/jwt/v5/rsa_pss.go
index 9599f0a4..28c386ec 100644
--- a/vendor/github.com/golang-jwt/jwt/v5/rsa_pss.go
+++ b/vendor/github.com/golang-jwt/jwt/v5/rsa_pss.go
@@ -88,7 +88,7 @@ func (m *SigningMethodRSAPSS) Verify(signingString string, sig []byte, key inter
case *rsa.PublicKey:
rsaKey = k
default:
- return ErrInvalidKey
+ return newError("RSA-PSS verify expects *rsa.PublicKey", ErrInvalidKeyType)
}
// Create hasher
@@ -115,7 +115,7 @@ func (m *SigningMethodRSAPSS) Sign(signingString string, key interface{}) ([]byt
case *rsa.PrivateKey:
rsaKey = k
default:
- return nil, ErrInvalidKeyType
+ return nil, newError("RSA-PSS sign expects *rsa.PrivateKey", ErrInvalidKeyType)
}
// Create the hasher
diff --git a/vendor/github.com/golang-jwt/jwt/v5/token.go b/vendor/github.com/golang-jwt/jwt/v5/token.go
index c8ad7c78..352873a2 100644
--- a/vendor/github.com/golang-jwt/jwt/v5/token.go
+++ b/vendor/github.com/golang-jwt/jwt/v5/token.go
@@ -1,6 +1,7 @@
package jwt
import (
+ "crypto"
"encoding/base64"
"encoding/json"
)
@@ -9,8 +10,21 @@ import (
// the key for verification. The function receives the parsed, but unverified
// Token. This allows you to use properties in the Header of the token (such as
// `kid`) to identify which key to use.
+//
+// The returned interface{} may be a single key or a VerificationKeySet containing
+// multiple keys.
type Keyfunc func(*Token) (interface{}, error)
+// VerificationKey represents a public or secret key for verifying a token's signature.
+type VerificationKey interface {
+ crypto.PublicKey | []uint8
+}
+
+// VerificationKeySet is a set of public or secret keys. It is used by the parser to verify a token.
+type VerificationKeySet struct {
+ Keys []VerificationKey
+}
+
// Token represents a JWT Token. Different fields will be used depending on
// whether you're creating or parsing/verifying a token.
type Token struct {
diff --git a/vendor/github.com/golang-jwt/jwt/v5/types.go b/vendor/github.com/golang-jwt/jwt/v5/types.go
index b82b3886..b2655a9e 100644
--- a/vendor/github.com/golang-jwt/jwt/v5/types.go
+++ b/vendor/github.com/golang-jwt/jwt/v5/types.go
@@ -4,7 +4,6 @@ import (
"encoding/json"
"fmt"
"math"
- "reflect"
"strconv"
"time"
)
@@ -121,14 +120,14 @@ func (s *ClaimStrings) UnmarshalJSON(data []byte) (err error) {
for _, vv := range v {
vs, ok := vv.(string)
if !ok {
- return &json.UnsupportedTypeError{Type: reflect.TypeOf(vv)}
+ return ErrInvalidType
}
aud = append(aud, vs)
}
case nil:
return nil
default:
- return &json.UnsupportedTypeError{Type: reflect.TypeOf(v)}
+ return ErrInvalidType
}
*s = aud
diff --git a/vendor/github.com/golang-jwt/jwt/v5/validator.go b/vendor/github.com/golang-jwt/jwt/v5/validator.go
index 38504389..008ecd87 100644
--- a/vendor/github.com/golang-jwt/jwt/v5/validator.go
+++ b/vendor/github.com/golang-jwt/jwt/v5/validator.go
@@ -28,13 +28,12 @@ type ClaimsValidator interface {
Validate() error
}
-// validator is the core of the new Validation API. It is automatically used by
+// Validator is the core of the new Validation API. It is automatically used by
// a [Parser] during parsing and can be modified with various parser options.
//
-// Note: This struct is intentionally not exported (yet) as we want to
-// internally finalize its API. In the future, we might make it publicly
-// available.
-type validator struct {
+// The [NewValidator] function should be used to create an instance of this
+// struct.
+type Validator struct {
// leeway is an optional leeway that can be provided to account for clock skew.
leeway time.Duration
@@ -42,6 +41,9 @@ type validator struct {
// validation. If unspecified, this defaults to time.Now.
timeFunc func() time.Time
+ // requireExp specifies whether the exp claim is required
+ requireExp bool
+
// verifyIat specifies whether the iat (Issued At) claim will be verified.
// According to https://www.rfc-editor.org/rfc/rfc7519#section-4.1.6 this
// only specifies the age of the token, but no validation check is
@@ -62,16 +64,28 @@ type validator struct {
expectedSub string
}
-// newValidator can be used to create a stand-alone validator with the supplied
+// NewValidator can be used to create a stand-alone validator with the supplied
// options. This validator can then be used to validate already parsed claims.
-func newValidator(opts ...ParserOption) *validator {
+//
+// Note: Under normal circumstances, explicitly creating a validator is not
+// needed and can potentially be dangerous; instead functions of the [Parser]
+// class should be used.
+//
+// The [Validator] is only checking the *validity* of the claims, such as its
+// expiration time, but it does NOT perform *signature verification* of the
+// token.
+func NewValidator(opts ...ParserOption) *Validator {
p := NewParser(opts...)
return p.validator
}
// Validate validates the given claims. It will also perform any custom
// validation if claims implements the [ClaimsValidator] interface.
-func (v *validator) Validate(claims Claims) error {
+//
+// Note: It will NOT perform any *signature verification* on the token that
+// contains the claims and expects that the [Claim] was already successfully
+// verified.
+func (v *Validator) Validate(claims Claims) error {
var (
now time.Time
errs []error = make([]error, 0, 6)
@@ -86,8 +100,9 @@ func (v *validator) Validate(claims Claims) error {
}
// We always need to check the expiration time, but usage of the claim
- // itself is OPTIONAL.
- if err = v.verifyExpiresAt(claims, now, false); err != nil {
+ // itself is OPTIONAL by default. requireExp overrides this behavior
+ // and makes the exp claim mandatory.
+ if err = v.verifyExpiresAt(claims, now, v.requireExp); err != nil {
errs = append(errs, err)
}
@@ -149,7 +164,7 @@ func (v *validator) Validate(claims Claims) error {
//
// Additionally, if any error occurs while retrieving the claim, e.g., when its
// the wrong type, an ErrTokenUnverifiable error will be returned.
-func (v *validator) verifyExpiresAt(claims Claims, cmp time.Time, required bool) error {
+func (v *Validator) verifyExpiresAt(claims Claims, cmp time.Time, required bool) error {
exp, err := claims.GetExpirationTime()
if err != nil {
return err
@@ -170,7 +185,7 @@ func (v *validator) verifyExpiresAt(claims Claims, cmp time.Time, required bool)
//
// Additionally, if any error occurs while retrieving the claim, e.g., when its
// the wrong type, an ErrTokenUnverifiable error will be returned.
-func (v *validator) verifyIssuedAt(claims Claims, cmp time.Time, required bool) error {
+func (v *Validator) verifyIssuedAt(claims Claims, cmp time.Time, required bool) error {
iat, err := claims.GetIssuedAt()
if err != nil {
return err
@@ -191,7 +206,7 @@ func (v *validator) verifyIssuedAt(claims Claims, cmp time.Time, required bool)
//
// Additionally, if any error occurs while retrieving the claim, e.g., when its
// the wrong type, an ErrTokenUnverifiable error will be returned.
-func (v *validator) verifyNotBefore(claims Claims, cmp time.Time, required bool) error {
+func (v *Validator) verifyNotBefore(claims Claims, cmp time.Time, required bool) error {
nbf, err := claims.GetNotBefore()
if err != nil {
return err
@@ -211,7 +226,7 @@ func (v *validator) verifyNotBefore(claims Claims, cmp time.Time, required bool)
//
// Additionally, if any error occurs while retrieving the claim, e.g., when its
// the wrong type, an ErrTokenUnverifiable error will be returned.
-func (v *validator) verifyAudience(claims Claims, cmp string, required bool) error {
+func (v *Validator) verifyAudience(claims Claims, cmp string, required bool) error {
aud, err := claims.GetAudience()
if err != nil {
return err
@@ -247,7 +262,7 @@ func (v *validator) verifyAudience(claims Claims, cmp string, required bool) err
//
// Additionally, if any error occurs while retrieving the claim, e.g., when its
// the wrong type, an ErrTokenUnverifiable error will be returned.
-func (v *validator) verifyIssuer(claims Claims, cmp string, required bool) error {
+func (v *Validator) verifyIssuer(claims Claims, cmp string, required bool) error {
iss, err := claims.GetIssuer()
if err != nil {
return err
@@ -267,7 +282,7 @@ func (v *validator) verifyIssuer(claims Claims, cmp string, required bool) error
//
// Additionally, if any error occurs while retrieving the claim, e.g., when its
// the wrong type, an ErrTokenUnverifiable error will be returned.
-func (v *validator) verifySubject(claims Claims, cmp string, required bool) error {
+func (v *Validator) verifySubject(claims Claims, cmp string, required bool) error {
sub, err := claims.GetSubject()
if err != nil {
return err
diff --git a/vendor/github.com/golang-migrate/migrate/v4/Dockerfile b/vendor/github.com/golang-migrate/migrate/v4/Dockerfile
index c576a57b..779cbcab 100644
--- a/vendor/github.com/golang-migrate/migrate/v4/Dockerfile
+++ b/vendor/github.com/golang-migrate/migrate/v4/Dockerfile
@@ -1,4 +1,4 @@
-FROM golang:1.20-alpine3.18 AS builder
+FROM golang:1.21-alpine3.19 AS builder
ARG VERSION
RUN apk add --no-cache git gcc musl-dev make
@@ -15,7 +15,7 @@ COPY . ./
RUN make build-docker
-FROM alpine:3.18
+FROM alpine:3.19
RUN apk add --no-cache ca-certificates
diff --git a/vendor/github.com/golang-migrate/migrate/v4/Dockerfile.github-actions b/vendor/github.com/golang-migrate/migrate/v4/Dockerfile.github-actions
index c9723c38..9786e121 100644
--- a/vendor/github.com/golang-migrate/migrate/v4/Dockerfile.github-actions
+++ b/vendor/github.com/golang-migrate/migrate/v4/Dockerfile.github-actions
@@ -1,4 +1,4 @@
-FROM alpine:3.18
+FROM alpine:3.19
RUN apk add --no-cache ca-certificates
diff --git a/vendor/github.com/golang-migrate/migrate/v4/FAQ.md b/vendor/github.com/golang-migrate/migrate/v4/FAQ.md
index 28316281..b4261ee8 100644
--- a/vendor/github.com/golang-migrate/migrate/v4/FAQ.md
+++ b/vendor/github.com/golang-migrate/migrate/v4/FAQ.md
@@ -50,7 +50,7 @@
and whenever we want, not just once at the beginning of all tests.
#### Can I maintain my driver in my own repository?
- Yes, technically thats possible. We want to encourage you to contribute your driver to this respository though.
+ Yes, technically thats possible. We want to encourage you to contribute your driver to this repository though.
The driver's functionality is dictated by migrate's interfaces. That means there should really
just be one driver for a database/ source. We want to prevent a future where several drivers doing the exact same thing,
just implemented a bit differently, co-exist somewhere on GitHub. If users have to do research first to find the
diff --git a/vendor/github.com/golang-migrate/migrate/v4/GETTING_STARTED.md b/vendor/github.com/golang-migrate/migrate/v4/GETTING_STARTED.md
index 5a204c07..45e9a4e4 100644
--- a/vendor/github.com/golang-migrate/migrate/v4/GETTING_STARTED.md
+++ b/vendor/github.com/golang-migrate/migrate/v4/GETTING_STARTED.md
@@ -28,7 +28,7 @@ migrate -database YOUR_DATABASE_URL -path PATH_TO_YOUR_MIGRATIONS up
Just add the code to your app and you're ready to go!
-Before commiting your migrations you should run your migrations up, down, and then up again to see if migrations are working properly both ways.
+Before committing your migrations you should run your migrations up, down, and then up again to see if migrations are working properly both ways.
(e.g. if you created a table in a migration but reverse migration did not delete it, you will encounter an error when running the forward migration again)
It's also worth checking your migrations in a separate, containerized environment. You can find some tools at the [end of this document](#further-reading).
diff --git a/vendor/github.com/golang-migrate/migrate/v4/Makefile b/vendor/github.com/golang-migrate/migrate/v4/Makefile
index 61e035c0..8e23a43c 100644
--- a/vendor/github.com/golang-migrate/migrate/v4/Makefile
+++ b/vendor/github.com/golang-migrate/migrate/v4/Makefile
@@ -1,5 +1,5 @@
SOURCE ?= file go_bindata github github_ee bitbucket aws_s3 google_cloud_storage godoc_vfs gitlab
-DATABASE ?= postgres mysql redshift cassandra spanner cockroachdb yugabytedb clickhouse mongodb sqlserver firebird neo4j pgx pgx5
+DATABASE ?= postgres mysql redshift cassandra spanner cockroachdb yugabytedb clickhouse mongodb sqlserver firebird neo4j pgx pgx5 rqlite
DATABASE_TEST ?= $(DATABASE) sqlite sqlite3 sqlcipher
VERSION ?= $(shell git describe --tags 2>/dev/null | cut -c 2-)
TEST_FLAGS ?=
diff --git a/vendor/github.com/golang-migrate/migrate/v4/README.md b/vendor/github.com/golang-migrate/migrate/v4/README.md
index 3beed007..359c7b3a 100644
--- a/vendor/github.com/golang-migrate/migrate/v4/README.md
+++ b/vendor/github.com/golang-migrate/migrate/v4/README.md
@@ -3,7 +3,7 @@
[![Coverage Status](https://img.shields.io/coveralls/github/golang-migrate/migrate/master.svg)](https://coveralls.io/github/golang-migrate/migrate?branch=master)
[![packagecloud.io](https://img.shields.io/badge/deb-packagecloud.io-844fec.svg)](https://packagecloud.io/golang-migrate/migrate?filter=debs)
[![Docker Pulls](https://img.shields.io/docker/pulls/migrate/migrate.svg)](https://hub.docker.com/r/migrate/migrate/)
-![Supported Go Versions](https://img.shields.io/badge/Go-1.19%2C%201.20-lightgrey.svg)
+![Supported Go Versions](https://img.shields.io/badge/Go-1.20%2C%201.21-lightgrey.svg)
[![GitHub Release](https://img.shields.io/github/release/golang-migrate/migrate.svg)](https://github.com/golang-migrate/migrate/releases)
[![Go Report Card](https://goreportcard.com/badge/github.com/golang-migrate/migrate/v4)](https://goreportcard.com/report/github.com/golang-migrate/migrate/v4)
@@ -28,11 +28,11 @@ Database drivers run migrations. [Add a new database?](database/driver.go)
* [PGX v5](database/pgx/v5)
* [Redshift](database/redshift)
* [Ql](database/ql)
-* [Cassandra](database/cassandra)
+* [Cassandra / ScyllaDB](database/cassandra)
* [SQLite](database/sqlite)
* [SQLite3](database/sqlite3) ([todo #165](https://github.com/mattes/migrate/issues/165))
* [SQLCipher](database/sqlcipher)
-* [MySQL/ MariaDB](database/mysql)
+* [MySQL / MariaDB](database/mysql)
* [Neo4j](database/neo4j)
* [MongoDB](database/mongodb)
* [CrateDB](database/crate) ([todo #170](https://github.com/mattes/migrate/issues/170))
@@ -43,6 +43,7 @@ Database drivers run migrations. [Add a new database?](database/driver.go)
* [ClickHouse](database/clickhouse)
* [Firebird](database/firebird)
* [MS SQL Server](database/sqlserver)
+* [RQLite](database/rqlite)
### Database URLs
@@ -170,6 +171,11 @@ Each migration has an up and down migration. [Why?](FAQ.md#why-two-separate-file
[Best practices: How to write migrations.](MIGRATIONS.md)
+## Coming from another db migration tool?
+
+Check out [migradaptor](https://github.com/musinit/migradaptor/).
+*Note: migradaptor is not affliated or supported by this project*
+
## Versions
Version | Supported? | Import | Notes
diff --git a/vendor/github.com/golang-migrate/migrate/v4/database/postgres/TUTORIAL.md b/vendor/github.com/golang-migrate/migrate/v4/database/postgres/TUTORIAL.md
index 0f19c56f..6ab98906 100644
--- a/vendor/github.com/golang-migrate/migrate/v4/database/postgres/TUTORIAL.md
+++ b/vendor/github.com/golang-migrate/migrate/v4/database/postgres/TUTORIAL.md
@@ -27,7 +27,7 @@ If there were no errors, we should have two files available under `db/migrations
Note the `sql` extension that we provided.
In the `.up.sql` file let's create the table:
-```
+```sql
CREATE TABLE IF NOT EXISTS users(
user_id serial PRIMARY KEY,
username VARCHAR (50) UNIQUE NOT NULL,
@@ -36,7 +36,7 @@ CREATE TABLE IF NOT EXISTS users(
);
```
And in the `.down.sql` let's delete it:
-```
+```sql
DROP TABLE IF EXISTS users;
```
By adding `IF EXISTS/IF NOT EXISTS` we are making migrations idempotent - you can read more about idempotency in [getting started](../../GETTING_STARTED.md#create-migrations)
@@ -79,7 +79,7 @@ Again, it should create for us two migrations files:
In Postgres, when we want our queries to be done in a transaction, we need to wrap it with `BEGIN` and `COMMIT` commands.
In our example, we are going to add a column to our database that can only accept enumerable values or NULL.
Migration up:
-```
+```sql
BEGIN;
CREATE TYPE enum_mood AS ENUM (
@@ -92,7 +92,7 @@ ALTER TABLE users ADD COLUMN mood enum_mood;
COMMIT;
```
Migration down:
-```
+```sql
BEGIN;
ALTER TABLE users DROP COLUMN mood;
@@ -124,7 +124,7 @@ Indexes:
## Optional: Run migrations within your Go app
Here is a very simple app running migrations for the above configuration:
-```
+```go
import (
"log"
diff --git a/vendor/github.com/golang/mock/CONTRIBUTORS b/vendor/github.com/golang/mock/CONTRIBUTORS
deleted file mode 100644
index def849ca..00000000
--- a/vendor/github.com/golang/mock/CONTRIBUTORS
+++ /dev/null
@@ -1,37 +0,0 @@
-# This is the official list of people who can contribute (and typically
-# have contributed) code to the gomock repository.
-# The AUTHORS file lists the copyright holders; this file
-# lists people. For example, Google employees are listed here
-# but not in AUTHORS, because Google holds the copyright.
-#
-# The submission process automatically checks to make sure
-# that people submitting code are listed in this file (by email address).
-#
-# Names should be added to this file only after verifying that
-# the individual or the individual's organization has agreed to
-# the appropriate Contributor License Agreement, found here:
-#
-# http://code.google.com/legal/individual-cla-v1.0.html
-# http://code.google.com/legal/corporate-cla-v1.0.html
-#
-# The agreement for individuals can be filled out on the web.
-#
-# When adding J Random Contributor's name to this file,
-# either J's name or J's organization's name should be
-# added to the AUTHORS file, depending on whether the
-# individual or corporate CLA was used.
-
-# Names should be added to this file like so:
-# Name
-#
-# An entry with two email addresses specifies that the
-# first address should be used in the submit logs and
-# that the second address should be recognized as the
-# same person when interacting with Rietveld.
-
-# Please keep the list sorted.
-
-Aaron Jacobs
-Alex Reece
-David Symonds
-Ryan Barrett
diff --git a/vendor/github.com/google/uuid/CHANGELOG.md b/vendor/github.com/google/uuid/CHANGELOG.md
index 2bd78667..c9fb829d 100644
--- a/vendor/github.com/google/uuid/CHANGELOG.md
+++ b/vendor/github.com/google/uuid/CHANGELOG.md
@@ -1,5 +1,23 @@
# Changelog
+## [1.5.0](https://github.com/google/uuid/compare/v1.4.0...v1.5.0) (2023-12-12)
+
+
+### Features
+
+* Validate UUID without creating new UUID ([#141](https://github.com/google/uuid/issues/141)) ([9ee7366](https://github.com/google/uuid/commit/9ee7366e66c9ad96bab89139418a713dc584ae29))
+
+## [1.4.0](https://github.com/google/uuid/compare/v1.3.1...v1.4.0) (2023-10-26)
+
+
+### Features
+
+* UUIDs slice type with Strings() convenience method ([#133](https://github.com/google/uuid/issues/133)) ([cd5fbbd](https://github.com/google/uuid/commit/cd5fbbdd02f3e3467ac18940e07e062be1f864b4))
+
+### Fixes
+
+* Clarify that Parse's job is to parse but not necessarily validate strings. (Documents current behavior)
+
## [1.3.1](https://github.com/google/uuid/compare/v1.3.0...v1.3.1) (2023-08-18)
diff --git a/vendor/github.com/google/uuid/CONTRIBUTING.md b/vendor/github.com/google/uuid/CONTRIBUTING.md
index 55668887..a502fdc5 100644
--- a/vendor/github.com/google/uuid/CONTRIBUTING.md
+++ b/vendor/github.com/google/uuid/CONTRIBUTING.md
@@ -11,7 +11,7 @@ please explain why in the pull request description.
### Releasing
-Commits that would precipitate a SemVer change, as desrcibed in the Conventional
+Commits that would precipitate a SemVer change, as described in the Conventional
Commits Specification, will trigger [`release-please`](https://github.com/google-github-actions/release-please-action)
to create a release candidate pull request. Once submitted, `release-please`
will create a release.
diff --git a/vendor/github.com/google/uuid/time.go b/vendor/github.com/google/uuid/time.go
index e6ef06cd..c3511292 100644
--- a/vendor/github.com/google/uuid/time.go
+++ b/vendor/github.com/google/uuid/time.go
@@ -108,12 +108,23 @@ func setClockSequence(seq int) {
}
// Time returns the time in 100s of nanoseconds since 15 Oct 1582 encoded in
-// uuid. The time is only defined for version 1 and 2 UUIDs.
+// uuid. The time is only defined for version 1, 2, 6 and 7 UUIDs.
func (uuid UUID) Time() Time {
- time := int64(binary.BigEndian.Uint32(uuid[0:4]))
- time |= int64(binary.BigEndian.Uint16(uuid[4:6])) << 32
- time |= int64(binary.BigEndian.Uint16(uuid[6:8])&0xfff) << 48
- return Time(time)
+ var t Time
+ switch uuid.Version() {
+ case 6:
+ time := binary.BigEndian.Uint64(uuid[:8]) // Ignore uuid[6] version b0110
+ t = Time(time)
+ case 7:
+ time := binary.BigEndian.Uint64(uuid[:8])
+ t = Time((time>>16)*10000 + g1582ns100)
+ default: // forward compatible
+ time := int64(binary.BigEndian.Uint32(uuid[0:4]))
+ time |= int64(binary.BigEndian.Uint16(uuid[4:6])) << 32
+ time |= int64(binary.BigEndian.Uint16(uuid[6:8])&0xfff) << 48
+ t = Time(time)
+ }
+ return t
}
// ClockSequence returns the clock sequence encoded in uuid.
diff --git a/vendor/github.com/google/uuid/uuid.go b/vendor/github.com/google/uuid/uuid.go
index a56138cc..5232b486 100644
--- a/vendor/github.com/google/uuid/uuid.go
+++ b/vendor/github.com/google/uuid/uuid.go
@@ -56,11 +56,15 @@ func IsInvalidLengthError(err error) bool {
return ok
}
-// Parse decodes s into a UUID or returns an error. Both the standard UUID
-// forms of xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx and
-// urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx are decoded as well as the
-// Microsoft encoding {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} and the raw hex
-// encoding: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
+// Parse decodes s into a UUID or returns an error if it cannot be parsed. Both
+// the standard UUID forms defined in RFC 4122
+// (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx and
+// urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx) are decoded. In addition,
+// Parse accepts non-standard strings such as the raw hex encoding
+// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx and 38 byte "Microsoft style" encodings,
+// e.g. {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}. Only the middle 36 bytes are
+// examined in the latter case. Parse should not be used to validate strings as
+// it parses non-standard encodings as indicated above.
func Parse(s string) (UUID, error) {
var uuid UUID
switch len(s) {
@@ -182,6 +186,59 @@ func Must(uuid UUID, err error) UUID {
return uuid
}
+// Validate returns an error if s is not a properly formatted UUID in one of the following formats:
+// xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+// urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
+// xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
+// {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}
+// It returns an error if the format is invalid, otherwise nil.
+func Validate(s string) error {
+ switch len(s) {
+ // Standard UUID format
+ case 36:
+
+ // UUID with "urn:uuid:" prefix
+ case 36 + 9:
+ if !strings.EqualFold(s[:9], "urn:uuid:") {
+ return fmt.Errorf("invalid urn prefix: %q", s[:9])
+ }
+ s = s[9:]
+
+ // UUID enclosed in braces
+ case 36 + 2:
+ if s[0] != '{' || s[len(s)-1] != '}' {
+ return fmt.Errorf("invalid bracketed UUID format")
+ }
+ s = s[1 : len(s)-1]
+
+ // UUID without hyphens
+ case 32:
+ for i := 0; i < len(s); i += 2 {
+ _, ok := xtob(s[i], s[i+1])
+ if !ok {
+ return errors.New("invalid UUID format")
+ }
+ }
+
+ default:
+ return invalidLengthError{len(s)}
+ }
+
+ // Check for standard UUID format
+ if len(s) == 36 {
+ if s[8] != '-' || s[13] != '-' || s[18] != '-' || s[23] != '-' {
+ return errors.New("invalid UUID format")
+ }
+ for _, x := range []int{0, 2, 4, 6, 9, 11, 14, 16, 19, 21, 24, 26, 28, 30, 32, 34} {
+ if _, ok := xtob(s[x], s[x+1]); !ok {
+ return errors.New("invalid UUID format")
+ }
+ }
+ }
+
+ return nil
+}
+
// String returns the string form of uuid, xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
// , or "" if uuid is invalid.
func (uuid UUID) String() string {
@@ -294,3 +351,15 @@ func DisableRandPool() {
poolMu.Lock()
poolPos = randPoolSize
}
+
+// UUIDs is a slice of UUID types.
+type UUIDs []UUID
+
+// Strings returns a string slice containing the string form of each UUID in uuids.
+func (uuids UUIDs) Strings() []string {
+ var uuidStrs = make([]string, len(uuids))
+ for i, uuid := range uuids {
+ uuidStrs[i] = uuid.String()
+ }
+ return uuidStrs
+}
diff --git a/vendor/github.com/google/uuid/version6.go b/vendor/github.com/google/uuid/version6.go
new file mode 100644
index 00000000..339a959a
--- /dev/null
+++ b/vendor/github.com/google/uuid/version6.go
@@ -0,0 +1,56 @@
+// Copyright 2023 Google Inc. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package uuid
+
+import "encoding/binary"
+
+// UUID version 6 is a field-compatible version of UUIDv1, reordered for improved DB locality.
+// It is expected that UUIDv6 will primarily be used in contexts where there are existing v1 UUIDs.
+// Systems that do not involve legacy UUIDv1 SHOULD consider using UUIDv7 instead.
+//
+// see https://datatracker.ietf.org/doc/html/draft-peabody-dispatch-new-uuid-format-03#uuidv6
+//
+// NewV6 returns a Version 6 UUID based on the current NodeID and clock
+// sequence, and the current time. If the NodeID has not been set by SetNodeID
+// or SetNodeInterface then it will be set automatically. If the NodeID cannot
+// be set NewV6 set NodeID is random bits automatically . If clock sequence has not been set by
+// SetClockSequence then it will be set automatically. If GetTime fails to
+// return the current NewV6 returns Nil and an error.
+func NewV6() (UUID, error) {
+ var uuid UUID
+ now, seq, err := GetTime()
+ if err != nil {
+ return uuid, err
+ }
+
+ /*
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | time_high |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | time_mid | time_low_and_version |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |clk_seq_hi_res | clk_seq_low | node (0-1) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | node (2-5) |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ */
+
+ binary.BigEndian.PutUint64(uuid[0:], uint64(now))
+ binary.BigEndian.PutUint16(uuid[8:], seq)
+
+ uuid[6] = 0x60 | (uuid[6] & 0x0F)
+ uuid[8] = 0x80 | (uuid[8] & 0x3F)
+
+ nodeMu.Lock()
+ if nodeID == zeroID {
+ setNodeInterface("")
+ }
+ copy(uuid[10:], nodeID[:])
+ nodeMu.Unlock()
+
+ return uuid, nil
+}
diff --git a/vendor/github.com/google/uuid/version7.go b/vendor/github.com/google/uuid/version7.go
new file mode 100644
index 00000000..ba9dd5eb
--- /dev/null
+++ b/vendor/github.com/google/uuid/version7.go
@@ -0,0 +1,75 @@
+// Copyright 2023 Google Inc. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package uuid
+
+import (
+ "io"
+)
+
+// UUID version 7 features a time-ordered value field derived from the widely
+// implemented and well known Unix Epoch timestamp source,
+// the number of milliseconds seconds since midnight 1 Jan 1970 UTC, leap seconds excluded.
+// As well as improved entropy characteristics over versions 1 or 6.
+//
+// see https://datatracker.ietf.org/doc/html/draft-peabody-dispatch-new-uuid-format-03#name-uuid-version-7
+//
+// Implementations SHOULD utilize UUID version 7 over UUID version 1 and 6 if possible.
+//
+// NewV7 returns a Version 7 UUID based on the current time(Unix Epoch).
+// Uses the randomness pool if it was enabled with EnableRandPool.
+// On error, NewV7 returns Nil and an error
+func NewV7() (UUID, error) {
+ uuid, err := NewRandom()
+ if err != nil {
+ return uuid, err
+ }
+ makeV7(uuid[:])
+ return uuid, nil
+}
+
+// NewV7FromReader returns a Version 7 UUID based on the current time(Unix Epoch).
+// it use NewRandomFromReader fill random bits.
+// On error, NewV7FromReader returns Nil and an error.
+func NewV7FromReader(r io.Reader) (UUID, error) {
+ uuid, err := NewRandomFromReader(r)
+ if err != nil {
+ return uuid, err
+ }
+
+ makeV7(uuid[:])
+ return uuid, nil
+}
+
+// makeV7 fill 48 bits time (uuid[0] - uuid[5]), set version b0111 (uuid[6])
+// uuid[8] already has the right version number (Variant is 10)
+// see function NewV7 and NewV7FromReader
+func makeV7(uuid []byte) {
+ /*
+ 0 1 2 3
+ 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | unix_ts_ms |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | unix_ts_ms | ver | rand_a |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ |var| rand_b |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ | rand_b |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
+ */
+ _ = uuid[15] // bounds check
+
+ t := timeNow().UnixMilli()
+
+ uuid[0] = byte(t >> 40)
+ uuid[1] = byte(t >> 32)
+ uuid[2] = byte(t >> 24)
+ uuid[3] = byte(t >> 16)
+ uuid[4] = byte(t >> 8)
+ uuid[5] = byte(t)
+
+ uuid[6] = 0x70 | (uuid[6] & 0x0F)
+ // uuid[8] has already has right version
+}
diff --git a/vendor/github.com/klauspost/cpuid/v2/README.md b/vendor/github.com/klauspost/cpuid/v2/README.md
index accd7aba..30f8d296 100644
--- a/vendor/github.com/klauspost/cpuid/v2/README.md
+++ b/vendor/github.com/klauspost/cpuid/v2/README.md
@@ -9,10 +9,7 @@ You can access the CPU information by accessing the shared CPU variable of the c
Package home: https://github.com/klauspost/cpuid
[![PkgGoDev](https://pkg.go.dev/badge/github.com/klauspost/cpuid)](https://pkg.go.dev/github.com/klauspost/cpuid/v2)
-[![Build Status][3]][4]
-
-[3]: https://travis-ci.org/klauspost/cpuid.svg?branch=master
-[4]: https://travis-ci.org/klauspost/cpuid
+[![Go](https://github.com/klauspost/cpuid/actions/workflows/go.yml/badge.svg)](https://github.com/klauspost/cpuid/actions/workflows/go.yml)
## installing
@@ -285,7 +282,12 @@ Exit Code 1
| AMXINT8 | Tile computational operations on 8-bit integers |
| AMXFP16 | Tile computational operations on FP16 numbers |
| AMXTILE | Tile architecture |
+| APX_F | Intel APX |
| AVX | AVX functions |
+| AVX10 | If set the Intel AVX10 Converged Vector ISA is supported |
+| AVX10_128 | If set indicates that AVX10 128-bit vector support is present |
+| AVX10_256 | If set indicates that AVX10 256-bit vector support is present |
+| AVX10_512 | If set indicates that AVX10 512-bit vector support is present |
| AVX2 | AVX2 functions |
| AVX512BF16 | AVX-512 BFLOAT16 Instructions |
| AVX512BITALG | AVX-512 Bit Algorithms |
@@ -365,6 +367,8 @@ Exit Code 1
| IDPRED_CTRL | IPRED_DIS |
| INT_WBINVD | WBINVD/WBNOINVD are interruptible. |
| INVLPGB | NVLPGB and TLBSYNC instruction supported |
+| KEYLOCKER | Key locker |
+| KEYLOCKERW | Key locker wide |
| LAHF | LAHF/SAHF in long mode |
| LAM | If set, CPU supports Linear Address Masking |
| LBRVIRT | LBR virtualization |
@@ -380,7 +384,7 @@ Exit Code 1
| MOVDIRI | Move Doubleword as Direct Store |
| MOVSB_ZL | Fast Zero-Length MOVSB |
| MPX | Intel MPX (Memory Protection Extensions) |
-| MOVU | MOVU SSE instructions are more efficient and should be preferred to SSE MOVL/MOVH. MOVUPS is more efficient than MOVLPS/MOVHPS. MOVUPD is more efficient than MOVLPD/MOVHPD |
+| MOVU | MOVU SSE instructions are more efficient and should be preferred to SSE MOVL/MOVH. MOVUPS is more efficient than MOVLPS/MOVHPS. MOVUPD is more efficient than MOVLPD/MOVHPD |
| MSRIRC | Instruction Retired Counter MSR available |
| MSRLIST | Read/Write List of Model Specific Registers |
| MSR_PAGEFLUSH | Page Flush MSR available |
diff --git a/vendor/github.com/klauspost/cpuid/v2/cpuid.go b/vendor/github.com/klauspost/cpuid/v2/cpuid.go
index d015c744..15b76033 100644
--- a/vendor/github.com/klauspost/cpuid/v2/cpuid.go
+++ b/vendor/github.com/klauspost/cpuid/v2/cpuid.go
@@ -76,7 +76,12 @@ const (
AMXFP16 // Tile computational operations on FP16 numbers
AMXINT8 // Tile computational operations on 8-bit integers
AMXTILE // Tile architecture
+ APX_F // Intel APX
AVX // AVX functions
+ AVX10 // If set the Intel AVX10 Converged Vector ISA is supported
+ AVX10_128 // If set indicates that AVX10 128-bit vector support is present
+ AVX10_256 // If set indicates that AVX10 256-bit vector support is present
+ AVX10_512 // If set indicates that AVX10 512-bit vector support is present
AVX2 // AVX2 functions
AVX512BF16 // AVX-512 BFLOAT16 Instructions
AVX512BITALG // AVX-512 Bit Algorithms
@@ -156,6 +161,8 @@ const (
IDPRED_CTRL // IPRED_DIS
INT_WBINVD // WBINVD/WBNOINVD are interruptible.
INVLPGB // NVLPGB and TLBSYNC instruction supported
+ KEYLOCKER // Key locker
+ KEYLOCKERW // Key locker wide
LAHF // LAHF/SAHF in long mode
LAM // If set, CPU supports Linear Address Masking
LBRVIRT // LBR virtualization
@@ -302,9 +309,10 @@ type CPUInfo struct {
L2 int // L2 Cache (per core or shared). Will be -1 if undetected
L3 int // L3 Cache (per core, per ccx or shared). Will be -1 if undetected
}
- SGX SGXSupport
- maxFunc uint32
- maxExFunc uint32
+ SGX SGXSupport
+ AVX10Level uint8
+ maxFunc uint32
+ maxExFunc uint32
}
var cpuid func(op uint32) (eax, ebx, ecx, edx uint32)
@@ -1165,6 +1173,7 @@ func support() flagSet {
fs.setIf(ecx&(1<<10) != 0, VPCLMULQDQ)
fs.setIf(ecx&(1<<13) != 0, TME)
fs.setIf(ecx&(1<<25) != 0, CLDEMOTE)
+ fs.setIf(ecx&(1<<23) != 0, KEYLOCKER)
fs.setIf(ecx&(1<<27) != 0, MOVDIRI)
fs.setIf(ecx&(1<<28) != 0, MOVDIR64B)
fs.setIf(ecx&(1<<29) != 0, ENQCMD)
@@ -1202,6 +1211,8 @@ func support() flagSet {
fs.setIf(edx1&(1<<4) != 0, AVXVNNIINT8)
fs.setIf(edx1&(1<<5) != 0, AVXNECONVERT)
fs.setIf(edx1&(1<<14) != 0, PREFETCHI)
+ fs.setIf(edx1&(1<<19) != 0, AVX10)
+ fs.setIf(edx1&(1<<21) != 0, APX_F)
// Only detect AVX-512 features if XGETBV is supported
if c&((1<<26)|(1<<27)) == (1<<26)|(1<<27) {
@@ -1252,6 +1263,19 @@ func support() flagSet {
fs.setIf(edx&(1<<4) != 0, BHI_CTRL)
fs.setIf(edx&(1<<5) != 0, MCDT_NO)
+ // Add keylocker features.
+ if fs.inSet(KEYLOCKER) && mfi >= 0x19 {
+ _, ebx, _, _ := cpuidex(0x19, 0)
+ fs.setIf(ebx&5 == 5, KEYLOCKERW) // Bit 0 and 2 (1+4)
+ }
+
+ // Add AVX10 features.
+ if fs.inSet(AVX10) && mfi >= 0x24 {
+ _, ebx, _, _ := cpuidex(0x24, 0)
+ fs.setIf(ebx&(1<<16) != 0, AVX10_128)
+ fs.setIf(ebx&(1<<17) != 0, AVX10_256)
+ fs.setIf(ebx&(1<<18) != 0, AVX10_512)
+ }
}
// Processor Extended State Enumeration Sub-leaf (EAX = 0DH, ECX = 1)
@@ -1394,6 +1418,20 @@ func support() flagSet {
fs.setIf((a>>24)&1 == 1, VMSA_REGPROT)
}
+ if mfi >= 0x20 {
+ // Microsoft has decided to purposefully hide the information
+ // of the guest TEE when VMs are being created using Hyper-V.
+ //
+ // This leads us to check for the Hyper-V cpuid features
+ // (0x4000000C), and then for the `ebx` value set.
+ //
+ // For Intel TDX, `ebx` is set as `0xbe3`, being 3 the part
+ // we're mostly interested about,according to:
+ // https://github.com/torvalds/linux/blob/d2f51b3516dade79269ff45eae2a7668ae711b25/arch/x86/include/asm/hyperv-tlfs.h#L169-L174
+ _, ebx, _, _ := cpuid(0x4000000C)
+ fs.setIf(ebx == 0xbe3, TDX_GUEST)
+ }
+
if mfi >= 0x21 {
// Intel Trusted Domain Extensions Guests have their own cpuid leaf (0x21).
_, ebx, ecx, edx := cpuid(0x21)
@@ -1404,6 +1442,14 @@ func support() flagSet {
return fs
}
+func (c *CPUInfo) supportAVX10() uint8 {
+ if c.maxFunc >= 0x24 && c.featureSet.inSet(AVX10) {
+ _, ebx, _, _ := cpuidex(0x24, 0)
+ return uint8(ebx)
+ }
+ return 0
+}
+
func valAsString(values ...uint32) []byte {
r := make([]byte, 4*len(values))
for i, v := range values {
diff --git a/vendor/github.com/klauspost/cpuid/v2/detect_x86.go b/vendor/github.com/klauspost/cpuid/v2/detect_x86.go
index c946824e..c7dfa125 100644
--- a/vendor/github.com/klauspost/cpuid/v2/detect_x86.go
+++ b/vendor/github.com/klauspost/cpuid/v2/detect_x86.go
@@ -31,6 +31,7 @@ func addInfo(c *CPUInfo, safe bool) {
c.LogicalCores = logicalCores()
c.PhysicalCores = physicalCores()
c.VendorID, c.VendorString = vendorID()
+ c.AVX10Level = c.supportAVX10()
c.cacheSize()
c.frequencies()
}
diff --git a/vendor/github.com/klauspost/cpuid/v2/featureid_string.go b/vendor/github.com/klauspost/cpuid/v2/featureid_string.go
index 024c706a..43bd05f5 100644
--- a/vendor/github.com/klauspost/cpuid/v2/featureid_string.go
+++ b/vendor/github.com/klauspost/cpuid/v2/featureid_string.go
@@ -16,210 +16,217 @@ func _() {
_ = x[AMXFP16-6]
_ = x[AMXINT8-7]
_ = x[AMXTILE-8]
- _ = x[AVX-9]
- _ = x[AVX2-10]
- _ = x[AVX512BF16-11]
- _ = x[AVX512BITALG-12]
- _ = x[AVX512BW-13]
- _ = x[AVX512CD-14]
- _ = x[AVX512DQ-15]
- _ = x[AVX512ER-16]
- _ = x[AVX512F-17]
- _ = x[AVX512FP16-18]
- _ = x[AVX512IFMA-19]
- _ = x[AVX512PF-20]
- _ = x[AVX512VBMI-21]
- _ = x[AVX512VBMI2-22]
- _ = x[AVX512VL-23]
- _ = x[AVX512VNNI-24]
- _ = x[AVX512VP2INTERSECT-25]
- _ = x[AVX512VPOPCNTDQ-26]
- _ = x[AVXIFMA-27]
- _ = x[AVXNECONVERT-28]
- _ = x[AVXSLOW-29]
- _ = x[AVXVNNI-30]
- _ = x[AVXVNNIINT8-31]
- _ = x[BHI_CTRL-32]
- _ = x[BMI1-33]
- _ = x[BMI2-34]
- _ = x[CETIBT-35]
- _ = x[CETSS-36]
- _ = x[CLDEMOTE-37]
- _ = x[CLMUL-38]
- _ = x[CLZERO-39]
- _ = x[CMOV-40]
- _ = x[CMPCCXADD-41]
- _ = x[CMPSB_SCADBS_SHORT-42]
- _ = x[CMPXCHG8-43]
- _ = x[CPBOOST-44]
- _ = x[CPPC-45]
- _ = x[CX16-46]
- _ = x[EFER_LMSLE_UNS-47]
- _ = x[ENQCMD-48]
- _ = x[ERMS-49]
- _ = x[F16C-50]
- _ = x[FLUSH_L1D-51]
- _ = x[FMA3-52]
- _ = x[FMA4-53]
- _ = x[FP128-54]
- _ = x[FP256-55]
- _ = x[FSRM-56]
- _ = x[FXSR-57]
- _ = x[FXSROPT-58]
- _ = x[GFNI-59]
- _ = x[HLE-60]
- _ = x[HRESET-61]
- _ = x[HTT-62]
- _ = x[HWA-63]
- _ = x[HYBRID_CPU-64]
- _ = x[HYPERVISOR-65]
- _ = x[IA32_ARCH_CAP-66]
- _ = x[IA32_CORE_CAP-67]
- _ = x[IBPB-68]
- _ = x[IBRS-69]
- _ = x[IBRS_PREFERRED-70]
- _ = x[IBRS_PROVIDES_SMP-71]
- _ = x[IBS-72]
- _ = x[IBSBRNTRGT-73]
- _ = x[IBSFETCHSAM-74]
- _ = x[IBSFFV-75]
- _ = x[IBSOPCNT-76]
- _ = x[IBSOPCNTEXT-77]
- _ = x[IBSOPSAM-78]
- _ = x[IBSRDWROPCNT-79]
- _ = x[IBSRIPINVALIDCHK-80]
- _ = x[IBS_FETCH_CTLX-81]
- _ = x[IBS_OPDATA4-82]
- _ = x[IBS_OPFUSE-83]
- _ = x[IBS_PREVENTHOST-84]
- _ = x[IBS_ZEN4-85]
- _ = x[IDPRED_CTRL-86]
- _ = x[INT_WBINVD-87]
- _ = x[INVLPGB-88]
- _ = x[LAHF-89]
- _ = x[LAM-90]
- _ = x[LBRVIRT-91]
- _ = x[LZCNT-92]
- _ = x[MCAOVERFLOW-93]
- _ = x[MCDT_NO-94]
- _ = x[MCOMMIT-95]
- _ = x[MD_CLEAR-96]
- _ = x[MMX-97]
- _ = x[MMXEXT-98]
- _ = x[MOVBE-99]
- _ = x[MOVDIR64B-100]
- _ = x[MOVDIRI-101]
- _ = x[MOVSB_ZL-102]
- _ = x[MOVU-103]
- _ = x[MPX-104]
- _ = x[MSRIRC-105]
- _ = x[MSRLIST-106]
- _ = x[MSR_PAGEFLUSH-107]
- _ = x[NRIPS-108]
- _ = x[NX-109]
- _ = x[OSXSAVE-110]
- _ = x[PCONFIG-111]
- _ = x[POPCNT-112]
- _ = x[PPIN-113]
- _ = x[PREFETCHI-114]
- _ = x[PSFD-115]
- _ = x[RDPRU-116]
- _ = x[RDRAND-117]
- _ = x[RDSEED-118]
- _ = x[RDTSCP-119]
- _ = x[RRSBA_CTRL-120]
- _ = x[RTM-121]
- _ = x[RTM_ALWAYS_ABORT-122]
- _ = x[SERIALIZE-123]
- _ = x[SEV-124]
- _ = x[SEV_64BIT-125]
- _ = x[SEV_ALTERNATIVE-126]
- _ = x[SEV_DEBUGSWAP-127]
- _ = x[SEV_ES-128]
- _ = x[SEV_RESTRICTED-129]
- _ = x[SEV_SNP-130]
- _ = x[SGX-131]
- _ = x[SGXLC-132]
- _ = x[SHA-133]
- _ = x[SME-134]
- _ = x[SME_COHERENT-135]
- _ = x[SPEC_CTRL_SSBD-136]
- _ = x[SRBDS_CTRL-137]
- _ = x[SSE-138]
- _ = x[SSE2-139]
- _ = x[SSE3-140]
- _ = x[SSE4-141]
- _ = x[SSE42-142]
- _ = x[SSE4A-143]
- _ = x[SSSE3-144]
- _ = x[STIBP-145]
- _ = x[STIBP_ALWAYSON-146]
- _ = x[STOSB_SHORT-147]
- _ = x[SUCCOR-148]
- _ = x[SVM-149]
- _ = x[SVMDA-150]
- _ = x[SVMFBASID-151]
- _ = x[SVML-152]
- _ = x[SVMNP-153]
- _ = x[SVMPF-154]
- _ = x[SVMPFT-155]
- _ = x[SYSCALL-156]
- _ = x[SYSEE-157]
- _ = x[TBM-158]
- _ = x[TDX_GUEST-159]
- _ = x[TLB_FLUSH_NESTED-160]
- _ = x[TME-161]
- _ = x[TOPEXT-162]
- _ = x[TSCRATEMSR-163]
- _ = x[TSXLDTRK-164]
- _ = x[VAES-165]
- _ = x[VMCBCLEAN-166]
- _ = x[VMPL-167]
- _ = x[VMSA_REGPROT-168]
- _ = x[VMX-169]
- _ = x[VPCLMULQDQ-170]
- _ = x[VTE-171]
- _ = x[WAITPKG-172]
- _ = x[WBNOINVD-173]
- _ = x[WRMSRNS-174]
- _ = x[X87-175]
- _ = x[XGETBV1-176]
- _ = x[XOP-177]
- _ = x[XSAVE-178]
- _ = x[XSAVEC-179]
- _ = x[XSAVEOPT-180]
- _ = x[XSAVES-181]
- _ = x[AESARM-182]
- _ = x[ARMCPUID-183]
- _ = x[ASIMD-184]
- _ = x[ASIMDDP-185]
- _ = x[ASIMDHP-186]
- _ = x[ASIMDRDM-187]
- _ = x[ATOMICS-188]
- _ = x[CRC32-189]
- _ = x[DCPOP-190]
- _ = x[EVTSTRM-191]
- _ = x[FCMA-192]
- _ = x[FP-193]
- _ = x[FPHP-194]
- _ = x[GPA-195]
- _ = x[JSCVT-196]
- _ = x[LRCPC-197]
- _ = x[PMULL-198]
- _ = x[SHA1-199]
- _ = x[SHA2-200]
- _ = x[SHA3-201]
- _ = x[SHA512-202]
- _ = x[SM3-203]
- _ = x[SM4-204]
- _ = x[SVE-205]
- _ = x[lastID-206]
+ _ = x[APX_F-9]
+ _ = x[AVX-10]
+ _ = x[AVX10-11]
+ _ = x[AVX10_128-12]
+ _ = x[AVX10_256-13]
+ _ = x[AVX10_512-14]
+ _ = x[AVX2-15]
+ _ = x[AVX512BF16-16]
+ _ = x[AVX512BITALG-17]
+ _ = x[AVX512BW-18]
+ _ = x[AVX512CD-19]
+ _ = x[AVX512DQ-20]
+ _ = x[AVX512ER-21]
+ _ = x[AVX512F-22]
+ _ = x[AVX512FP16-23]
+ _ = x[AVX512IFMA-24]
+ _ = x[AVX512PF-25]
+ _ = x[AVX512VBMI-26]
+ _ = x[AVX512VBMI2-27]
+ _ = x[AVX512VL-28]
+ _ = x[AVX512VNNI-29]
+ _ = x[AVX512VP2INTERSECT-30]
+ _ = x[AVX512VPOPCNTDQ-31]
+ _ = x[AVXIFMA-32]
+ _ = x[AVXNECONVERT-33]
+ _ = x[AVXSLOW-34]
+ _ = x[AVXVNNI-35]
+ _ = x[AVXVNNIINT8-36]
+ _ = x[BHI_CTRL-37]
+ _ = x[BMI1-38]
+ _ = x[BMI2-39]
+ _ = x[CETIBT-40]
+ _ = x[CETSS-41]
+ _ = x[CLDEMOTE-42]
+ _ = x[CLMUL-43]
+ _ = x[CLZERO-44]
+ _ = x[CMOV-45]
+ _ = x[CMPCCXADD-46]
+ _ = x[CMPSB_SCADBS_SHORT-47]
+ _ = x[CMPXCHG8-48]
+ _ = x[CPBOOST-49]
+ _ = x[CPPC-50]
+ _ = x[CX16-51]
+ _ = x[EFER_LMSLE_UNS-52]
+ _ = x[ENQCMD-53]
+ _ = x[ERMS-54]
+ _ = x[F16C-55]
+ _ = x[FLUSH_L1D-56]
+ _ = x[FMA3-57]
+ _ = x[FMA4-58]
+ _ = x[FP128-59]
+ _ = x[FP256-60]
+ _ = x[FSRM-61]
+ _ = x[FXSR-62]
+ _ = x[FXSROPT-63]
+ _ = x[GFNI-64]
+ _ = x[HLE-65]
+ _ = x[HRESET-66]
+ _ = x[HTT-67]
+ _ = x[HWA-68]
+ _ = x[HYBRID_CPU-69]
+ _ = x[HYPERVISOR-70]
+ _ = x[IA32_ARCH_CAP-71]
+ _ = x[IA32_CORE_CAP-72]
+ _ = x[IBPB-73]
+ _ = x[IBRS-74]
+ _ = x[IBRS_PREFERRED-75]
+ _ = x[IBRS_PROVIDES_SMP-76]
+ _ = x[IBS-77]
+ _ = x[IBSBRNTRGT-78]
+ _ = x[IBSFETCHSAM-79]
+ _ = x[IBSFFV-80]
+ _ = x[IBSOPCNT-81]
+ _ = x[IBSOPCNTEXT-82]
+ _ = x[IBSOPSAM-83]
+ _ = x[IBSRDWROPCNT-84]
+ _ = x[IBSRIPINVALIDCHK-85]
+ _ = x[IBS_FETCH_CTLX-86]
+ _ = x[IBS_OPDATA4-87]
+ _ = x[IBS_OPFUSE-88]
+ _ = x[IBS_PREVENTHOST-89]
+ _ = x[IBS_ZEN4-90]
+ _ = x[IDPRED_CTRL-91]
+ _ = x[INT_WBINVD-92]
+ _ = x[INVLPGB-93]
+ _ = x[KEYLOCKER-94]
+ _ = x[KEYLOCKERW-95]
+ _ = x[LAHF-96]
+ _ = x[LAM-97]
+ _ = x[LBRVIRT-98]
+ _ = x[LZCNT-99]
+ _ = x[MCAOVERFLOW-100]
+ _ = x[MCDT_NO-101]
+ _ = x[MCOMMIT-102]
+ _ = x[MD_CLEAR-103]
+ _ = x[MMX-104]
+ _ = x[MMXEXT-105]
+ _ = x[MOVBE-106]
+ _ = x[MOVDIR64B-107]
+ _ = x[MOVDIRI-108]
+ _ = x[MOVSB_ZL-109]
+ _ = x[MOVU-110]
+ _ = x[MPX-111]
+ _ = x[MSRIRC-112]
+ _ = x[MSRLIST-113]
+ _ = x[MSR_PAGEFLUSH-114]
+ _ = x[NRIPS-115]
+ _ = x[NX-116]
+ _ = x[OSXSAVE-117]
+ _ = x[PCONFIG-118]
+ _ = x[POPCNT-119]
+ _ = x[PPIN-120]
+ _ = x[PREFETCHI-121]
+ _ = x[PSFD-122]
+ _ = x[RDPRU-123]
+ _ = x[RDRAND-124]
+ _ = x[RDSEED-125]
+ _ = x[RDTSCP-126]
+ _ = x[RRSBA_CTRL-127]
+ _ = x[RTM-128]
+ _ = x[RTM_ALWAYS_ABORT-129]
+ _ = x[SERIALIZE-130]
+ _ = x[SEV-131]
+ _ = x[SEV_64BIT-132]
+ _ = x[SEV_ALTERNATIVE-133]
+ _ = x[SEV_DEBUGSWAP-134]
+ _ = x[SEV_ES-135]
+ _ = x[SEV_RESTRICTED-136]
+ _ = x[SEV_SNP-137]
+ _ = x[SGX-138]
+ _ = x[SGXLC-139]
+ _ = x[SHA-140]
+ _ = x[SME-141]
+ _ = x[SME_COHERENT-142]
+ _ = x[SPEC_CTRL_SSBD-143]
+ _ = x[SRBDS_CTRL-144]
+ _ = x[SSE-145]
+ _ = x[SSE2-146]
+ _ = x[SSE3-147]
+ _ = x[SSE4-148]
+ _ = x[SSE42-149]
+ _ = x[SSE4A-150]
+ _ = x[SSSE3-151]
+ _ = x[STIBP-152]
+ _ = x[STIBP_ALWAYSON-153]
+ _ = x[STOSB_SHORT-154]
+ _ = x[SUCCOR-155]
+ _ = x[SVM-156]
+ _ = x[SVMDA-157]
+ _ = x[SVMFBASID-158]
+ _ = x[SVML-159]
+ _ = x[SVMNP-160]
+ _ = x[SVMPF-161]
+ _ = x[SVMPFT-162]
+ _ = x[SYSCALL-163]
+ _ = x[SYSEE-164]
+ _ = x[TBM-165]
+ _ = x[TDX_GUEST-166]
+ _ = x[TLB_FLUSH_NESTED-167]
+ _ = x[TME-168]
+ _ = x[TOPEXT-169]
+ _ = x[TSCRATEMSR-170]
+ _ = x[TSXLDTRK-171]
+ _ = x[VAES-172]
+ _ = x[VMCBCLEAN-173]
+ _ = x[VMPL-174]
+ _ = x[VMSA_REGPROT-175]
+ _ = x[VMX-176]
+ _ = x[VPCLMULQDQ-177]
+ _ = x[VTE-178]
+ _ = x[WAITPKG-179]
+ _ = x[WBNOINVD-180]
+ _ = x[WRMSRNS-181]
+ _ = x[X87-182]
+ _ = x[XGETBV1-183]
+ _ = x[XOP-184]
+ _ = x[XSAVE-185]
+ _ = x[XSAVEC-186]
+ _ = x[XSAVEOPT-187]
+ _ = x[XSAVES-188]
+ _ = x[AESARM-189]
+ _ = x[ARMCPUID-190]
+ _ = x[ASIMD-191]
+ _ = x[ASIMDDP-192]
+ _ = x[ASIMDHP-193]
+ _ = x[ASIMDRDM-194]
+ _ = x[ATOMICS-195]
+ _ = x[CRC32-196]
+ _ = x[DCPOP-197]
+ _ = x[EVTSTRM-198]
+ _ = x[FCMA-199]
+ _ = x[FP-200]
+ _ = x[FPHP-201]
+ _ = x[GPA-202]
+ _ = x[JSCVT-203]
+ _ = x[LRCPC-204]
+ _ = x[PMULL-205]
+ _ = x[SHA1-206]
+ _ = x[SHA2-207]
+ _ = x[SHA3-208]
+ _ = x[SHA512-209]
+ _ = x[SM3-210]
+ _ = x[SM4-211]
+ _ = x[SVE-212]
+ _ = x[lastID-213]
_ = x[firstID-0]
}
-const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXFP16AMXINT8AMXTILEAVXAVX2AVX512BF16AVX512BITALGAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXIFMAAVXNECONVERTAVXSLOWAVXVNNIAVXVNNIINT8BHI_CTRLBMI1BMI2CETIBTCETSSCLDEMOTECLMULCLZEROCMOVCMPCCXADDCMPSB_SCADBS_SHORTCMPXCHG8CPBOOSTCPPCCX16EFER_LMSLE_UNSENQCMDERMSF16CFLUSH_L1DFMA3FMA4FP128FP256FSRMFXSRFXSROPTGFNIHLEHRESETHTTHWAHYBRID_CPUHYPERVISORIA32_ARCH_CAPIA32_CORE_CAPIBPBIBRSIBRS_PREFERREDIBRS_PROVIDES_SMPIBSIBSBRNTRGTIBSFETCHSAMIBSFFVIBSOPCNTIBSOPCNTEXTIBSOPSAMIBSRDWROPCNTIBSRIPINVALIDCHKIBS_FETCH_CTLXIBS_OPDATA4IBS_OPFUSEIBS_PREVENTHOSTIBS_ZEN4IDPRED_CTRLINT_WBINVDINVLPGBLAHFLAMLBRVIRTLZCNTMCAOVERFLOWMCDT_NOMCOMMITMD_CLEARMMXMMXEXTMOVBEMOVDIR64BMOVDIRIMOVSB_ZLMOVUMPXMSRIRCMSRLISTMSR_PAGEFLUSHNRIPSNXOSXSAVEPCONFIGPOPCNTPPINPREFETCHIPSFDRDPRURDRANDRDSEEDRDTSCPRRSBA_CTRLRTMRTM_ALWAYS_ABORTSERIALIZESEVSEV_64BITSEV_ALTERNATIVESEV_DEBUGSWAPSEV_ESSEV_RESTRICTEDSEV_SNPSGXSGXLCSHASMESME_COHERENTSPEC_CTRL_SSBDSRBDS_CTRLSSESSE2SSE3SSE4SSE42SSE4ASSSE3STIBPSTIBP_ALWAYSONSTOSB_SHORTSUCCORSVMSVMDASVMFBASIDSVMLSVMNPSVMPFSVMPFTSYSCALLSYSEETBMTDX_GUESTTLB_FLUSH_NESTEDTMETOPEXTTSCRATEMSRTSXLDTRKVAESVMCBCLEANVMPLVMSA_REGPROTVMXVPCLMULQDQVTEWAITPKGWBNOINVDWRMSRNSX87XGETBV1XOPXSAVEXSAVECXSAVEOPTXSAVESAESARMARMCPUIDASIMDASIMDDPASIMDHPASIMDRDMATOMICSCRC32DCPOPEVTSTRMFCMAFPFPHPGPAJSCVTLRCPCPMULLSHA1SHA2SHA3SHA512SM3SM4SVElastID"
+const _FeatureID_name = "firstIDADXAESNIAMD3DNOWAMD3DNOWEXTAMXBF16AMXFP16AMXINT8AMXTILEAPX_FAVXAVX10AVX10_128AVX10_256AVX10_512AVX2AVX512BF16AVX512BITALGAVX512BWAVX512CDAVX512DQAVX512ERAVX512FAVX512FP16AVX512IFMAAVX512PFAVX512VBMIAVX512VBMI2AVX512VLAVX512VNNIAVX512VP2INTERSECTAVX512VPOPCNTDQAVXIFMAAVXNECONVERTAVXSLOWAVXVNNIAVXVNNIINT8BHI_CTRLBMI1BMI2CETIBTCETSSCLDEMOTECLMULCLZEROCMOVCMPCCXADDCMPSB_SCADBS_SHORTCMPXCHG8CPBOOSTCPPCCX16EFER_LMSLE_UNSENQCMDERMSF16CFLUSH_L1DFMA3FMA4FP128FP256FSRMFXSRFXSROPTGFNIHLEHRESETHTTHWAHYBRID_CPUHYPERVISORIA32_ARCH_CAPIA32_CORE_CAPIBPBIBRSIBRS_PREFERREDIBRS_PROVIDES_SMPIBSIBSBRNTRGTIBSFETCHSAMIBSFFVIBSOPCNTIBSOPCNTEXTIBSOPSAMIBSRDWROPCNTIBSRIPINVALIDCHKIBS_FETCH_CTLXIBS_OPDATA4IBS_OPFUSEIBS_PREVENTHOSTIBS_ZEN4IDPRED_CTRLINT_WBINVDINVLPGBKEYLOCKERKEYLOCKERWLAHFLAMLBRVIRTLZCNTMCAOVERFLOWMCDT_NOMCOMMITMD_CLEARMMXMMXEXTMOVBEMOVDIR64BMOVDIRIMOVSB_ZLMOVUMPXMSRIRCMSRLISTMSR_PAGEFLUSHNRIPSNXOSXSAVEPCONFIGPOPCNTPPINPREFETCHIPSFDRDPRURDRANDRDSEEDRDTSCPRRSBA_CTRLRTMRTM_ALWAYS_ABORTSERIALIZESEVSEV_64BITSEV_ALTERNATIVESEV_DEBUGSWAPSEV_ESSEV_RESTRICTEDSEV_SNPSGXSGXLCSHASMESME_COHERENTSPEC_CTRL_SSBDSRBDS_CTRLSSESSE2SSE3SSE4SSE42SSE4ASSSE3STIBPSTIBP_ALWAYSONSTOSB_SHORTSUCCORSVMSVMDASVMFBASIDSVMLSVMNPSVMPFSVMPFTSYSCALLSYSEETBMTDX_GUESTTLB_FLUSH_NESTEDTMETOPEXTTSCRATEMSRTSXLDTRKVAESVMCBCLEANVMPLVMSA_REGPROTVMXVPCLMULQDQVTEWAITPKGWBNOINVDWRMSRNSX87XGETBV1XOPXSAVEXSAVECXSAVEOPTXSAVESAESARMARMCPUIDASIMDASIMDDPASIMDHPASIMDRDMATOMICSCRC32DCPOPEVTSTRMFCMAFPFPHPGPAJSCVTLRCPCPMULLSHA1SHA2SHA3SHA512SM3SM4SVElastID"
-var _FeatureID_index = [...]uint16{0, 7, 10, 15, 23, 34, 41, 48, 55, 62, 65, 69, 79, 91, 99, 107, 115, 123, 130, 140, 150, 158, 168, 179, 187, 197, 215, 230, 237, 249, 256, 263, 274, 282, 286, 290, 296, 301, 309, 314, 320, 324, 333, 351, 359, 366, 370, 374, 388, 394, 398, 402, 411, 415, 419, 424, 429, 433, 437, 444, 448, 451, 457, 460, 463, 473, 483, 496, 509, 513, 517, 531, 548, 551, 561, 572, 578, 586, 597, 605, 617, 633, 647, 658, 668, 683, 691, 702, 712, 719, 723, 726, 733, 738, 749, 756, 763, 771, 774, 780, 785, 794, 801, 809, 813, 816, 822, 829, 842, 847, 849, 856, 863, 869, 873, 882, 886, 891, 897, 903, 909, 919, 922, 938, 947, 950, 959, 974, 987, 993, 1007, 1014, 1017, 1022, 1025, 1028, 1040, 1054, 1064, 1067, 1071, 1075, 1079, 1084, 1089, 1094, 1099, 1113, 1124, 1130, 1133, 1138, 1147, 1151, 1156, 1161, 1167, 1174, 1179, 1182, 1191, 1207, 1210, 1216, 1226, 1234, 1238, 1247, 1251, 1263, 1266, 1276, 1279, 1286, 1294, 1301, 1304, 1311, 1314, 1319, 1325, 1333, 1339, 1345, 1353, 1358, 1365, 1372, 1380, 1387, 1392, 1397, 1404, 1408, 1410, 1414, 1417, 1422, 1427, 1432, 1436, 1440, 1444, 1450, 1453, 1456, 1459, 1465}
+var _FeatureID_index = [...]uint16{0, 7, 10, 15, 23, 34, 41, 48, 55, 62, 67, 70, 75, 84, 93, 102, 106, 116, 128, 136, 144, 152, 160, 167, 177, 187, 195, 205, 216, 224, 234, 252, 267, 274, 286, 293, 300, 311, 319, 323, 327, 333, 338, 346, 351, 357, 361, 370, 388, 396, 403, 407, 411, 425, 431, 435, 439, 448, 452, 456, 461, 466, 470, 474, 481, 485, 488, 494, 497, 500, 510, 520, 533, 546, 550, 554, 568, 585, 588, 598, 609, 615, 623, 634, 642, 654, 670, 684, 695, 705, 720, 728, 739, 749, 756, 765, 775, 779, 782, 789, 794, 805, 812, 819, 827, 830, 836, 841, 850, 857, 865, 869, 872, 878, 885, 898, 903, 905, 912, 919, 925, 929, 938, 942, 947, 953, 959, 965, 975, 978, 994, 1003, 1006, 1015, 1030, 1043, 1049, 1063, 1070, 1073, 1078, 1081, 1084, 1096, 1110, 1120, 1123, 1127, 1131, 1135, 1140, 1145, 1150, 1155, 1169, 1180, 1186, 1189, 1194, 1203, 1207, 1212, 1217, 1223, 1230, 1235, 1238, 1247, 1263, 1266, 1272, 1282, 1290, 1294, 1303, 1307, 1319, 1322, 1332, 1335, 1342, 1350, 1357, 1360, 1367, 1370, 1375, 1381, 1389, 1395, 1401, 1409, 1414, 1421, 1428, 1436, 1443, 1448, 1453, 1460, 1464, 1466, 1470, 1473, 1478, 1483, 1488, 1492, 1496, 1500, 1506, 1509, 1512, 1515, 1521}
func (i FeatureID) String() string {
if i < 0 || i >= FeatureID(len(_FeatureID_index)-1) {
diff --git a/vendor/github.com/pelletier/go-toml/v2/.gitignore b/vendor/github.com/pelletier/go-toml/v2/.gitignore
index a69e2b0e..4b7c4eda 100644
--- a/vendor/github.com/pelletier/go-toml/v2/.gitignore
+++ b/vendor/github.com/pelletier/go-toml/v2/.gitignore
@@ -3,4 +3,5 @@ fuzz/
cmd/tomll/tomll
cmd/tomljson/tomljson
cmd/tomltestgen/tomltestgen
-dist
\ No newline at end of file
+dist
+tests/
diff --git a/vendor/github.com/pelletier/go-toml/v2/README.md b/vendor/github.com/pelletier/go-toml/v2/README.md
index 63b92f3b..b10f97f0 100644
--- a/vendor/github.com/pelletier/go-toml/v2/README.md
+++ b/vendor/github.com/pelletier/go-toml/v2/README.md
@@ -179,12 +179,12 @@ Execution time speedup compared to other Go TOML libraries:
Benchmark | go-toml v1 | BurntSushi/toml |
- Marshal/HugoFrontMatter-2 | 1.9x | 1.9x |
- Marshal/ReferenceFile/map-2 | 1.7x | 1.8x |
- Marshal/ReferenceFile/struct-2 | 2.2x | 2.5x |
- Unmarshal/HugoFrontMatter-2 | 2.9x | 2.9x |
- Unmarshal/ReferenceFile/map-2 | 2.6x | 2.9x |
- Unmarshal/ReferenceFile/struct-2 | 4.4x | 5.3x |
+ Marshal/HugoFrontMatter-2 | 1.9x | 2.2x |
+ Marshal/ReferenceFile/map-2 | 1.7x | 2.1x |
+ Marshal/ReferenceFile/struct-2 | 2.2x | 3.0x |
+ Unmarshal/HugoFrontMatter-2 | 2.9x | 2.7x |
+ Unmarshal/ReferenceFile/map-2 | 2.6x | 2.7x |
+ Unmarshal/ReferenceFile/struct-2 | 4.6x | 5.1x |
See more
@@ -197,17 +197,17 @@ provided for completeness.
Benchmark | go-toml v1 | BurntSushi/toml |
- Marshal/SimpleDocument/map-2 | 1.8x | 2.9x |
- Marshal/SimpleDocument/struct-2 | 2.7x | 4.2x |
- Unmarshal/SimpleDocument/map-2 | 4.5x | 3.1x |
- Unmarshal/SimpleDocument/struct-2 | 6.2x | 3.9x |
- UnmarshalDataset/example-2 | 3.1x | 3.5x |
- UnmarshalDataset/code-2 | 2.3x | 3.1x |
- UnmarshalDataset/twitter-2 | 2.5x | 2.6x |
- UnmarshalDataset/citm_catalog-2 | 2.1x | 2.2x |
- UnmarshalDataset/canada-2 | 1.6x | 1.3x |
- UnmarshalDataset/config-2 | 4.3x | 3.2x |
- [Geo mean] | 2.7x | 2.8x |
+ Marshal/SimpleDocument/map-2 | 1.8x | 2.7x |
+ Marshal/SimpleDocument/struct-2 | 2.7x | 3.8x |
+ Unmarshal/SimpleDocument/map-2 | 3.8x | 3.0x |
+ Unmarshal/SimpleDocument/struct-2 | 5.6x | 4.1x |
+ UnmarshalDataset/example-2 | 3.0x | 3.2x |
+ UnmarshalDataset/code-2 | 2.3x | 2.9x |
+ UnmarshalDataset/twitter-2 | 2.6x | 2.7x |
+ UnmarshalDataset/citm_catalog-2 | 2.2x | 2.3x |
+ UnmarshalDataset/canada-2 | 1.8x | 1.5x |
+ UnmarshalDataset/config-2 | 4.1x | 2.9x |
+ geomean | 2.7x | 2.8x |
This table can be generated with ./ci.sh benchmark -a -html
.
diff --git a/vendor/github.com/pelletier/go-toml/v2/SECURITY.md b/vendor/github.com/pelletier/go-toml/v2/SECURITY.md
index b2f21cfc..d4d554fd 100644
--- a/vendor/github.com/pelletier/go-toml/v2/SECURITY.md
+++ b/vendor/github.com/pelletier/go-toml/v2/SECURITY.md
@@ -2,9 +2,6 @@
## Supported Versions
-Use this section to tell people about which versions of your project are
-currently being supported with security updates.
-
| Version | Supported |
| ---------- | ------------------ |
| Latest 2.x | :white_check_mark: |
diff --git a/vendor/github.com/pelletier/go-toml/v2/ci.sh b/vendor/github.com/pelletier/go-toml/v2/ci.sh
index 9ae8b753..86217a9b 100644
--- a/vendor/github.com/pelletier/go-toml/v2/ci.sh
+++ b/vendor/github.com/pelletier/go-toml/v2/ci.sh
@@ -77,7 +77,7 @@ cover() {
pushd "$dir"
go test -covermode=atomic -coverpkg=./... -coverprofile=coverage.out.tmp ./...
- cat coverage.out.tmp | grep -v fuzz | grep -v testsuite | grep -v tomltestgen | grep -v gotoml-test-decoder > coverage.out
+ grep -Ev '(fuzz|testsuite|tomltestgen|gotoml-test-decoder|gotoml-test-encoder)' coverage.out.tmp > coverage.out
go tool cover -func=coverage.out
echo "Coverage profile for ${branch}: ${dir}/coverage.out" >&2
popd
@@ -152,7 +152,7 @@ bench() {
fi
export GOMAXPROCS=2
- nice -n -19 taskset --cpu-list 0,1 go test '-bench=^Benchmark(Un)?[mM]arshal' -count=5 -run=Nothing ./... | tee "${out}"
+ go test '-bench=^Benchmark(Un)?[mM]arshal' -count=10 -run=Nothing ./... | tee "${out}"
popd
if [ "${branch}" != "HEAD" ]; then
@@ -161,10 +161,12 @@ bench() {
}
fmktemp() {
- if mktemp --version|grep GNU >/dev/null; then
- mktemp --suffix=-$1;
+ if mktemp --version &> /dev/null; then
+ # GNU
+ mktemp --suffix=-$1
else
- mktemp -t $1;
+ # BSD
+ mktemp -t $1
fi
}
@@ -184,12 +186,14 @@ with open(sys.argv[1]) as f:
lines.append(line.split(','))
results = []
-for line in reversed(lines[1:]):
+for line in reversed(lines[2:]):
+ if len(line) < 8 or line[0] == "":
+ continue
v2 = float(line[1])
results.append([
line[0].replace("-32", ""),
"%.1fx" % (float(line[3])/v2), # v1
- "%.1fx" % (float(line[5])/v2), # bs
+ "%.1fx" % (float(line[7])/v2), # bs
])
# move geomean to the end
results.append(results[0])
@@ -260,10 +264,10 @@ benchmark() {
if [ "$1" = "-html" ]; then
tmpcsv=`fmktemp csv`
- benchstat -csv -geomean go-toml-v2.txt go-toml-v1.txt bs-toml.txt > $tmpcsv
+ benchstat -format csv go-toml-v2.txt go-toml-v1.txt bs-toml.txt > $tmpcsv
benchstathtml $tmpcsv
else
- benchstat -geomean go-toml-v2.txt go-toml-v1.txt bs-toml.txt
+ benchstat go-toml-v2.txt go-toml-v1.txt bs-toml.txt
fi
rm -f go-toml-v2.txt go-toml-v1.txt bs-toml.txt
diff --git a/vendor/github.com/pelletier/go-toml/v2/unmarshaler.go b/vendor/github.com/pelletier/go-toml/v2/unmarshaler.go
index 868c74c1..c5e5f339 100644
--- a/vendor/github.com/pelletier/go-toml/v2/unmarshaler.go
+++ b/vendor/github.com/pelletier/go-toml/v2/unmarshaler.go
@@ -1097,9 +1097,9 @@ func (d *decoder) handleKeyValuePart(key unstable.Iterator, value *unstable.Node
f := fieldByIndex(v, path)
- if !f.CanSet() {
- // If the field is not settable, need to take a slower path and make a copy of
- // the struct itself to a new location.
+ if !f.CanAddr() {
+ // If the field is not addressable, need to take a slower path and
+ // make a copy of the struct itself to a new location.
nvp := reflect.New(v.Type())
nvp.Elem().Set(v)
v = nvp.Elem()
diff --git a/vendor/github.com/spf13/cast/README.md b/vendor/github.com/spf13/cast/README.md
index 58141f02..0e9e1459 100644
--- a/vendor/github.com/spf13/cast/README.md
+++ b/vendor/github.com/spf13/cast/README.md
@@ -1,9 +1,9 @@
# cast
-[![Build Status](https://github.com/spf13/cast/actions/workflows/ci.yml/badge.svg)](https://github.com/spf13/cast/actions/workflows/ci.yml)
+[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/spf13/cast/ci.yaml?branch=master&style=flat-square)](https://github.com/spf13/cast/actions/workflows/ci.yaml)
[![PkgGoDev](https://pkg.go.dev/badge/mod/github.com/spf13/cast)](https://pkg.go.dev/mod/github.com/spf13/cast)
![Go Version](https://img.shields.io/badge/go%20version-%3E=1.16-61CFDD.svg?style=flat-square)
-[![Go Report Card](https://goreportcard.com/badge/github.com/spf13/cast)](https://goreportcard.com/report/github.com/spf13/cast)
+[![Go Report Card](https://goreportcard.com/badge/github.com/spf13/cast?style=flat-square)](https://goreportcard.com/report/github.com/spf13/cast)
Easy and safe casting from one type to another in Go
diff --git a/vendor/github.com/spf13/cobra/.golangci.yml b/vendor/github.com/spf13/cobra/.golangci.yml
index 2578d94b..a618ec24 100644
--- a/vendor/github.com/spf13/cobra/.golangci.yml
+++ b/vendor/github.com/spf13/cobra/.golangci.yml
@@ -19,7 +19,7 @@ linters:
disable-all: true
enable:
#- bodyclose
- - deadcode
+ # - deadcode ! deprecated since v1.49.0; replaced by 'unused'
#- depguard
#- dogsled
#- dupl
@@ -51,12 +51,12 @@ linters:
#- rowserrcheck
#- scopelint
#- staticcheck
- - structcheck
+ #- structcheck ! deprecated since v1.49.0; replaced by 'unused'
#- stylecheck
#- typecheck
- unconvert
#- unparam
- #- unused
- - varcheck
+ - unused
+ # - varcheck ! deprecated since v1.49.0; replaced by 'unused'
#- whitespace
fast: false
diff --git a/vendor/github.com/spf13/cobra/README.md b/vendor/github.com/spf13/cobra/README.md
index 592c0b8a..6444f4b7 100644
--- a/vendor/github.com/spf13/cobra/README.md
+++ b/vendor/github.com/spf13/cobra/README.md
@@ -4,7 +4,7 @@ Cobra is a library for creating powerful modern CLI applications.
Cobra is used in many Go projects such as [Kubernetes](https://kubernetes.io/),
[Hugo](https://gohugo.io), and [GitHub CLI](https://github.com/cli/cli) to
-name a few. [This list](./projects_using_cobra.md) contains a more extensive list of projects using Cobra.
+name a few. [This list](site/content/projects_using_cobra.md) contains a more extensive list of projects using Cobra.
[![](https://img.shields.io/github/actions/workflow/status/spf13/cobra/test.yml?branch=main&longCache=true&label=Test&logo=github%20actions&logoColor=fff)](https://github.com/spf13/cobra/actions?query=workflow%3ATest)
[![Go Reference](https://pkg.go.dev/badge/github.com/spf13/cobra.svg)](https://pkg.go.dev/github.com/spf13/cobra)
@@ -80,7 +80,7 @@ which maintains the same interface while adding POSIX compliance.
# Installing
Using Cobra is easy. First, use `go get` to install the latest version
-of the library.
+of the library.
```
go get -u github.com/spf13/cobra@latest
@@ -105,8 +105,8 @@ go install github.com/spf13/cobra-cli@latest
For complete details on using the Cobra-CLI generator, please read [The Cobra Generator README](https://github.com/spf13/cobra-cli/blob/main/README.md)
-For complete details on using the Cobra library, please read the [The Cobra User Guide](user_guide.md).
+For complete details on using the Cobra library, please read the [The Cobra User Guide](site/content/user_guide.md).
# License
-Cobra is released under the Apache 2.0 license. See [LICENSE.txt](https://github.com/spf13/cobra/blob/master/LICENSE.txt)
+Cobra is released under the Apache 2.0 license. See [LICENSE.txt](LICENSE.txt)
diff --git a/vendor/github.com/spf13/cobra/active_help.go b/vendor/github.com/spf13/cobra/active_help.go
index 2d023943..5f965e05 100644
--- a/vendor/github.com/spf13/cobra/active_help.go
+++ b/vendor/github.com/spf13/cobra/active_help.go
@@ -17,6 +17,7 @@ package cobra
import (
"fmt"
"os"
+ "regexp"
"strings"
)
@@ -29,6 +30,8 @@ const (
activeHelpGlobalDisable = "0"
)
+var activeHelpEnvVarPrefixSubstRegexp = regexp.MustCompile(`[^A-Z0-9_]`)
+
// AppendActiveHelp adds the specified string to the specified array to be used as ActiveHelp.
// Such strings will be processed by the completion script and will be shown as ActiveHelp
// to the user.
@@ -42,7 +45,7 @@ func AppendActiveHelp(compArray []string, activeHelpStr string) []string {
// GetActiveHelpConfig returns the value of the ActiveHelp environment variable
// _ACTIVE_HELP where is the name of the root command in upper
-// case, with all - replaced by _.
+// case, with all non-ASCII-alphanumeric characters replaced by `_`.
// It will always return "0" if the global environment variable COBRA_ACTIVE_HELP
// is set to "0".
func GetActiveHelpConfig(cmd *Command) string {
@@ -55,9 +58,10 @@ func GetActiveHelpConfig(cmd *Command) string {
// activeHelpEnvVar returns the name of the program-specific ActiveHelp environment
// variable. It has the format _ACTIVE_HELP where is the name of the
-// root command in upper case, with all - replaced by _.
+// root command in upper case, with all non-ASCII-alphanumeric characters replaced by `_`.
func activeHelpEnvVar(name string) string {
// This format should not be changed: users will be using it explicitly.
activeHelpEnvVar := strings.ToUpper(fmt.Sprintf("%s%s", name, activeHelpEnvVarSuffix))
- return strings.ReplaceAll(activeHelpEnvVar, "-", "_")
+ activeHelpEnvVar = activeHelpEnvVarPrefixSubstRegexp.ReplaceAllString(activeHelpEnvVar, "_")
+ return activeHelpEnvVar
}
diff --git a/vendor/github.com/spf13/cobra/active_help.md b/vendor/github.com/spf13/cobra/active_help.md
deleted file mode 100644
index 5e7f59af..00000000
--- a/vendor/github.com/spf13/cobra/active_help.md
+++ /dev/null
@@ -1,157 +0,0 @@
-# Active Help
-
-Active Help is a framework provided by Cobra which allows a program to define messages (hints, warnings, etc) that will be printed during program usage. It aims to make it easier for your users to learn how to use your program. If configured by the program, Active Help is printed when the user triggers shell completion.
-
-For example,
-```
-bash-5.1$ helm repo add [tab]
-You must choose a name for the repo you are adding.
-
-bash-5.1$ bin/helm package [tab]
-Please specify the path to the chart to package
-
-bash-5.1$ bin/helm package [tab][tab]
-bin/ internal/ scripts/ pkg/ testdata/
-```
-
-**Hint**: A good place to use Active Help messages is when the normal completion system does not provide any suggestions. In such cases, Active Help nicely supplements the normal shell completions to guide the user in knowing what is expected by the program.
-## Supported shells
-
-Active Help is currently only supported for the following shells:
-- Bash (using [bash completion V2](shell_completions.md#bash-completion-v2) only). Note that bash 4.4 or higher is required for the prompt to appear when an Active Help message is printed.
-- Zsh
-
-## Adding Active Help messages
-
-As Active Help uses the shell completion system, the implementation of Active Help messages is done by enhancing custom dynamic completions. If you are not familiar with dynamic completions, please refer to [Shell Completions](shell_completions.md).
-
-Adding Active Help is done through the use of the `cobra.AppendActiveHelp(...)` function, where the program repeatedly adds Active Help messages to the list of completions. Keep reading for details.
-
-### Active Help for nouns
-
-Adding Active Help when completing a noun is done within the `ValidArgsFunction(...)` of a command. Please notice the use of `cobra.AppendActiveHelp(...)` in the following example:
-
-```go
-cmd := &cobra.Command{
- Use: "add [NAME] [URL]",
- Short: "add a chart repository",
- Args: require.ExactArgs(2),
- RunE: func(cmd *cobra.Command, args []string) error {
- return addRepo(args)
- },
- ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
- var comps []string
- if len(args) == 0 {
- comps = cobra.AppendActiveHelp(comps, "You must choose a name for the repo you are adding")
- } else if len(args) == 1 {
- comps = cobra.AppendActiveHelp(comps, "You must specify the URL for the repo you are adding")
- } else {
- comps = cobra.AppendActiveHelp(comps, "This command does not take any more arguments")
- }
- return comps, cobra.ShellCompDirectiveNoFileComp
- },
-}
-```
-The example above defines the completions (none, in this specific example) as well as the Active Help messages for the `helm repo add` command. It yields the following behavior:
-```
-bash-5.1$ helm repo add [tab]
-You must choose a name for the repo you are adding
-
-bash-5.1$ helm repo add grafana [tab]
-You must specify the URL for the repo you are adding
-
-bash-5.1$ helm repo add grafana https://grafana.github.io/helm-charts [tab]
-This command does not take any more arguments
-```
-**Hint**: As can be seen in the above example, a good place to use Active Help messages is when the normal completion system does not provide any suggestions. In such cases, Active Help nicely supplements the normal shell completions.
-
-### Active Help for flags
-
-Providing Active Help for flags is done in the same fashion as for nouns, but using the completion function registered for the flag. For example:
-```go
-_ = cmd.RegisterFlagCompletionFunc("version", func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
- if len(args) != 2 {
- return cobra.AppendActiveHelp(nil, "You must first specify the chart to install before the --version flag can be completed"), cobra.ShellCompDirectiveNoFileComp
- }
- return compVersionFlag(args[1], toComplete)
- })
-```
-The example above prints an Active Help message when not enough information was given by the user to complete the `--version` flag.
-```
-bash-5.1$ bin/helm install myrelease --version 2.0.[tab]
-You must first specify the chart to install before the --version flag can be completed
-
-bash-5.1$ bin/helm install myrelease bitnami/solr --version 2.0.[tab][tab]
-2.0.1 2.0.2 2.0.3
-```
-
-## User control of Active Help
-
-You may want to allow your users to disable Active Help or choose between different levels of Active Help. It is entirely up to the program to define the type of configurability of Active Help that it wants to offer, if any.
-Allowing to configure Active Help is entirely optional; you can use Active Help in your program without doing anything about Active Help configuration.
-
-The way to configure Active Help is to use the program's Active Help environment
-variable. That variable is named `_ACTIVE_HELP` where `` is the name of your
-program in uppercase with any `-` replaced by an `_`. The variable should be set by the user to whatever
-Active Help configuration values are supported by the program.
-
-For example, say `helm` has chosen to support three levels for Active Help: `on`, `off`, `local`. Then a user
-would set the desired behavior to `local` by doing `export HELM_ACTIVE_HELP=local` in their shell.
-
-For simplicity, when in `cmd.ValidArgsFunction(...)` or a flag's completion function, the program should read the
-Active Help configuration using the `cobra.GetActiveHelpConfig(cmd)` function and select what Active Help messages
-should or should not be added (instead of reading the environment variable directly).
-
-For example:
-```go
-ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
- activeHelpLevel := cobra.GetActiveHelpConfig(cmd)
-
- var comps []string
- if len(args) == 0 {
- if activeHelpLevel != "off" {
- comps = cobra.AppendActiveHelp(comps, "You must choose a name for the repo you are adding")
- }
- } else if len(args) == 1 {
- if activeHelpLevel != "off" {
- comps = cobra.AppendActiveHelp(comps, "You must specify the URL for the repo you are adding")
- }
- } else {
- if activeHelpLevel == "local" {
- comps = cobra.AppendActiveHelp(comps, "This command does not take any more arguments")
- }
- }
- return comps, cobra.ShellCompDirectiveNoFileComp
-},
-```
-**Note 1**: If the `_ACTIVE_HELP` environment variable is set to the string "0", Cobra will automatically disable all Active Help output (even if some output was specified by the program using the `cobra.AppendActiveHelp(...)` function). Using "0" can simplify your code in situations where you want to blindly disable Active Help without having to call `cobra.GetActiveHelpConfig(cmd)` explicitly.
-
-**Note 2**: If a user wants to disable Active Help for every single program based on Cobra, she can set the environment variable `COBRA_ACTIVE_HELP` to "0". In this case `cobra.GetActiveHelpConfig(cmd)` will return "0" no matter what the variable `_ACTIVE_HELP` is set to.
-
-**Note 3**: If the user does not set `_ACTIVE_HELP` or `COBRA_ACTIVE_HELP` (which will be a common case), the default value for the Active Help configuration returned by `cobra.GetActiveHelpConfig(cmd)` will be the empty string.
-## Active Help with Cobra's default completion command
-
-Cobra provides a default `completion` command for programs that wish to use it.
-When using the default `completion` command, Active Help is configurable in the same
-fashion as described above using environment variables. You may wish to document this in more
-details for your users.
-
-## Debugging Active Help
-
-Debugging your Active Help code is done in the same way as debugging your dynamic completion code, which is with Cobra's hidden `__complete` command. Please refer to [debugging shell completion](shell_completions.md#debugging) for details.
-
-When debugging with the `__complete` command, if you want to specify different Active Help configurations, you should use the active help environment variable. That variable is named `_ACTIVE_HELP` where any `-` is replaced by an `_`. For example, we can test deactivating some Active Help as shown below:
-```
-$ HELM_ACTIVE_HELP=1 bin/helm __complete install wordpress bitnami/h
-bitnami/haproxy
-bitnami/harbor
-_activeHelp_ WARNING: cannot re-use a name that is still in use
-:0
-Completion ended with directive: ShellCompDirectiveDefault
-
-$ HELM_ACTIVE_HELP=0 bin/helm __complete install wordpress bitnami/h
-bitnami/haproxy
-bitnami/harbor
-:0
-Completion ended with directive: ShellCompDirectiveDefault
-```
diff --git a/vendor/github.com/spf13/cobra/bash_completions.go b/vendor/github.com/spf13/cobra/bash_completions.go
index 10c78847..8a531518 100644
--- a/vendor/github.com/spf13/cobra/bash_completions.go
+++ b/vendor/github.com/spf13/cobra/bash_completions.go
@@ -85,7 +85,7 @@ __%[1]s_handle_go_custom_completion()
local out requestComp lastParam lastChar comp directive args
# Prepare the command to request completions for the program.
- # Calling ${words[0]} instead of directly %[1]s allows to handle aliases
+ # Calling ${words[0]} instead of directly %[1]s allows handling aliases
args=("${words[@]:1}")
# Disable ActiveHelp which is not supported for bash completion v1
requestComp="%[8]s=0 ${words[0]} %[2]s ${args[*]}"
diff --git a/vendor/github.com/spf13/cobra/bash_completions.md b/vendor/github.com/spf13/cobra/bash_completions.md
deleted file mode 100644
index 52919b2f..00000000
--- a/vendor/github.com/spf13/cobra/bash_completions.md
+++ /dev/null
@@ -1,93 +0,0 @@
-# Generating Bash Completions For Your cobra.Command
-
-Please refer to [Shell Completions](shell_completions.md) for details.
-
-## Bash legacy dynamic completions
-
-For backward compatibility, Cobra still supports its legacy dynamic completion solution (described below). Unlike the `ValidArgsFunction` solution, the legacy solution will only work for Bash shell-completion and not for other shells. This legacy solution can be used along-side `ValidArgsFunction` and `RegisterFlagCompletionFunc()`, as long as both solutions are not used for the same command. This provides a path to gradually migrate from the legacy solution to the new solution.
-
-**Note**: Cobra's default `completion` command uses bash completion V2. If you are currently using Cobra's legacy dynamic completion solution, you should not use the default `completion` command but continue using your own.
-
-The legacy solution allows you to inject bash functions into the bash completion script. Those bash functions are responsible for providing the completion choices for your own completions.
-
-Some code that works in kubernetes:
-
-```bash
-const (
- bash_completion_func = `__kubectl_parse_get()
-{
- local kubectl_output out
- if kubectl_output=$(kubectl get --no-headers "$1" 2>/dev/null); then
- out=($(echo "${kubectl_output}" | awk '{print $1}'))
- COMPREPLY=( $( compgen -W "${out[*]}" -- "$cur" ) )
- fi
-}
-
-__kubectl_get_resource()
-{
- if [[ ${#nouns[@]} -eq 0 ]]; then
- return 1
- fi
- __kubectl_parse_get ${nouns[${#nouns[@]} -1]}
- if [[ $? -eq 0 ]]; then
- return 0
- fi
-}
-
-__kubectl_custom_func() {
- case ${last_command} in
- kubectl_get | kubectl_describe | kubectl_delete | kubectl_stop)
- __kubectl_get_resource
- return
- ;;
- *)
- ;;
- esac
-}
-`)
-```
-
-And then I set that in my command definition:
-
-```go
-cmds := &cobra.Command{
- Use: "kubectl",
- Short: "kubectl controls the Kubernetes cluster manager",
- Long: `kubectl controls the Kubernetes cluster manager.
-
-Find more information at https://github.com/GoogleCloudPlatform/kubernetes.`,
- Run: runHelp,
- BashCompletionFunction: bash_completion_func,
-}
-```
-
-The `BashCompletionFunction` option is really only valid/useful on the root command. Doing the above will cause `__kubectl_custom_func()` (`___custom_func()`) to be called when the built in processor was unable to find a solution. In the case of kubernetes a valid command might look something like `kubectl get pod [mypod]`. If you type `kubectl get pod [tab][tab]` the `__kubectl_customc_func()` will run because the cobra.Command only understood "kubectl" and "get." `__kubectl_custom_func()` will see that the cobra.Command is "kubectl_get" and will thus call another helper `__kubectl_get_resource()`. `__kubectl_get_resource` will look at the 'nouns' collected. In our example the only noun will be `pod`. So it will call `__kubectl_parse_get pod`. `__kubectl_parse_get` will actually call out to kubernetes and get any pods. It will then set `COMPREPLY` to valid pods!
-
-Similarly, for flags:
-
-```go
- annotation := make(map[string][]string)
- annotation[cobra.BashCompCustom] = []string{"__kubectl_get_namespaces"}
-
- flag := &pflag.Flag{
- Name: "namespace",
- Usage: usage,
- Annotations: annotation,
- }
- cmd.Flags().AddFlag(flag)
-```
-
-In addition add the `__kubectl_get_namespaces` implementation in the `BashCompletionFunction`
-value, e.g.:
-
-```bash
-__kubectl_get_namespaces()
-{
- local template
- template="{{ range .items }}{{ .metadata.name }} {{ end }}"
- local kubectl_out
- if kubectl_out=$(kubectl get -o template --template="${template}" namespace 2>/dev/null); then
- COMPREPLY=( $( compgen -W "${kubectl_out}[*]" -- "$cur" ) )
- fi
-}
-```
diff --git a/vendor/github.com/spf13/cobra/bash_completionsV2.go b/vendor/github.com/spf13/cobra/bash_completionsV2.go
index 19b09560..1cce5c32 100644
--- a/vendor/github.com/spf13/cobra/bash_completionsV2.go
+++ b/vendor/github.com/spf13/cobra/bash_completionsV2.go
@@ -57,7 +57,7 @@ __%[1]s_get_completion_results() {
local requestComp lastParam lastChar args
# Prepare the command to request completions for the program.
- # Calling ${words[0]} instead of directly %[1]s allows to handle aliases
+ # Calling ${words[0]} instead of directly %[1]s allows handling aliases
args=("${words[@]:1}")
requestComp="${words[0]} %[2]s ${args[*]}"
diff --git a/vendor/github.com/spf13/cobra/cobra.go b/vendor/github.com/spf13/cobra/cobra.go
index b07b44a0..a6b160ce 100644
--- a/vendor/github.com/spf13/cobra/cobra.go
+++ b/vendor/github.com/spf13/cobra/cobra.go
@@ -43,12 +43,13 @@ var initializers []func()
var finalizers []func()
const (
- defaultPrefixMatching = false
- defaultCommandSorting = true
- defaultCaseInsensitive = false
+ defaultPrefixMatching = false
+ defaultCommandSorting = true
+ defaultCaseInsensitive = false
+ defaultTraverseRunHooks = false
)
-// EnablePrefixMatching allows to set automatic prefix matching. Automatic prefix matching can be a dangerous thing
+// EnablePrefixMatching allows setting automatic prefix matching. Automatic prefix matching can be a dangerous thing
// to automatically enable in CLI tools.
// Set this to true to enable it.
var EnablePrefixMatching = defaultPrefixMatching
@@ -60,6 +61,10 @@ var EnableCommandSorting = defaultCommandSorting
// EnableCaseInsensitive allows case-insensitive commands names. (case sensitive by default)
var EnableCaseInsensitive = defaultCaseInsensitive
+// EnableTraverseRunHooks executes persistent pre-run and post-run hooks from all parents.
+// By default this is disabled, which means only the first run hook to be found is executed.
+var EnableTraverseRunHooks = defaultTraverseRunHooks
+
// MousetrapHelpText enables an information splash screen on Windows
// if the CLI is started from explorer.exe.
// To disable the mousetrap, just set this variable to blank string ("").
diff --git a/vendor/github.com/spf13/cobra/command.go b/vendor/github.com/spf13/cobra/command.go
index 01f7c6f1..2fbe6c13 100644
--- a/vendor/github.com/spf13/cobra/command.go
+++ b/vendor/github.com/spf13/cobra/command.go
@@ -30,7 +30,10 @@ import (
flag "github.com/spf13/pflag"
)
-const FlagSetByCobraAnnotation = "cobra_annotation_flag_set_by_cobra"
+const (
+ FlagSetByCobraAnnotation = "cobra_annotation_flag_set_by_cobra"
+ CommandDisplayNameAnnotation = "cobra_annotation_command_display_name"
+)
// FParseErrWhitelist configures Flag parse errors to be ignored
type FParseErrWhitelist flag.ParseErrorsWhitelist
@@ -99,7 +102,7 @@ type Command struct {
Deprecated string
// Annotations are key/value pairs that can be used by applications to identify or
- // group commands.
+ // group commands or set special options.
Annotations map[string]string
// Version defines the version for this command. If this value is non-empty and the command does not
@@ -115,6 +118,8 @@ type Command struct {
// * PostRun()
// * PersistentPostRun()
// All functions get the same args, the arguments after the command name.
+ // The *PreRun and *PostRun functions will only be executed if the Run function of the current
+ // command has been declared.
//
// PersistentPreRun: children of this command will inherit and execute.
PersistentPreRun func(cmd *Command, args []string)
@@ -181,6 +186,9 @@ type Command struct {
// versionTemplate is the version template defined by user.
versionTemplate string
+ // errPrefix is the error message prefix defined by user.
+ errPrefix string
+
// inReader is a reader defined by the user that replaces stdin
inReader io.Reader
// outWriter is a writer defined by the user that replaces stdout
@@ -346,6 +354,11 @@ func (c *Command) SetVersionTemplate(s string) {
c.versionTemplate = s
}
+// SetErrPrefix sets error message prefix to be used. Application can use it to set custom prefix.
+func (c *Command) SetErrPrefix(s string) {
+ c.errPrefix = s
+}
+
// SetGlobalNormalizationFunc sets a normalization function to all flag sets and also to child commands.
// The user should not have a cyclic dependency on commands.
func (c *Command) SetGlobalNormalizationFunc(n func(f *flag.FlagSet, name string) flag.NormalizedName) {
@@ -595,6 +608,18 @@ func (c *Command) VersionTemplate() string {
`
}
+// ErrPrefix return error message prefix for the command
+func (c *Command) ErrPrefix() string {
+ if c.errPrefix != "" {
+ return c.errPrefix
+ }
+
+ if c.HasParent() {
+ return c.parent.ErrPrefix()
+ }
+ return "Error:"
+}
+
func hasNoOptDefVal(name string, fs *flag.FlagSet) bool {
flag := fs.Lookup(name)
if flag == nil {
@@ -752,7 +777,9 @@ func (c *Command) findNext(next string) *Command {
}
if len(matches) == 1 {
- return matches[0]
+ // Temporarily disable gosec G602, which produces a false positive.
+ // See https://github.com/securego/gosec/issues/1005.
+ return matches[0] // #nosec G602
}
return nil
@@ -910,15 +937,31 @@ func (c *Command) execute(a []string) (err error) {
return err
}
+ parents := make([]*Command, 0, 5)
for p := c; p != nil; p = p.Parent() {
+ if EnableTraverseRunHooks {
+ // When EnableTraverseRunHooks is set:
+ // - Execute all persistent pre-runs from the root parent till this command.
+ // - Execute all persistent post-runs from this command till the root parent.
+ parents = append([]*Command{p}, parents...)
+ } else {
+ // Otherwise, execute only the first found persistent hook.
+ parents = append(parents, p)
+ }
+ }
+ for _, p := range parents {
if p.PersistentPreRunE != nil {
if err := p.PersistentPreRunE(c, argWoFlags); err != nil {
return err
}
- break
+ if !EnableTraverseRunHooks {
+ break
+ }
} else if p.PersistentPreRun != nil {
p.PersistentPreRun(c, argWoFlags)
- break
+ if !EnableTraverseRunHooks {
+ break
+ }
}
}
if c.PreRunE != nil {
@@ -955,10 +998,14 @@ func (c *Command) execute(a []string) (err error) {
if err := p.PersistentPostRunE(c, argWoFlags); err != nil {
return err
}
- break
+ if !EnableTraverseRunHooks {
+ break
+ }
} else if p.PersistentPostRun != nil {
p.PersistentPostRun(c, argWoFlags)
- break
+ if !EnableTraverseRunHooks {
+ break
+ }
}
}
@@ -1048,7 +1095,7 @@ func (c *Command) ExecuteC() (cmd *Command, err error) {
c = cmd
}
if !c.SilenceErrors {
- c.PrintErrln("Error:", err.Error())
+ c.PrintErrln(c.ErrPrefix(), err.Error())
c.PrintErrf("Run '%v --help' for usage.\n", c.CommandPath())
}
return c, err
@@ -1077,7 +1124,7 @@ func (c *Command) ExecuteC() (cmd *Command, err error) {
// If root command has SilenceErrors flagged,
// all subcommands should respect it
if !cmd.SilenceErrors && !c.SilenceErrors {
- c.PrintErrln("Error:", err.Error())
+ c.PrintErrln(cmd.ErrPrefix(), err.Error())
}
// If root command has SilenceUsage flagged,
@@ -1380,6 +1427,9 @@ func (c *Command) CommandPath() string {
if c.HasParent() {
return c.Parent().CommandPath() + " " + c.Name()
}
+ if displayName, ok := c.Annotations[CommandDisplayNameAnnotation]; ok {
+ return displayName
+ }
return c.Name()
}
@@ -1402,6 +1452,7 @@ func (c *Command) UseLine() string {
// DebugFlags used to determine which flags have been assigned to which commands
// and which persist.
+// nolint:goconst
func (c *Command) DebugFlags() {
c.Println("DebugFlags called on", c.Name())
var debugflags func(*Command)
diff --git a/vendor/github.com/spf13/cobra/completions.go b/vendor/github.com/spf13/cobra/completions.go
index ee38c4d0..b60f6b20 100644
--- a/vendor/github.com/spf13/cobra/completions.go
+++ b/vendor/github.com/spf13/cobra/completions.go
@@ -145,6 +145,20 @@ func (c *Command) RegisterFlagCompletionFunc(flagName string, f func(cmd *Comman
return nil
}
+// GetFlagCompletionFunc returns the completion function for the given flag of the command, if available.
+func (c *Command) GetFlagCompletionFunc(flagName string) (func(*Command, []string, string) ([]string, ShellCompDirective), bool) {
+ flag := c.Flag(flagName)
+ if flag == nil {
+ return nil, false
+ }
+
+ flagCompletionMutex.RLock()
+ defer flagCompletionMutex.RUnlock()
+
+ completionFunc, exists := flagCompletionFunctions[flag]
+ return completionFunc, exists
+}
+
// Returns a string listing the different directive enabled in the specified parameter
func (d ShellCompDirective) string() string {
var directives []string
@@ -283,9 +297,13 @@ func (c *Command) getCompletions(args []string) (*Command, []string, ShellCompDi
// These flags are normally added when `execute()` is called on `finalCmd`,
// however, when doing completion, we don't call `finalCmd.execute()`.
- // Let's add the --help and --version flag ourselves.
- finalCmd.InitDefaultHelpFlag()
- finalCmd.InitDefaultVersionFlag()
+ // Let's add the --help and --version flag ourselves but only if the finalCmd
+ // has not disabled flag parsing; if flag parsing is disabled, it is up to the
+ // finalCmd itself to handle the completion of *all* flags.
+ if !finalCmd.DisableFlagParsing {
+ finalCmd.InitDefaultHelpFlag()
+ finalCmd.InitDefaultVersionFlag()
+ }
// Check if we are doing flag value completion before parsing the flags.
// This is important because if we are completing a flag value, we need to also
@@ -389,6 +407,11 @@ func (c *Command) getCompletions(args []string) (*Command, []string, ShellCompDi
finalCmd.InheritedFlags().VisitAll(func(flag *pflag.Flag) {
doCompleteFlags(flag)
})
+ // Try to complete non-inherited flags even if DisableFlagParsing==true.
+ // This allows programs to tell Cobra about flags for completion even
+ // if the actual parsing of flags is not done by Cobra.
+ // For instance, Helm uses this to provide flag name completion for
+ // some of its plugins.
finalCmd.NonInheritedFlags().VisitAll(func(flag *pflag.Flag) {
doCompleteFlags(flag)
})
diff --git a/vendor/github.com/spf13/cobra/fish_completions.go b/vendor/github.com/spf13/cobra/fish_completions.go
index 12ca0d2b..12d61b69 100644
--- a/vendor/github.com/spf13/cobra/fish_completions.go
+++ b/vendor/github.com/spf13/cobra/fish_completions.go
@@ -113,7 +113,7 @@ function __%[1]s_clear_perform_completion_once_result
__%[1]s_debug ""
__%[1]s_debug "========= clearing previously set __%[1]s_perform_completion_once_result variable =========="
set --erase __%[1]s_perform_completion_once_result
- __%[1]s_debug "Succesfully erased the variable __%[1]s_perform_completion_once_result"
+ __%[1]s_debug "Successfully erased the variable __%[1]s_perform_completion_once_result"
end
function __%[1]s_requires_order_preservation
diff --git a/vendor/github.com/spf13/cobra/fish_completions.md b/vendor/github.com/spf13/cobra/fish_completions.md
deleted file mode 100644
index 19b2ed12..00000000
--- a/vendor/github.com/spf13/cobra/fish_completions.md
+++ /dev/null
@@ -1,4 +0,0 @@
-## Generating Fish Completions For Your cobra.Command
-
-Please refer to [Shell Completions](shell_completions.md) for details.
-
diff --git a/vendor/github.com/spf13/cobra/flag_groups.go b/vendor/github.com/spf13/cobra/flag_groups.go
index b35fde15..0671ec5f 100644
--- a/vendor/github.com/spf13/cobra/flag_groups.go
+++ b/vendor/github.com/spf13/cobra/flag_groups.go
@@ -24,6 +24,7 @@ import (
const (
requiredAsGroup = "cobra_annotation_required_if_others_set"
+ oneRequired = "cobra_annotation_one_required"
mutuallyExclusive = "cobra_annotation_mutually_exclusive"
)
@@ -43,6 +44,22 @@ func (c *Command) MarkFlagsRequiredTogether(flagNames ...string) {
}
}
+// MarkFlagsOneRequired marks the given flags with annotations so that Cobra errors
+// if the command is invoked without at least one flag from the given set of flags.
+func (c *Command) MarkFlagsOneRequired(flagNames ...string) {
+ c.mergePersistentFlags()
+ for _, v := range flagNames {
+ f := c.Flags().Lookup(v)
+ if f == nil {
+ panic(fmt.Sprintf("Failed to find flag %q and mark it as being in a one-required flag group", v))
+ }
+ if err := c.Flags().SetAnnotation(v, oneRequired, append(f.Annotations[oneRequired], strings.Join(flagNames, " "))); err != nil {
+ // Only errs if the flag isn't found.
+ panic(err)
+ }
+ }
+}
+
// MarkFlagsMutuallyExclusive marks the given flags with annotations so that Cobra errors
// if the command is invoked with more than one flag from the given set of flags.
func (c *Command) MarkFlagsMutuallyExclusive(flagNames ...string) {
@@ -59,7 +76,7 @@ func (c *Command) MarkFlagsMutuallyExclusive(flagNames ...string) {
}
}
-// ValidateFlagGroups validates the mutuallyExclusive/requiredAsGroup logic and returns the
+// ValidateFlagGroups validates the mutuallyExclusive/oneRequired/requiredAsGroup logic and returns the
// first error encountered.
func (c *Command) ValidateFlagGroups() error {
if c.DisableFlagParsing {
@@ -71,15 +88,20 @@ func (c *Command) ValidateFlagGroups() error {
// groupStatus format is the list of flags as a unique ID,
// then a map of each flag name and whether it is set or not.
groupStatus := map[string]map[string]bool{}
+ oneRequiredGroupStatus := map[string]map[string]bool{}
mutuallyExclusiveGroupStatus := map[string]map[string]bool{}
flags.VisitAll(func(pflag *flag.Flag) {
processFlagForGroupAnnotation(flags, pflag, requiredAsGroup, groupStatus)
+ processFlagForGroupAnnotation(flags, pflag, oneRequired, oneRequiredGroupStatus)
processFlagForGroupAnnotation(flags, pflag, mutuallyExclusive, mutuallyExclusiveGroupStatus)
})
if err := validateRequiredFlagGroups(groupStatus); err != nil {
return err
}
+ if err := validateOneRequiredFlagGroups(oneRequiredGroupStatus); err != nil {
+ return err
+ }
if err := validateExclusiveFlagGroups(mutuallyExclusiveGroupStatus); err != nil {
return err
}
@@ -142,6 +164,27 @@ func validateRequiredFlagGroups(data map[string]map[string]bool) error {
return nil
}
+func validateOneRequiredFlagGroups(data map[string]map[string]bool) error {
+ keys := sortedKeys(data)
+ for _, flagList := range keys {
+ flagnameAndStatus := data[flagList]
+ var set []string
+ for flagname, isSet := range flagnameAndStatus {
+ if isSet {
+ set = append(set, flagname)
+ }
+ }
+ if len(set) >= 1 {
+ continue
+ }
+
+ // Sort values, so they can be tested/scripted against consistently.
+ sort.Strings(set)
+ return fmt.Errorf("at least one of the flags in the group [%v] is required", flagList)
+ }
+ return nil
+}
+
func validateExclusiveFlagGroups(data map[string]map[string]bool) error {
keys := sortedKeys(data)
for _, flagList := range keys {
@@ -176,6 +219,7 @@ func sortedKeys(m map[string]map[string]bool) []string {
// enforceFlagGroupsForCompletion will do the following:
// - when a flag in a group is present, other flags in the group will be marked required
+// - when none of the flags in a one-required group are present, all flags in the group will be marked required
// - when a flag in a mutually exclusive group is present, other flags in the group will be marked as hidden
// This allows the standard completion logic to behave appropriately for flag groups
func (c *Command) enforceFlagGroupsForCompletion() {
@@ -185,9 +229,11 @@ func (c *Command) enforceFlagGroupsForCompletion() {
flags := c.Flags()
groupStatus := map[string]map[string]bool{}
+ oneRequiredGroupStatus := map[string]map[string]bool{}
mutuallyExclusiveGroupStatus := map[string]map[string]bool{}
c.Flags().VisitAll(func(pflag *flag.Flag) {
processFlagForGroupAnnotation(flags, pflag, requiredAsGroup, groupStatus)
+ processFlagForGroupAnnotation(flags, pflag, oneRequired, oneRequiredGroupStatus)
processFlagForGroupAnnotation(flags, pflag, mutuallyExclusive, mutuallyExclusiveGroupStatus)
})
@@ -204,6 +250,26 @@ func (c *Command) enforceFlagGroupsForCompletion() {
}
}
+ // If none of the flags of a one-required group are present, we make all the flags
+ // of that group required so that the shell completion suggests them automatically
+ for flagList, flagnameAndStatus := range oneRequiredGroupStatus {
+ set := 0
+
+ for _, isSet := range flagnameAndStatus {
+ if isSet {
+ set++
+ }
+ }
+
+ // None of the flags of the group are set, mark all flags in the group
+ // as required
+ if set == 0 {
+ for _, fName := range strings.Split(flagList, " ") {
+ _ = c.MarkFlagRequired(fName)
+ }
+ }
+ }
+
// If a flag that is mutually exclusive to others is present, we hide the other
// flags of that group so the shell completion does not suggest them
for flagList, flagnameAndStatus := range mutuallyExclusiveGroupStatus {
diff --git a/vendor/github.com/spf13/cobra/powershell_completions.go b/vendor/github.com/spf13/cobra/powershell_completions.go
index 177d2755..55195193 100644
--- a/vendor/github.com/spf13/cobra/powershell_completions.go
+++ b/vendor/github.com/spf13/cobra/powershell_completions.go
@@ -47,7 +47,7 @@ filter __%[1]s_escapeStringWithSpecialChars {
`+" $_ -replace '\\s|#|@|\\$|;|,|''|\\{|\\}|\\(|\\)|\"|`|\\||<|>|&','`$&'"+`
}
-[scriptblock]$__%[2]sCompleterBlock = {
+[scriptblock]${__%[2]sCompleterBlock} = {
param(
$WordToComplete,
$CommandAst,
@@ -122,7 +122,7 @@ filter __%[1]s_escapeStringWithSpecialChars {
__%[1]s_debug "Calling $RequestComp"
# First disable ActiveHelp which is not supported for Powershell
- $env:%[10]s=0
+ ${env:%[10]s}=0
#call the command store the output in $out and redirect stderr and stdout to null
# $Out is an array contains each line per element
@@ -279,7 +279,7 @@ filter __%[1]s_escapeStringWithSpecialChars {
}
}
-Register-ArgumentCompleter -CommandName '%[1]s' -ScriptBlock $__%[2]sCompleterBlock
+Register-ArgumentCompleter -CommandName '%[1]s' -ScriptBlock ${__%[2]sCompleterBlock}
`, name, nameForVar, compCmd,
ShellCompDirectiveError, ShellCompDirectiveNoSpace, ShellCompDirectiveNoFileComp,
ShellCompDirectiveFilterFileExt, ShellCompDirectiveFilterDirs, ShellCompDirectiveKeepOrder, activeHelpEnvVar(name)))
diff --git a/vendor/github.com/spf13/cobra/powershell_completions.md b/vendor/github.com/spf13/cobra/powershell_completions.md
deleted file mode 100644
index c449f1e5..00000000
--- a/vendor/github.com/spf13/cobra/powershell_completions.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# Generating PowerShell Completions For Your Own cobra.Command
-
-Please refer to [Shell Completions](shell_completions.md#powershell-completions) for details.
diff --git a/vendor/github.com/spf13/cobra/projects_using_cobra.md b/vendor/github.com/spf13/cobra/projects_using_cobra.md
deleted file mode 100644
index 8a291eb2..00000000
--- a/vendor/github.com/spf13/cobra/projects_using_cobra.md
+++ /dev/null
@@ -1,64 +0,0 @@
-## Projects using Cobra
-
-- [Allero](https://github.com/allero-io/allero)
-- [Arewefastyet](https://benchmark.vitess.io)
-- [Arduino CLI](https://github.com/arduino/arduino-cli)
-- [Bleve](https://blevesearch.com/)
-- [Cilium](https://cilium.io/)
-- [CloudQuery](https://github.com/cloudquery/cloudquery)
-- [CockroachDB](https://www.cockroachlabs.com/)
-- [Constellation](https://github.com/edgelesssys/constellation)
-- [Cosmos SDK](https://github.com/cosmos/cosmos-sdk)
-- [Datree](https://github.com/datreeio/datree)
-- [Delve](https://github.com/derekparker/delve)
-- [Docker (distribution)](https://github.com/docker/distribution)
-- [Etcd](https://etcd.io/)
-- [Gardener](https://github.com/gardener/gardenctl)
-- [Giant Swarm's gsctl](https://github.com/giantswarm/gsctl)
-- [Git Bump](https://github.com/erdaltsksn/git-bump)
-- [GitHub CLI](https://github.com/cli/cli)
-- [GitHub Labeler](https://github.com/erdaltsksn/gh-label)
-- [Golangci-lint](https://golangci-lint.run)
-- [GopherJS](https://github.com/gopherjs/gopherjs)
-- [GoReleaser](https://goreleaser.com)
-- [Helm](https://helm.sh)
-- [Hugo](https://gohugo.io)
-- [Infracost](https://github.com/infracost/infracost)
-- [Istio](https://istio.io)
-- [Kool](https://github.com/kool-dev/kool)
-- [Kubernetes](https://kubernetes.io/)
-- [Kubescape](https://github.com/kubescape/kubescape)
-- [KubeVirt](https://github.com/kubevirt/kubevirt)
-- [Linkerd](https://linkerd.io/)
-- [Mattermost-server](https://github.com/mattermost/mattermost-server)
-- [Mercure](https://mercure.rocks/)
-- [Meroxa CLI](https://github.com/meroxa/cli)
-- [Metal Stack CLI](https://github.com/metal-stack/metalctl)
-- [Moby (former Docker)](https://github.com/moby/moby)
-- [Moldy](https://github.com/Moldy-Community/moldy)
-- [Multi-gitter](https://github.com/lindell/multi-gitter)
-- [Nanobox](https://github.com/nanobox-io/nanobox)/[Nanopack](https://github.com/nanopack)
-- [nFPM](https://nfpm.goreleaser.com)
-- [Okteto](https://github.com/okteto/okteto)
-- [OpenShift](https://www.openshift.com/)
-- [Ory Hydra](https://github.com/ory/hydra)
-- [Ory Kratos](https://github.com/ory/kratos)
-- [Pixie](https://github.com/pixie-io/pixie)
-- [Polygon Edge](https://github.com/0xPolygon/polygon-edge)
-- [Pouch](https://github.com/alibaba/pouch)
-- [ProjectAtomic (enterprise)](https://www.projectatomic.io/)
-- [Prototool](https://github.com/uber/prototool)
-- [Pulumi](https://www.pulumi.com)
-- [QRcp](https://github.com/claudiodangelis/qrcp)
-- [Random](https://github.com/erdaltsksn/random)
-- [Rclone](https://rclone.org/)
-- [Scaleway CLI](https://github.com/scaleway/scaleway-cli)
-- [Sia](https://github.com/SiaFoundation/siad)
-- [Skaffold](https://skaffold.dev/)
-- [Tendermint](https://github.com/tendermint/tendermint)
-- [Twitch CLI](https://github.com/twitchdev/twitch-cli)
-- [UpCloud CLI (`upctl`)](https://github.com/UpCloudLtd/upcloud-cli)
-- [Vitess](https://vitess.io)
-- VMware's [Tanzu Community Edition](https://github.com/vmware-tanzu/community-edition) & [Tanzu Framework](https://github.com/vmware-tanzu/tanzu-framework)
-- [Werf](https://werf.io/)
-- [ZITADEL](https://github.com/zitadel/zitadel)
diff --git a/vendor/github.com/spf13/cobra/shell_completions.md b/vendor/github.com/spf13/cobra/shell_completions.md
deleted file mode 100644
index 065c0621..00000000
--- a/vendor/github.com/spf13/cobra/shell_completions.md
+++ /dev/null
@@ -1,576 +0,0 @@
-# Generating shell completions
-
-Cobra can generate shell completions for multiple shells.
-The currently supported shells are:
-- Bash
-- Zsh
-- fish
-- PowerShell
-
-Cobra will automatically provide your program with a fully functional `completion` command,
-similarly to how it provides the `help` command.
-
-## Creating your own completion command
-
-If you do not wish to use the default `completion` command, you can choose to
-provide your own, which will take precedence over the default one. (This also provides
-backwards-compatibility with programs that already have their own `completion` command.)
-
-If you are using the `cobra-cli` generator,
-which can be found at [spf13/cobra-cli](https://github.com/spf13/cobra-cli),
-you can create a completion command by running
-
-```bash
-cobra-cli add completion
-```
-and then modifying the generated `cmd/completion.go` file to look something like this
-(writing the shell script to stdout allows the most flexible use):
-
-```go
-var completionCmd = &cobra.Command{
- Use: "completion [bash|zsh|fish|powershell]",
- Short: "Generate completion script",
- Long: fmt.Sprintf(`To load completions:
-
-Bash:
-
- $ source <(%[1]s completion bash)
-
- # To load completions for each session, execute once:
- # Linux:
- $ %[1]s completion bash > /etc/bash_completion.d/%[1]s
- # macOS:
- $ %[1]s completion bash > $(brew --prefix)/etc/bash_completion.d/%[1]s
-
-Zsh:
-
- # If shell completion is not already enabled in your environment,
- # you will need to enable it. You can execute the following once:
-
- $ echo "autoload -U compinit; compinit" >> ~/.zshrc
-
- # To load completions for each session, execute once:
- $ %[1]s completion zsh > "${fpath[1]}/_%[1]s"
-
- # You will need to start a new shell for this setup to take effect.
-
-fish:
-
- $ %[1]s completion fish | source
-
- # To load completions for each session, execute once:
- $ %[1]s completion fish > ~/.config/fish/completions/%[1]s.fish
-
-PowerShell:
-
- PS> %[1]s completion powershell | Out-String | Invoke-Expression
-
- # To load completions for every new session, run:
- PS> %[1]s completion powershell > %[1]s.ps1
- # and source this file from your PowerShell profile.
-`,cmd.Root().Name()),
- DisableFlagsInUseLine: true,
- ValidArgs: []string{"bash", "zsh", "fish", "powershell"},
- Args: cobra.MatchAll(cobra.ExactArgs(1), cobra.OnlyValidArgs),
- Run: func(cmd *cobra.Command, args []string) {
- switch args[0] {
- case "bash":
- cmd.Root().GenBashCompletion(os.Stdout)
- case "zsh":
- cmd.Root().GenZshCompletion(os.Stdout)
- case "fish":
- cmd.Root().GenFishCompletion(os.Stdout, true)
- case "powershell":
- cmd.Root().GenPowerShellCompletionWithDesc(os.Stdout)
- }
- },
-}
-```
-
-**Note:** The cobra generator may include messages printed to stdout, for example, if the config file is loaded; this will break the auto-completion script so must be removed.
-
-## Adapting the default completion command
-
-Cobra provides a few options for the default `completion` command. To configure such options you must set
-the `CompletionOptions` field on the *root* command.
-
-To tell Cobra *not* to provide the default `completion` command:
-```
-rootCmd.CompletionOptions.DisableDefaultCmd = true
-```
-
-To tell Cobra to mark the default `completion` command as *hidden*:
-```
-rootCmd.CompletionOptions.HiddenDefaultCmd = true
-```
-
-To tell Cobra *not* to provide the user with the `--no-descriptions` flag to the completion sub-commands:
-```
-rootCmd.CompletionOptions.DisableNoDescFlag = true
-```
-
-To tell Cobra to completely disable descriptions for completions:
-```
-rootCmd.CompletionOptions.DisableDescriptions = true
-```
-
-# Customizing completions
-
-The generated completion scripts will automatically handle completing commands and flags. However, you can make your completions much more powerful by providing information to complete your program's nouns and flag values.
-
-## Completion of nouns
-
-### Static completion of nouns
-
-Cobra allows you to provide a pre-defined list of completion choices for your nouns using the `ValidArgs` field.
-For example, if you want `kubectl get [tab][tab]` to show a list of valid "nouns" you have to set them.
-Some simplified code from `kubectl get` looks like:
-
-```go
-validArgs = []string{ "pod", "node", "service", "replicationcontroller" }
-
-cmd := &cobra.Command{
- Use: "get [(-o|--output=)json|yaml|template|...] (RESOURCE [NAME] | RESOURCE/NAME ...)",
- Short: "Display one or many resources",
- Long: get_long,
- Example: get_example,
- Run: func(cmd *cobra.Command, args []string) {
- cobra.CheckErr(RunGet(f, out, cmd, args))
- },
- ValidArgs: validArgs,
-}
-```
-
-Notice we put the `ValidArgs` field on the `get` sub-command. Doing so will give results like:
-
-```bash
-$ kubectl get [tab][tab]
-node pod replicationcontroller service
-```
-
-#### Aliases for nouns
-
-If your nouns have aliases, you can define them alongside `ValidArgs` using `ArgAliases`:
-
-```go
-argAliases = []string { "pods", "nodes", "services", "svc", "replicationcontrollers", "rc" }
-
-cmd := &cobra.Command{
- ...
- ValidArgs: validArgs,
- ArgAliases: argAliases
-}
-```
-
-The aliases are shown to the user on tab completion only if no completions were found within sub-commands or `ValidArgs`.
-
-### Dynamic completion of nouns
-
-In some cases it is not possible to provide a list of completions in advance. Instead, the list of completions must be determined at execution-time. In a similar fashion as for static completions, you can use the `ValidArgsFunction` field to provide a Go function that Cobra will execute when it needs the list of completion choices for the nouns of a command. Note that either `ValidArgs` or `ValidArgsFunction` can be used for a single cobra command, but not both.
-Simplified code from `helm status` looks like:
-
-```go
-cmd := &cobra.Command{
- Use: "status RELEASE_NAME",
- Short: "Display the status of the named release",
- Long: status_long,
- RunE: func(cmd *cobra.Command, args []string) {
- RunGet(args[0])
- },
- ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
- if len(args) != 0 {
- return nil, cobra.ShellCompDirectiveNoFileComp
- }
- return getReleasesFromCluster(toComplete), cobra.ShellCompDirectiveNoFileComp
- },
-}
-```
-Where `getReleasesFromCluster()` is a Go function that obtains the list of current Helm releases running on the Kubernetes cluster.
-Notice we put the `ValidArgsFunction` on the `status` sub-command. Let's assume the Helm releases on the cluster are: `harbor`, `notary`, `rook` and `thanos` then this dynamic completion will give results like:
-
-```bash
-$ helm status [tab][tab]
-harbor notary rook thanos
-```
-You may have noticed the use of `cobra.ShellCompDirective`. These directives are bit fields allowing to control some shell completion behaviors for your particular completion. You can combine them with the bit-or operator such as `cobra.ShellCompDirectiveNoSpace | cobra.ShellCompDirectiveNoFileComp`
-```go
-// Indicates that the shell will perform its default behavior after completions
-// have been provided (this implies none of the other directives).
-ShellCompDirectiveDefault
-
-// Indicates an error occurred and completions should be ignored.
-ShellCompDirectiveError
-
-// Indicates that the shell should not add a space after the completion,
-// even if there is a single completion provided.
-ShellCompDirectiveNoSpace
-
-// Indicates that the shell should not provide file completion even when
-// no completion is provided.
-ShellCompDirectiveNoFileComp
-
-// Indicates that the returned completions should be used as file extension filters.
-// For example, to complete only files of the form *.json or *.yaml:
-// return []string{"yaml", "json"}, ShellCompDirectiveFilterFileExt
-// For flags, using MarkFlagFilename() and MarkPersistentFlagFilename()
-// is a shortcut to using this directive explicitly.
-//
-ShellCompDirectiveFilterFileExt
-
-// Indicates that only directory names should be provided in file completion.
-// For example:
-// return nil, ShellCompDirectiveFilterDirs
-// For flags, using MarkFlagDirname() is a shortcut to using this directive explicitly.
-//
-// To request directory names within another directory, the returned completions
-// should specify a single directory name within which to search. For example,
-// to complete directories within "themes/":
-// return []string{"themes"}, ShellCompDirectiveFilterDirs
-//
-ShellCompDirectiveFilterDirs
-
-// ShellCompDirectiveKeepOrder indicates that the shell should preserve the order
-// in which the completions are provided
-ShellCompDirectiveKeepOrder
-```
-
-***Note***: When using the `ValidArgsFunction`, Cobra will call your registered function after having parsed all flags and arguments provided in the command-line. You therefore don't need to do this parsing yourself. For example, when a user calls `helm status --namespace my-rook-ns [tab][tab]`, Cobra will call your registered `ValidArgsFunction` after having parsed the `--namespace` flag, as it would have done when calling the `RunE` function.
-
-#### Debugging
-
-Cobra achieves dynamic completion through the use of a hidden command called by the completion script. To debug your Go completion code, you can call this hidden command directly:
-```bash
-$ helm __complete status har
-harbor
-:4
-Completion ended with directive: ShellCompDirectiveNoFileComp # This is on stderr
-```
-***Important:*** If the noun to complete is empty (when the user has not yet typed any letters of that noun), you must pass an empty parameter to the `__complete` command:
-```bash
-$ helm __complete status ""
-harbor
-notary
-rook
-thanos
-:4
-Completion ended with directive: ShellCompDirectiveNoFileComp # This is on stderr
-```
-Calling the `__complete` command directly allows you to run the Go debugger to troubleshoot your code. You can also add printouts to your code; Cobra provides the following functions to use for printouts in Go completion code:
-```go
-// Prints to the completion script debug file (if BASH_COMP_DEBUG_FILE
-// is set to a file path) and optionally prints to stderr.
-cobra.CompDebug(msg string, printToStdErr bool) {
-cobra.CompDebugln(msg string, printToStdErr bool)
-
-// Prints to the completion script debug file (if BASH_COMP_DEBUG_FILE
-// is set to a file path) and to stderr.
-cobra.CompError(msg string)
-cobra.CompErrorln(msg string)
-```
-***Important:*** You should **not** leave traces that print directly to stdout in your completion code as they will be interpreted as completion choices by the completion script. Instead, use the cobra-provided debugging traces functions mentioned above.
-
-## Completions for flags
-
-### Mark flags as required
-
-Most of the time completions will only show sub-commands. But if a flag is required to make a sub-command work, you probably want it to show up when the user types [tab][tab]. You can mark a flag as 'Required' like so:
-
-```go
-cmd.MarkFlagRequired("pod")
-cmd.MarkFlagRequired("container")
-```
-
-and you'll get something like
-
-```bash
-$ kubectl exec [tab][tab]
--c --container= -p --pod=
-```
-
-### Specify dynamic flag completion
-
-As for nouns, Cobra provides a way of defining dynamic completion of flags. To provide a Go function that Cobra will execute when it needs the list of completion choices for a flag, you must register the function using the `command.RegisterFlagCompletionFunc()` function.
-
-```go
-flagName := "output"
-cmd.RegisterFlagCompletionFunc(flagName, func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
- return []string{"json", "table", "yaml"}, cobra.ShellCompDirectiveDefault
-})
-```
-Notice that calling `RegisterFlagCompletionFunc()` is done through the `command` with which the flag is associated. In our example this dynamic completion will give results like so:
-
-```bash
-$ helm status --output [tab][tab]
-json table yaml
-```
-
-#### Debugging
-
-You can also easily debug your Go completion code for flags:
-```bash
-$ helm __complete status --output ""
-json
-table
-yaml
-:4
-Completion ended with directive: ShellCompDirectiveNoFileComp # This is on stderr
-```
-***Important:*** You should **not** leave traces that print to stdout in your completion code as they will be interpreted as completion choices by the completion script. Instead, use the cobra-provided debugging traces functions mentioned further above.
-
-### Specify valid filename extensions for flags that take a filename
-
-To limit completions of flag values to file names with certain extensions you can either use the different `MarkFlagFilename()` functions or a combination of `RegisterFlagCompletionFunc()` and `ShellCompDirectiveFilterFileExt`, like so:
-```go
-flagName := "output"
-cmd.MarkFlagFilename(flagName, "yaml", "json")
-```
-or
-```go
-flagName := "output"
-cmd.RegisterFlagCompletionFunc(flagName, func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
- return []string{"yaml", "json"}, ShellCompDirectiveFilterFileExt})
-```
-
-### Limit flag completions to directory names
-
-To limit completions of flag values to directory names you can either use the `MarkFlagDirname()` functions or a combination of `RegisterFlagCompletionFunc()` and `ShellCompDirectiveFilterDirs`, like so:
-```go
-flagName := "output"
-cmd.MarkFlagDirname(flagName)
-```
-or
-```go
-flagName := "output"
-cmd.RegisterFlagCompletionFunc(flagName, func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
- return nil, cobra.ShellCompDirectiveFilterDirs
-})
-```
-To limit completions of flag values to directory names *within another directory* you can use a combination of `RegisterFlagCompletionFunc()` and `ShellCompDirectiveFilterDirs` like so:
-```go
-flagName := "output"
-cmd.RegisterFlagCompletionFunc(flagName, func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
- return []string{"themes"}, cobra.ShellCompDirectiveFilterDirs
-})
-```
-### Descriptions for completions
-
-Cobra provides support for completion descriptions. Such descriptions are supported for each shell
-(however, for bash, it is only available in the [completion V2 version](#bash-completion-v2)).
-For commands and flags, Cobra will provide the descriptions automatically, based on usage information.
-For example, using zsh:
-```
-$ helm s[tab]
-search -- search for a keyword in charts
-show -- show information of a chart
-status -- displays the status of the named release
-```
-while using fish:
-```
-$ helm s[tab]
-search (search for a keyword in charts) show (show information of a chart) status (displays the status of the named release)
-```
-
-Cobra allows you to add descriptions to your own completions. Simply add the description text after each completion, following a `\t` separator. This technique applies to completions returned by `ValidArgs`, `ValidArgsFunction` and `RegisterFlagCompletionFunc()`. For example:
-```go
-ValidArgsFunction: func(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
- return []string{"harbor\tAn image registry", "thanos\tLong-term metrics"}, cobra.ShellCompDirectiveNoFileComp
-}}
-```
-or
-```go
-ValidArgs: []string{"bash\tCompletions for bash", "zsh\tCompletions for zsh"}
-```
-
-If you don't want to show descriptions in the completions, you can add `--no-descriptions` to the default `completion` command to disable them, like:
-
-```bash
-$ source <(helm completion bash)
-$ helm completion [tab][tab]
-bash (generate autocompletion script for bash) powershell (generate autocompletion script for powershell)
-fish (generate autocompletion script for fish) zsh (generate autocompletion script for zsh)
-
-$ source <(helm completion bash --no-descriptions)
-$ helm completion [tab][tab]
-bash fish powershell zsh
-```
-## Bash completions
-
-### Dependencies
-
-The bash completion script generated by Cobra requires the `bash_completion` package. You should update the help text of your completion command to show how to install the `bash_completion` package ([Kubectl docs](https://kubernetes.io/docs/tasks/tools/install-kubectl/#enabling-shell-autocompletion))
-
-### Aliases
-
-You can also configure `bash` aliases for your program and they will also support completions.
-
-```bash
-alias aliasname=origcommand
-complete -o default -F __start_origcommand aliasname
-
-# and now when you run `aliasname` completion will make
-# suggestions as it did for `origcommand`.
-
-$ aliasname
-completion firstcommand secondcommand
-```
-### Bash legacy dynamic completions
-
-For backward compatibility, Cobra still supports its bash legacy dynamic completion solution.
-Please refer to [Bash Completions](bash_completions.md) for details.
-
-### Bash completion V2
-
-Cobra provides two versions for bash completion. The original bash completion (which started it all!) can be used by calling
-`GenBashCompletion()` or `GenBashCompletionFile()`.
-
-A new V2 bash completion version is also available. This version can be used by calling `GenBashCompletionV2()` or
-`GenBashCompletionFileV2()`. The V2 version does **not** support the legacy dynamic completion
-(see [Bash Completions](bash_completions.md)) but instead works only with the Go dynamic completion
-solution described in this document.
-Unless your program already uses the legacy dynamic completion solution, it is recommended that you use the bash
-completion V2 solution which provides the following extra features:
-- Supports completion descriptions (like the other shells)
-- Small completion script of less than 300 lines (v1 generates scripts of thousands of lines; `kubectl` for example has a bash v1 completion script of over 13K lines)
-- Streamlined user experience thanks to a completion behavior aligned with the other shells
-
-`Bash` completion V2 supports descriptions for completions. When calling `GenBashCompletionV2()` or `GenBashCompletionFileV2()`
-you must provide these functions with a parameter indicating if the completions should be annotated with a description; Cobra
-will provide the description automatically based on usage information. You can choose to make this option configurable by
-your users.
-
-```
-# With descriptions
-$ helm s[tab][tab]
-search (search for a keyword in charts) status (display the status of the named release)
-show (show information of a chart)
-
-# Without descriptions
-$ helm s[tab][tab]
-search show status
-```
-**Note**: Cobra's default `completion` command uses bash completion V2. If for some reason you need to use bash completion V1, you will need to implement your own `completion` command.
-## Zsh completions
-
-Cobra supports native zsh completion generated from the root `cobra.Command`.
-The generated completion script should be put somewhere in your `$fpath` and be named
-`_`. You will need to start a new shell for the completions to become available.
-
-Zsh supports descriptions for completions. Cobra will provide the description automatically,
-based on usage information. Cobra provides a way to completely disable such descriptions by
-using `GenZshCompletionNoDesc()` or `GenZshCompletionFileNoDesc()`. You can choose to make
-this a configurable option to your users.
-```
-# With descriptions
-$ helm s[tab]
-search -- search for a keyword in charts
-show -- show information of a chart
-status -- displays the status of the named release
-
-# Without descriptions
-$ helm s[tab]
-search show status
-```
-*Note*: Because of backward-compatibility requirements, we were forced to have a different API to disable completion descriptions between `zsh` and `fish`.
-
-### Limitations
-
-* Custom completions implemented in Bash scripting (legacy) are not supported and will be ignored for `zsh` (including the use of the `BashCompCustom` flag annotation).
- * You should instead use `ValidArgsFunction` and `RegisterFlagCompletionFunc()` which are portable to the different shells (`bash`, `zsh`, `fish`, `powershell`).
-* The function `MarkFlagCustom()` is not supported and will be ignored for `zsh`.
- * You should instead use `RegisterFlagCompletionFunc()`.
-
-### Zsh completions standardization
-
-Cobra 1.1 standardized its zsh completion support to align it with its other shell completions. Although the API was kept backward-compatible, some small changes in behavior were introduced.
-Please refer to [Zsh Completions](zsh_completions.md) for details.
-
-## fish completions
-
-Cobra supports native fish completions generated from the root `cobra.Command`. You can use the `command.GenFishCompletion()` or `command.GenFishCompletionFile()` functions. You must provide these functions with a parameter indicating if the completions should be annotated with a description; Cobra will provide the description automatically based on usage information. You can choose to make this option configurable by your users.
-```
-# With descriptions
-$ helm s[tab]
-search (search for a keyword in charts) show (show information of a chart) status (displays the status of the named release)
-
-# Without descriptions
-$ helm s[tab]
-search show status
-```
-*Note*: Because of backward-compatibility requirements, we were forced to have a different API to disable completion descriptions between `zsh` and `fish`.
-
-### Limitations
-
-* Custom completions implemented in bash scripting (legacy) are not supported and will be ignored for `fish` (including the use of the `BashCompCustom` flag annotation).
- * You should instead use `ValidArgsFunction` and `RegisterFlagCompletionFunc()` which are portable to the different shells (`bash`, `zsh`, `fish`, `powershell`).
-* The function `MarkFlagCustom()` is not supported and will be ignored for `fish`.
- * You should instead use `RegisterFlagCompletionFunc()`.
-* The following flag completion annotations are not supported and will be ignored for `fish`:
- * `BashCompFilenameExt` (filtering by file extension)
- * `BashCompSubdirsInDir` (filtering by directory)
-* The functions corresponding to the above annotations are consequently not supported and will be ignored for `fish`:
- * `MarkFlagFilename()` and `MarkPersistentFlagFilename()` (filtering by file extension)
- * `MarkFlagDirname()` and `MarkPersistentFlagDirname()` (filtering by directory)
-* Similarly, the following completion directives are not supported and will be ignored for `fish`:
- * `ShellCompDirectiveFilterFileExt` (filtering by file extension)
- * `ShellCompDirectiveFilterDirs` (filtering by directory)
-
-## PowerShell completions
-
-Cobra supports native PowerShell completions generated from the root `cobra.Command`. You can use the `command.GenPowerShellCompletion()` or `command.GenPowerShellCompletionFile()` functions. To include descriptions use `command.GenPowerShellCompletionWithDesc()` and `command.GenPowerShellCompletionFileWithDesc()`. Cobra will provide the description automatically based on usage information. You can choose to make this option configurable by your users.
-
-The script is designed to support all three PowerShell completion modes:
-
-* TabCompleteNext (default windows style - on each key press the next option is displayed)
-* Complete (works like bash)
-* MenuComplete (works like zsh)
-
-You set the mode with `Set-PSReadLineKeyHandler -Key Tab -Function `. Descriptions are only displayed when using the `Complete` or `MenuComplete` mode.
-
-Users need PowerShell version 5.0 or above, which comes with Windows 10 and can be downloaded separately for Windows 7 or 8.1. They can then write the completions to a file and source this file from their PowerShell profile, which is referenced by the `$Profile` environment variable. See `Get-Help about_Profiles` for more info about PowerShell profiles.
-
-```
-# With descriptions and Mode 'Complete'
-$ helm s[tab]
-search (search for a keyword in charts) show (show information of a chart) status (displays the status of the named release)
-
-# With descriptions and Mode 'MenuComplete' The description of the current selected value will be displayed below the suggestions.
-$ helm s[tab]
-search show status
-
-search for a keyword in charts
-
-# Without descriptions
-$ helm s[tab]
-search show status
-```
-### Aliases
-
-You can also configure `powershell` aliases for your program and they will also support completions.
-
-```
-$ sal aliasname origcommand
-$ Register-ArgumentCompleter -CommandName 'aliasname' -ScriptBlock $__origcommandCompleterBlock
-
-# and now when you run `aliasname` completion will make
-# suggestions as it did for `origcommand`.
-
-$ aliasname
-completion firstcommand secondcommand
-```
-The name of the completer block variable is of the form `$__CompleterBlock` where every `-` and `:` in the program name have been replaced with `_`, to respect powershell naming syntax.
-
-### Limitations
-
-* Custom completions implemented in bash scripting (legacy) are not supported and will be ignored for `powershell` (including the use of the `BashCompCustom` flag annotation).
- * You should instead use `ValidArgsFunction` and `RegisterFlagCompletionFunc()` which are portable to the different shells (`bash`, `zsh`, `fish`, `powershell`).
-* The function `MarkFlagCustom()` is not supported and will be ignored for `powershell`.
- * You should instead use `RegisterFlagCompletionFunc()`.
-* The following flag completion annotations are not supported and will be ignored for `powershell`:
- * `BashCompFilenameExt` (filtering by file extension)
- * `BashCompSubdirsInDir` (filtering by directory)
-* The functions corresponding to the above annotations are consequently not supported and will be ignored for `powershell`:
- * `MarkFlagFilename()` and `MarkPersistentFlagFilename()` (filtering by file extension)
- * `MarkFlagDirname()` and `MarkPersistentFlagDirname()` (filtering by directory)
-* Similarly, the following completion directives are not supported and will be ignored for `powershell`:
- * `ShellCompDirectiveFilterFileExt` (filtering by file extension)
- * `ShellCompDirectiveFilterDirs` (filtering by directory)
diff --git a/vendor/github.com/spf13/cobra/user_guide.md b/vendor/github.com/spf13/cobra/user_guide.md
deleted file mode 100644
index 85201d84..00000000
--- a/vendor/github.com/spf13/cobra/user_guide.md
+++ /dev/null
@@ -1,726 +0,0 @@
-# User Guide
-
-While you are welcome to provide your own organization, typically a Cobra-based
-application will follow the following organizational structure:
-
-```
- ▾ appName/
- ▾ cmd/
- add.go
- your.go
- commands.go
- here.go
- main.go
-```
-
-In a Cobra app, typically the main.go file is very bare. It serves one purpose: initializing Cobra.
-
-```go
-package main
-
-import (
- "{pathToYourApp}/cmd"
-)
-
-func main() {
- cmd.Execute()
-}
-```
-
-## Using the Cobra Generator
-
-Cobra-CLI is its own program that will create your application and add any
-commands you want. It's the easiest way to incorporate Cobra into your application.
-
-For complete details on using the Cobra generator, please refer to [The Cobra-CLI Generator README](https://github.com/spf13/cobra-cli/blob/main/README.md)
-
-## Using the Cobra Library
-
-To manually implement Cobra you need to create a bare main.go file and a rootCmd file.
-You will optionally provide additional commands as you see fit.
-
-### Create rootCmd
-
-Cobra doesn't require any special constructors. Simply create your commands.
-
-Ideally you place this in app/cmd/root.go:
-
-```go
-var rootCmd = &cobra.Command{
- Use: "hugo",
- Short: "Hugo is a very fast static site generator",
- Long: `A Fast and Flexible Static Site Generator built with
- love by spf13 and friends in Go.
- Complete documentation is available at https://gohugo.io/documentation/`,
- Run: func(cmd *cobra.Command, args []string) {
- // Do Stuff Here
- },
-}
-
-func Execute() {
- if err := rootCmd.Execute(); err != nil {
- fmt.Fprintln(os.Stderr, err)
- os.Exit(1)
- }
-}
-```
-
-You will additionally define flags and handle configuration in your init() function.
-
-For example cmd/root.go:
-
-```go
-package cmd
-
-import (
- "fmt"
- "os"
-
- "github.com/spf13/cobra"
- "github.com/spf13/viper"
-)
-
-var (
- // Used for flags.
- cfgFile string
- userLicense string
-
- rootCmd = &cobra.Command{
- Use: "cobra-cli",
- Short: "A generator for Cobra based Applications",
- Long: `Cobra is a CLI library for Go that empowers applications.
-This application is a tool to generate the needed files
-to quickly create a Cobra application.`,
- }
-)
-
-// Execute executes the root command.
-func Execute() error {
- return rootCmd.Execute()
-}
-
-func init() {
- cobra.OnInitialize(initConfig)
-
- rootCmd.PersistentFlags().StringVar(&cfgFile, "config", "", "config file (default is $HOME/.cobra.yaml)")
- rootCmd.PersistentFlags().StringP("author", "a", "YOUR NAME", "author name for copyright attribution")
- rootCmd.PersistentFlags().StringVarP(&userLicense, "license", "l", "", "name of license for the project")
- rootCmd.PersistentFlags().Bool("viper", true, "use Viper for configuration")
- viper.BindPFlag("author", rootCmd.PersistentFlags().Lookup("author"))
- viper.BindPFlag("useViper", rootCmd.PersistentFlags().Lookup("viper"))
- viper.SetDefault("author", "NAME HERE ")
- viper.SetDefault("license", "apache")
-
- rootCmd.AddCommand(addCmd)
- rootCmd.AddCommand(initCmd)
-}
-
-func initConfig() {
- if cfgFile != "" {
- // Use config file from the flag.
- viper.SetConfigFile(cfgFile)
- } else {
- // Find home directory.
- home, err := os.UserHomeDir()
- cobra.CheckErr(err)
-
- // Search config in home directory with name ".cobra" (without extension).
- viper.AddConfigPath(home)
- viper.SetConfigType("yaml")
- viper.SetConfigName(".cobra")
- }
-
- viper.AutomaticEnv()
-
- if err := viper.ReadInConfig(); err == nil {
- fmt.Println("Using config file:", viper.ConfigFileUsed())
- }
-}
-```
-
-### Create your main.go
-
-With the root command you need to have your main function execute it.
-Execute should be run on the root for clarity, though it can be called on any command.
-
-In a Cobra app, typically the main.go file is very bare. It serves one purpose: to initialize Cobra.
-
-```go
-package main
-
-import (
- "{pathToYourApp}/cmd"
-)
-
-func main() {
- cmd.Execute()
-}
-```
-
-### Create additional commands
-
-Additional commands can be defined and typically are each given their own file
-inside of the cmd/ directory.
-
-If you wanted to create a version command you would create cmd/version.go and
-populate it with the following:
-
-```go
-package cmd
-
-import (
- "fmt"
-
- "github.com/spf13/cobra"
-)
-
-func init() {
- rootCmd.AddCommand(versionCmd)
-}
-
-var versionCmd = &cobra.Command{
- Use: "version",
- Short: "Print the version number of Hugo",
- Long: `All software has versions. This is Hugo's`,
- Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("Hugo Static Site Generator v0.9 -- HEAD")
- },
-}
-```
-
-### Organizing subcommands
-
-A command may have subcommands which in turn may have other subcommands. This is achieved by using
-`AddCommand`. In some cases, especially in larger applications, each subcommand may be defined in
-its own go package.
-
-The suggested approach is for the parent command to use `AddCommand` to add its most immediate
-subcommands. For example, consider the following directory structure:
-
-```text
-├── cmd
-│ ├── root.go
-│ └── sub1
-│ ├── sub1.go
-│ └── sub2
-│ ├── leafA.go
-│ ├── leafB.go
-│ └── sub2.go
-└── main.go
-```
-
-In this case:
-
-* The `init` function of `root.go` adds the command defined in `sub1.go` to the root command.
-* The `init` function of `sub1.go` adds the command defined in `sub2.go` to the sub1 command.
-* The `init` function of `sub2.go` adds the commands defined in `leafA.go` and `leafB.go` to the
- sub2 command.
-
-This approach ensures the subcommands are always included at compile time while avoiding cyclic
-references.
-
-### Returning and handling errors
-
-If you wish to return an error to the caller of a command, `RunE` can be used.
-
-```go
-package cmd
-
-import (
- "fmt"
-
- "github.com/spf13/cobra"
-)
-
-func init() {
- rootCmd.AddCommand(tryCmd)
-}
-
-var tryCmd = &cobra.Command{
- Use: "try",
- Short: "Try and possibly fail at something",
- RunE: func(cmd *cobra.Command, args []string) error {
- if err := someFunc(); err != nil {
- return err
- }
- return nil
- },
-}
-```
-
-The error can then be caught at the execute function call.
-
-## Working with Flags
-
-Flags provide modifiers to control how the action command operates.
-
-### Assign flags to a command
-
-Since the flags are defined and used in different locations, we need to
-define a variable outside with the correct scope to assign the flag to
-work with.
-
-```go
-var Verbose bool
-var Source string
-```
-
-There are two different approaches to assign a flag.
-
-### Persistent Flags
-
-A flag can be 'persistent', meaning that this flag will be available to the
-command it's assigned to as well as every command under that command. For
-global flags, assign a flag as a persistent flag on the root.
-
-```go
-rootCmd.PersistentFlags().BoolVarP(&Verbose, "verbose", "v", false, "verbose output")
-```
-
-### Local Flags
-
-A flag can also be assigned locally, which will only apply to that specific command.
-
-```go
-localCmd.Flags().StringVarP(&Source, "source", "s", "", "Source directory to read from")
-```
-
-### Local Flag on Parent Commands
-
-By default, Cobra only parses local flags on the target command, and any local flags on
-parent commands are ignored. By enabling `Command.TraverseChildren`, Cobra will
-parse local flags on each command before executing the target command.
-
-```go
-command := cobra.Command{
- Use: "print [OPTIONS] [COMMANDS]",
- TraverseChildren: true,
-}
-```
-
-### Bind Flags with Config
-
-You can also bind your flags with [viper](https://github.com/spf13/viper):
-```go
-var author string
-
-func init() {
- rootCmd.PersistentFlags().StringVar(&author, "author", "YOUR NAME", "Author name for copyright attribution")
- viper.BindPFlag("author", rootCmd.PersistentFlags().Lookup("author"))
-}
-```
-
-In this example, the persistent flag `author` is bound with `viper`.
-**Note**: the variable `author` will not be set to the value from config,
-when the `--author` flag is provided by user.
-
-More in [viper documentation](https://github.com/spf13/viper#working-with-flags).
-
-### Required flags
-
-Flags are optional by default. If instead you wish your command to report an error
-when a flag has not been set, mark it as required:
-```go
-rootCmd.Flags().StringVarP(&Region, "region", "r", "", "AWS region (required)")
-rootCmd.MarkFlagRequired("region")
-```
-
-Or, for persistent flags:
-```go
-rootCmd.PersistentFlags().StringVarP(&Region, "region", "r", "", "AWS region (required)")
-rootCmd.MarkPersistentFlagRequired("region")
-```
-
-### Flag Groups
-
-If you have different flags that must be provided together (e.g. if they provide the `--username` flag they MUST provide the `--password` flag as well) then
-Cobra can enforce that requirement:
-```go
-rootCmd.Flags().StringVarP(&u, "username", "u", "", "Username (required if password is set)")
-rootCmd.Flags().StringVarP(&pw, "password", "p", "", "Password (required if username is set)")
-rootCmd.MarkFlagsRequiredTogether("username", "password")
-```
-
-You can also prevent different flags from being provided together if they represent mutually
-exclusive options such as specifying an output format as either `--json` or `--yaml` but never both:
-```go
-rootCmd.Flags().BoolVar(&ofJson, "json", false, "Output in JSON")
-rootCmd.Flags().BoolVar(&ofYaml, "yaml", false, "Output in YAML")
-rootCmd.MarkFlagsMutuallyExclusive("json", "yaml")
-```
-
-In both of these cases:
- - both local and persistent flags can be used
- - **NOTE:** the group is only enforced on commands where every flag is defined
- - a flag may appear in multiple groups
- - a group may contain any number of flags
-
-## Positional and Custom Arguments
-
-Validation of positional arguments can be specified using the `Args` field of `Command`.
-The following validators are built in:
-
-- Number of arguments:
- - `NoArgs` - report an error if there are any positional args.
- - `ArbitraryArgs` - accept any number of args.
- - `MinimumNArgs(int)` - report an error if less than N positional args are provided.
- - `MaximumNArgs(int)` - report an error if more than N positional args are provided.
- - `ExactArgs(int)` - report an error if there are not exactly N positional args.
- - `RangeArgs(min, max)` - report an error if the number of args is not between `min` and `max`.
-- Content of the arguments:
- - `OnlyValidArgs` - report an error if there are any positional args not specified in the `ValidArgs` field of `Command`, which can optionally be set to a list of valid values for positional args.
-
-If `Args` is undefined or `nil`, it defaults to `ArbitraryArgs`.
-
-Moreover, `MatchAll(pargs ...PositionalArgs)` enables combining existing checks with arbitrary other checks.
-For instance, if you want to report an error if there are not exactly N positional args OR if there are any positional
-args that are not in the `ValidArgs` field of `Command`, you can call `MatchAll` on `ExactArgs` and `OnlyValidArgs`, as
-shown below:
-
-```go
-var cmd = &cobra.Command{
- Short: "hello",
- Args: cobra.MatchAll(cobra.ExactArgs(2), cobra.OnlyValidArgs),
- Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("Hello, World!")
- },
-}
-```
-
-It is possible to set any custom validator that satisfies `func(cmd *cobra.Command, args []string) error`.
-For example:
-
-```go
-var cmd = &cobra.Command{
- Short: "hello",
- Args: func(cmd *cobra.Command, args []string) error {
- // Optionally run one of the validators provided by cobra
- if err := cobra.MinimumNArgs(1)(cmd, args); err != nil {
- return err
- }
- // Run the custom validation logic
- if myapp.IsValidColor(args[0]) {
- return nil
- }
- return fmt.Errorf("invalid color specified: %s", args[0])
- },
- Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("Hello, World!")
- },
-}
-```
-
-## Example
-
-In the example below, we have defined three commands. Two are at the top level
-and one (cmdTimes) is a child of one of the top commands. In this case the root
-is not executable, meaning that a subcommand is required. This is accomplished
-by not providing a 'Run' for the 'rootCmd'.
-
-We have only defined one flag for a single command.
-
-More documentation about flags is available at https://github.com/spf13/pflag
-
-```go
-package main
-
-import (
- "fmt"
- "strings"
-
- "github.com/spf13/cobra"
-)
-
-func main() {
- var echoTimes int
-
- var cmdPrint = &cobra.Command{
- Use: "print [string to print]",
- Short: "Print anything to the screen",
- Long: `print is for printing anything back to the screen.
-For many years people have printed back to the screen.`,
- Args: cobra.MinimumNArgs(1),
- Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("Print: " + strings.Join(args, " "))
- },
- }
-
- var cmdEcho = &cobra.Command{
- Use: "echo [string to echo]",
- Short: "Echo anything to the screen",
- Long: `echo is for echoing anything back.
-Echo works a lot like print, except it has a child command.`,
- Args: cobra.MinimumNArgs(1),
- Run: func(cmd *cobra.Command, args []string) {
- fmt.Println("Echo: " + strings.Join(args, " "))
- },
- }
-
- var cmdTimes = &cobra.Command{
- Use: "times [string to echo]",
- Short: "Echo anything to the screen more times",
- Long: `echo things multiple times back to the user by providing
-a count and a string.`,
- Args: cobra.MinimumNArgs(1),
- Run: func(cmd *cobra.Command, args []string) {
- for i := 0; i < echoTimes; i++ {
- fmt.Println("Echo: " + strings.Join(args, " "))
- }
- },
- }
-
- cmdTimes.Flags().IntVarP(&echoTimes, "times", "t", 1, "times to echo the input")
-
- var rootCmd = &cobra.Command{Use: "app"}
- rootCmd.AddCommand(cmdPrint, cmdEcho)
- cmdEcho.AddCommand(cmdTimes)
- rootCmd.Execute()
-}
-```
-
-For a more complete example of a larger application, please checkout [Hugo](https://gohugo.io/).
-
-## Help Command
-
-Cobra automatically adds a help command to your application when you have subcommands.
-This will be called when a user runs 'app help'. Additionally, help will also
-support all other commands as input. Say, for instance, you have a command called
-'create' without any additional configuration; Cobra will work when 'app help
-create' is called. Every command will automatically have the '--help' flag added.
-
-### Example
-
-The following output is automatically generated by Cobra. Nothing beyond the
-command and flag definitions are needed.
-
- $ cobra-cli help
-
- Cobra is a CLI library for Go that empowers applications.
- This application is a tool to generate the needed files
- to quickly create a Cobra application.
-
- Usage:
- cobra-cli [command]
-
- Available Commands:
- add Add a command to a Cobra Application
- completion Generate the autocompletion script for the specified shell
- help Help about any command
- init Initialize a Cobra Application
-
- Flags:
- -a, --author string author name for copyright attribution (default "YOUR NAME")
- --config string config file (default is $HOME/.cobra.yaml)
- -h, --help help for cobra-cli
- -l, --license string name of license for the project
- --viper use Viper for configuration
-
- Use "cobra-cli [command] --help" for more information about a command.
-
-
-Help is just a command like any other. There is no special logic or behavior
-around it. In fact, you can provide your own if you want.
-
-### Grouping commands in help
-
-Cobra supports grouping of available commands in the help output. To group commands, each group must be explicitly
-defined using `AddGroup()` on the parent command. Then a subcommand can be added to a group using the `GroupID` element
-of that subcommand. The groups will appear in the help output in the same order as they are defined using different
-calls to `AddGroup()`. If you use the generated `help` or `completion` commands, you can set their group ids using
-`SetHelpCommandGroupId()` and `SetCompletionCommandGroupId()` on the root command, respectively.
-
-### Defining your own help
-
-You can provide your own Help command or your own template for the default command to use
-with the following functions:
-
-```go
-cmd.SetHelpCommand(cmd *Command)
-cmd.SetHelpFunc(f func(*Command, []string))
-cmd.SetHelpTemplate(s string)
-```
-
-The latter two will also apply to any children commands.
-
-## Usage Message
-
-When the user provides an invalid flag or invalid command, Cobra responds by
-showing the user the 'usage'.
-
-### Example
-You may recognize this from the help above. That's because the default help
-embeds the usage as part of its output.
-
- $ cobra-cli --invalid
- Error: unknown flag: --invalid
- Usage:
- cobra-cli [command]
-
- Available Commands:
- add Add a command to a Cobra Application
- completion Generate the autocompletion script for the specified shell
- help Help about any command
- init Initialize a Cobra Application
-
- Flags:
- -a, --author string author name for copyright attribution (default "YOUR NAME")
- --config string config file (default is $HOME/.cobra.yaml)
- -h, --help help for cobra-cli
- -l, --license string name of license for the project
- --viper use Viper for configuration
-
- Use "cobra [command] --help" for more information about a command.
-
-### Defining your own usage
-You can provide your own usage function or template for Cobra to use.
-Like help, the function and template are overridable through public methods:
-
-```go
-cmd.SetUsageFunc(f func(*Command) error)
-cmd.SetUsageTemplate(s string)
-```
-
-## Version Flag
-
-Cobra adds a top-level '--version' flag if the Version field is set on the root command.
-Running an application with the '--version' flag will print the version to stdout using
-the version template. The template can be customized using the
-`cmd.SetVersionTemplate(s string)` function.
-
-## PreRun and PostRun Hooks
-
-It is possible to run functions before or after the main `Run` function of your command. The `PersistentPreRun` and `PreRun` functions will be executed before `Run`. `PersistentPostRun` and `PostRun` will be executed after `Run`. The `Persistent*Run` functions will be inherited by children if they do not declare their own. These functions are run in the following order:
-
-- `PersistentPreRun`
-- `PreRun`
-- `Run`
-- `PostRun`
-- `PersistentPostRun`
-
-An example of two commands which use all of these features is below. When the subcommand is executed, it will run the root command's `PersistentPreRun` but not the root command's `PersistentPostRun`:
-
-```go
-package main
-
-import (
- "fmt"
-
- "github.com/spf13/cobra"
-)
-
-func main() {
-
- var rootCmd = &cobra.Command{
- Use: "root [sub]",
- Short: "My root command",
- PersistentPreRun: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside rootCmd PersistentPreRun with args: %v\n", args)
- },
- PreRun: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside rootCmd PreRun with args: %v\n", args)
- },
- Run: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside rootCmd Run with args: %v\n", args)
- },
- PostRun: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside rootCmd PostRun with args: %v\n", args)
- },
- PersistentPostRun: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside rootCmd PersistentPostRun with args: %v\n", args)
- },
- }
-
- var subCmd = &cobra.Command{
- Use: "sub [no options!]",
- Short: "My subcommand",
- PreRun: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside subCmd PreRun with args: %v\n", args)
- },
- Run: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside subCmd Run with args: %v\n", args)
- },
- PostRun: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside subCmd PostRun with args: %v\n", args)
- },
- PersistentPostRun: func(cmd *cobra.Command, args []string) {
- fmt.Printf("Inside subCmd PersistentPostRun with args: %v\n", args)
- },
- }
-
- rootCmd.AddCommand(subCmd)
-
- rootCmd.SetArgs([]string{""})
- rootCmd.Execute()
- fmt.Println()
- rootCmd.SetArgs([]string{"sub", "arg1", "arg2"})
- rootCmd.Execute()
-}
-```
-
-Output:
-```
-Inside rootCmd PersistentPreRun with args: []
-Inside rootCmd PreRun with args: []
-Inside rootCmd Run with args: []
-Inside rootCmd PostRun with args: []
-Inside rootCmd PersistentPostRun with args: []
-
-Inside rootCmd PersistentPreRun with args: [arg1 arg2]
-Inside subCmd PreRun with args: [arg1 arg2]
-Inside subCmd Run with args: [arg1 arg2]
-Inside subCmd PostRun with args: [arg1 arg2]
-Inside subCmd PersistentPostRun with args: [arg1 arg2]
-```
-
-## Suggestions when "unknown command" happens
-
-Cobra will print automatic suggestions when "unknown command" errors happen. This allows Cobra to behave similarly to the `git` command when a typo happens. For example:
-
-```
-$ hugo srever
-Error: unknown command "srever" for "hugo"
-
-Did you mean this?
- server
-
-Run 'hugo --help' for usage.
-```
-
-Suggestions are automatically generated based on existing subcommands and use an implementation of [Levenshtein distance](https://en.wikipedia.org/wiki/Levenshtein_distance). Every registered command that matches a minimum distance of 2 (ignoring case) will be displayed as a suggestion.
-
-If you need to disable suggestions or tweak the string distance in your command, use:
-
-```go
-command.DisableSuggestions = true
-```
-
-or
-
-```go
-command.SuggestionsMinimumDistance = 1
-```
-
-You can also explicitly set names for which a given command will be suggested using the `SuggestFor` attribute. This allows suggestions for strings that are not close in terms of string distance, but make sense in your set of commands but for which
-you don't want aliases. Example:
-
-```
-$ kubectl remove
-Error: unknown command "remove" for "kubectl"
-
-Did you mean this?
- delete
-
-Run 'kubectl help' for usage.
-```
-
-## Generating documentation for your command
-
-Cobra can generate documentation based on subcommands, flags, etc. Read more about it in the [docs generation documentation](doc/README.md).
-
-## Generating shell completions
-
-Cobra can generate a shell-completion file for the following shells: bash, zsh, fish, PowerShell. If you add more information to your commands, these completions can be amazingly powerful and flexible. Read more about it in [Shell Completions](shell_completions.md).
-
-## Providing Active Help
-
-Cobra makes use of the shell-completion system to define a framework allowing you to provide Active Help to your users. Active Help are messages (hints, warnings, etc) printed as the program is being used. Read more about it in [Active Help](active_help.md).
diff --git a/vendor/github.com/spf13/cobra/zsh_completions.md b/vendor/github.com/spf13/cobra/zsh_completions.md
deleted file mode 100644
index 7cff6178..00000000
--- a/vendor/github.com/spf13/cobra/zsh_completions.md
+++ /dev/null
@@ -1,48 +0,0 @@
-## Generating Zsh Completion For Your cobra.Command
-
-Please refer to [Shell Completions](shell_completions.md) for details.
-
-## Zsh completions standardization
-
-Cobra 1.1 standardized its zsh completion support to align it with its other shell completions. Although the API was kept backwards-compatible, some small changes in behavior were introduced.
-
-### Deprecation summary
-
-See further below for more details on these deprecations.
-
-* `cmd.MarkZshCompPositionalArgumentFile(pos, []string{})` is no longer needed. It is therefore **deprecated** and silently ignored.
-* `cmd.MarkZshCompPositionalArgumentFile(pos, glob[])` is **deprecated** and silently ignored.
- * Instead use `ValidArgsFunction` with `ShellCompDirectiveFilterFileExt`.
-* `cmd.MarkZshCompPositionalArgumentWords()` is **deprecated** and silently ignored.
- * Instead use `ValidArgsFunction`.
-
-### Behavioral changes
-
-**Noun completion**
-|Old behavior|New behavior|
-|---|---|
-|No file completion by default (opposite of bash)|File completion by default; use `ValidArgsFunction` with `ShellCompDirectiveNoFileComp` to turn off file completion on a per-argument basis|
-|Completion of flag names without the `-` prefix having been typed|Flag names are only completed if the user has typed the first `-`|
-`cmd.MarkZshCompPositionalArgumentFile(pos, []string{})` used to turn on file completion on a per-argument position basis|File completion for all arguments by default; `cmd.MarkZshCompPositionalArgumentFile()` is **deprecated** and silently ignored|
-|`cmd.MarkZshCompPositionalArgumentFile(pos, glob[])` used to turn on file completion **with glob filtering** on a per-argument position basis (zsh-specific)|`cmd.MarkZshCompPositionalArgumentFile()` is **deprecated** and silently ignored; use `ValidArgsFunction` with `ShellCompDirectiveFilterFileExt` for file **extension** filtering (not full glob filtering)|
-|`cmd.MarkZshCompPositionalArgumentWords(pos, words[])` used to provide completion choices on a per-argument position basis (zsh-specific)|`cmd.MarkZshCompPositionalArgumentWords()` is **deprecated** and silently ignored; use `ValidArgsFunction` to achieve the same behavior|
-
-**Flag-value completion**
-
-|Old behavior|New behavior|
-|---|---|
-|No file completion by default (opposite of bash)|File completion by default; use `RegisterFlagCompletionFunc()` with `ShellCompDirectiveNoFileComp` to turn off file completion|
-|`cmd.MarkFlagFilename(flag, []string{})` and similar used to turn on file completion|File completion by default; `cmd.MarkFlagFilename(flag, []string{})` no longer needed in this context and silently ignored|
-|`cmd.MarkFlagFilename(flag, glob[])` used to turn on file completion **with glob filtering** (syntax of `[]string{"*.yaml", "*.yml"}` incompatible with bash)|Will continue to work, however, support for bash syntax is added and should be used instead so as to work for all shells (`[]string{"yaml", "yml"}`)|
-|`cmd.MarkFlagDirname(flag)` only completes directories (zsh-specific)|Has been added for all shells|
-|Completion of a flag name does not repeat, unless flag is of type `*Array` or `*Slice` (not supported by bash)|Retained for `zsh` and added to `fish`|
-|Completion of a flag name does not provide the `=` form (unlike bash)|Retained for `zsh` and added to `fish`|
-
-**Improvements**
-
-* Custom completion support (`ValidArgsFunction` and `RegisterFlagCompletionFunc()`)
-* File completion by default if no other completions found
-* Handling of required flags
-* File extension filtering no longer mutually exclusive with bash usage
-* Completion of directory names *within* another directory
-* Support for `=` form of flags
diff --git a/vendor/github.com/spf13/viper/.golangci.yaml b/vendor/github.com/spf13/viper/.golangci.yaml
index acd9eeba..1faeae42 100644
--- a/vendor/github.com/spf13/viper/.golangci.yaml
+++ b/vendor/github.com/spf13/viper/.golangci.yaml
@@ -7,6 +7,16 @@ linters-settings:
- standard
- default
- prefix(github.com/spf13/viper)
+ gocritic:
+ # Enable multiple checks by tags. See "Tags" section in https://github.com/go-critic/go-critic#usage.
+ enabled-tags:
+ - diagnostic
+ - experimental
+ - opinionated
+ - style
+ disabled-checks:
+ - importShadow
+ - unnamedResult
golint:
min-confidence: 0
goimports:
@@ -22,6 +32,8 @@ linters:
- exhaustive
- exportloopref
- gci
+ - gocritic
+ - godot
- gofmt
- gofumpt
- goimports
@@ -62,9 +74,7 @@ linters:
# - gochecknoinits
# - gocognit
# - goconst
- # - gocritic
# - gocyclo
- # - godot
# - gosec
# - gosimple
# - ifshort
diff --git a/vendor/github.com/spf13/viper/README.md b/vendor/github.com/spf13/viper/README.md
index 78102fbe..b96180b3 100644
--- a/vendor/github.com/spf13/viper/README.md
+++ b/vendor/github.com/spf13/viper/README.md
@@ -418,6 +418,8 @@ in a Key/Value store such as etcd or Consul. These values take precedence over
default values, but are overridden by configuration values retrieved from disk,
flags, or environment variables.
+Viper supports multiple hosts. To use, pass a list of endpoints separated by `;`. For example `http://127.0.0.1:4001;http://127.0.0.1:4002`.
+
Viper uses [crypt](https://github.com/bketelsen/crypt) to retrieve
configuration from the K/V store, which means that you can store your
configuration values encrypted and have them automatically decrypted if you have
@@ -563,6 +565,9 @@ One important thing to recognize is that each Get function will return a zero
value if it’s not found. To check if a given key exists, the `IsSet()` method
has been provided.
+The zero value will also be returned if the value is set, but fails to parse
+as the requested type.
+
Example:
```go
viper.GetString("logfile") // case-insensitive Setting & Getting
diff --git a/vendor/github.com/spf13/viper/viper_go1_15.go b/vendor/github.com/spf13/viper/file.go
similarity index 97%
rename from vendor/github.com/spf13/viper/viper_go1_15.go
rename to vendor/github.com/spf13/viper/file.go
index 7fc6aff3..a54fe5a7 100644
--- a/vendor/github.com/spf13/viper/viper_go1_15.go
+++ b/vendor/github.com/spf13/viper/file.go
@@ -43,7 +43,7 @@ func (v *Viper) searchInPath(in string) (filename string) {
return ""
}
-// Check if file Exists
+// exists checks if file exists.
func exists(fs afero.Fs, path string) (bool, error) {
stat, err := fs.Stat(path)
if err == nil {
diff --git a/vendor/github.com/spf13/viper/viper_go1_16.go b/vendor/github.com/spf13/viper/file_finder.go
similarity index 100%
rename from vendor/github.com/spf13/viper/viper_go1_16.go
rename to vendor/github.com/spf13/viper/file_finder.go
diff --git a/vendor/github.com/spf13/viper/flags.go b/vendor/github.com/spf13/viper/flags.go
index ddb4da60..de033ed5 100644
--- a/vendor/github.com/spf13/viper/flags.go
+++ b/vendor/github.com/spf13/viper/flags.go
@@ -31,7 +31,7 @@ func (p pflagValueSet) VisitAll(fn func(flag FlagValue)) {
}
// pflagValue is a wrapper around *pflag.flag
-// that implements FlagValue
+// that implements FlagValue.
type pflagValue struct {
flag *pflag.Flag
}
diff --git a/vendor/github.com/spf13/viper/internal/encoding/dotenv/map_utils.go b/vendor/github.com/spf13/viper/internal/encoding/dotenv/map_utils.go
index 1340c730..8bfe0a9d 100644
--- a/vendor/github.com/spf13/viper/internal/encoding/dotenv/map_utils.go
+++ b/vendor/github.com/spf13/viper/internal/encoding/dotenv/map_utils.go
@@ -8,8 +8,8 @@ import (
// flattenAndMergeMap recursively flattens the given map into a new map
// Code is based on the function with the same name in the main package.
-// TODO: move it to a common place
-func flattenAndMergeMap(shadow map[string]any, m map[string]any, prefix string, delimiter string) map[string]any {
+// TODO: move it to a common place.
+func flattenAndMergeMap(shadow, m map[string]any, prefix, delimiter string) map[string]any {
if shadow != nil && prefix != "" && shadow[prefix] != nil {
// prefix is shadowed => nothing more to flatten
return shadow
diff --git a/vendor/github.com/spf13/viper/internal/encoding/ini/map_utils.go b/vendor/github.com/spf13/viper/internal/encoding/ini/map_utils.go
index c1919a38..490ab594 100644
--- a/vendor/github.com/spf13/viper/internal/encoding/ini/map_utils.go
+++ b/vendor/github.com/spf13/viper/internal/encoding/ini/map_utils.go
@@ -41,8 +41,8 @@ func deepSearch(m map[string]any, path []string) map[string]any {
// flattenAndMergeMap recursively flattens the given map into a new map
// Code is based on the function with the same name in the main package.
-// TODO: move it to a common place
-func flattenAndMergeMap(shadow map[string]any, m map[string]any, prefix string, delimiter string) map[string]any {
+// TODO: move it to a common place.
+func flattenAndMergeMap(shadow, m map[string]any, prefix, delimiter string) map[string]any {
if shadow != nil && prefix != "" && shadow[prefix] != nil {
// prefix is shadowed => nothing more to flatten
return shadow
diff --git a/vendor/github.com/spf13/viper/internal/encoding/javaproperties/map_utils.go b/vendor/github.com/spf13/viper/internal/encoding/javaproperties/map_utils.go
index 8386920a..6e1aff22 100644
--- a/vendor/github.com/spf13/viper/internal/encoding/javaproperties/map_utils.go
+++ b/vendor/github.com/spf13/viper/internal/encoding/javaproperties/map_utils.go
@@ -41,8 +41,8 @@ func deepSearch(m map[string]any, path []string) map[string]any {
// flattenAndMergeMap recursively flattens the given map into a new map
// Code is based on the function with the same name in the main package.
-// TODO: move it to a common place
-func flattenAndMergeMap(shadow map[string]any, m map[string]any, prefix string, delimiter string) map[string]any {
+// TODO: move it to a common place.
+func flattenAndMergeMap(shadow, m map[string]any, prefix, delimiter string) map[string]any {
if shadow != nil && prefix != "" && shadow[prefix] != nil {
// prefix is shadowed => nothing more to flatten
return shadow
diff --git a/vendor/github.com/spf13/viper/internal/features/bind_struct.go b/vendor/github.com/spf13/viper/internal/features/bind_struct.go
new file mode 100644
index 00000000..89302c21
--- /dev/null
+++ b/vendor/github.com/spf13/viper/internal/features/bind_struct.go
@@ -0,0 +1,5 @@
+//go:build viper_bind_struct
+
+package features
+
+const BindStruct = true
diff --git a/vendor/github.com/spf13/viper/internal/features/bind_struct_default.go b/vendor/github.com/spf13/viper/internal/features/bind_struct_default.go
new file mode 100644
index 00000000..edfaf73b
--- /dev/null
+++ b/vendor/github.com/spf13/viper/internal/features/bind_struct_default.go
@@ -0,0 +1,5 @@
+//go:build !viper_bind_struct
+
+package features
+
+const BindStruct = false
diff --git a/vendor/github.com/spf13/viper/util.go b/vendor/github.com/spf13/viper/util.go
index 52116ac4..117c6ac3 100644
--- a/vendor/github.com/spf13/viper/util.go
+++ b/vendor/github.com/spf13/viper/util.go
@@ -156,7 +156,7 @@ func safeMul(a, b uint) uint {
return c
}
-// parseSizeInBytes converts strings like 1GB or 12 mb into an unsigned integer number of bytes
+// parseSizeInBytes converts strings like 1GB or 12 mb into an unsigned integer number of bytes.
func parseSizeInBytes(sizeStr string) uint {
sizeStr = strings.TrimSpace(sizeStr)
lastChar := len(sizeStr) - 1
diff --git a/vendor/github.com/spf13/viper/viper.go b/vendor/github.com/spf13/viper/viper.go
index c1eab71b..20eb4da1 100644
--- a/vendor/github.com/spf13/viper/viper.go
+++ b/vendor/github.com/spf13/viper/viper.go
@@ -48,6 +48,7 @@ import (
"github.com/spf13/viper/internal/encoding/json"
"github.com/spf13/viper/internal/encoding/toml"
"github.com/spf13/viper/internal/encoding/yaml"
+ "github.com/spf13/viper/internal/features"
)
// ConfigMarshalError happens when failing to marshal the configuration.
@@ -77,7 +78,7 @@ type remoteConfigFactory interface {
WatchChannel(rp RemoteProvider) (<-chan *RemoteResponse, chan bool)
}
-// RemoteConfig is optional, see the remote package
+// RemoteConfig is optional, see the remote package.
var RemoteConfig remoteConfigFactory
// UnsupportedConfigError denotes encountering an unsupported
@@ -102,7 +103,7 @@ func (str UnsupportedRemoteProviderError) Error() string {
// pull the configuration from the remote provider.
type RemoteConfigError string
-// Error returns the formatted remote provider error
+// Error returns the formatted remote provider error.
func (rce RemoteConfigError) Error() string {
return fmt.Sprintf("Remote Configurations Error: %s", string(rce))
}
@@ -126,7 +127,7 @@ func (faee ConfigFileAlreadyExistsError) Error() string {
}
// A DecoderConfigOption can be passed to viper.Unmarshal to configure
-// mapstructure.DecoderConfig options
+// mapstructure.DecoderConfig options.
type DecoderConfigOption func(*mapstructure.DecoderConfig)
// DecodeHook returns a DecoderConfigOption which overrides the default
@@ -305,7 +306,7 @@ func Reset() {
SupportedRemoteProviders = []string{"etcd", "etcd3", "consul", "firestore", "nats"}
}
-// TODO: make this lazy initialization instead
+// TODO: make this lazy initialization instead.
func (v *Viper) resetEncoding() {
encoderRegistry := encoding.NewEncoderRegistry()
decoderRegistry := encoding.NewDecoderRegistry()
@@ -439,7 +440,7 @@ func (v *Viper) WatchConfig() {
initWG := sync.WaitGroup{}
initWG.Add(1)
go func() {
- watcher, err := newWatcher()
+ watcher, err := fsnotify.NewWatcher()
if err != nil {
v.logger.Error(fmt.Sprintf("failed to create watcher: %s", err))
os.Exit(1)
@@ -590,7 +591,7 @@ func (v *Viper) AddConfigPath(in string) {
// path is the path in the k/v store to retrieve configuration
// To retrieve a config file called myapp.json from /configs/myapp.json
// you should set path to /configs and set config name (SetConfigName()) to
-// "myapp"
+// "myapp".
func AddRemoteProvider(provider, endpoint, path string) error {
return v.AddRemoteProvider(provider, endpoint, path)
}
@@ -622,8 +623,8 @@ func (v *Viper) AddRemoteProvider(provider, endpoint, path string) error {
// path is the path in the k/v store to retrieve configuration
// To retrieve a config file called myapp.json from /configs/myapp.json
// you should set path to /configs and set config name (SetConfigName()) to
-// "myapp"
-// Secure Remote Providers are implemented with github.com/bketelsen/crypt
+// "myapp".
+// Secure Remote Providers are implemented with github.com/bketelsen/crypt.
func AddSecureRemoteProvider(provider, endpoint, path, secretkeyring string) error {
return v.AddSecureRemoteProvider(provider, endpoint, path, secretkeyring)
}
@@ -827,10 +828,12 @@ func (v *Viper) isPathShadowedInDeepMap(path []string, m map[string]any) string
// "foo.bar.baz" in a lower-priority map
func (v *Viper) isPathShadowedInFlatMap(path []string, mi any) string {
// unify input map
- var m map[string]any
- switch mi.(type) {
- case map[string]string, map[string]FlagValue:
- m = cast.ToStringMap(mi)
+ var m map[string]interface{}
+ switch miv := mi.(type) {
+ case map[string]string:
+ m = castMapStringToMapInterface(miv)
+ case map[string]FlagValue:
+ m = castMapFlagToMapInterface(miv)
default:
return ""
}
@@ -957,7 +960,8 @@ func (v *Viper) Sub(key string) *Viper {
}
if reflect.TypeOf(data).Kind() == reflect.Map {
- subv.parents = append(v.parents, strings.ToLower(key))
+ subv.parents = append([]string(nil), v.parents...)
+ subv.parents = append(subv.parents, strings.ToLower(key))
subv.automaticEnvApplied = v.automaticEnvApplied
subv.envPrefix = v.envPrefix
subv.envKeyReplacer = v.envKeyReplacer
@@ -1111,11 +1115,42 @@ func Unmarshal(rawVal any, opts ...DecoderConfigOption) error {
}
func (v *Viper) Unmarshal(rawVal any, opts ...DecoderConfigOption) error {
- return decode(v.AllSettings(), defaultDecoderConfig(rawVal, opts...))
+ keys := v.AllKeys()
+
+ if features.BindStruct {
+ // TODO: make this optional?
+ structKeys, err := v.decodeStructKeys(rawVal, opts...)
+ if err != nil {
+ return err
+ }
+
+ keys = append(keys, structKeys...)
+ }
+
+ // TODO: struct keys should be enough?
+ return decode(v.getSettings(keys), defaultDecoderConfig(rawVal, opts...))
+}
+
+func (v *Viper) decodeStructKeys(input any, opts ...DecoderConfigOption) ([]string, error) {
+ var structKeyMap map[string]any
+
+ err := decode(input, defaultDecoderConfig(&structKeyMap, opts...))
+ if err != nil {
+ return nil, err
+ }
+
+ flattenedStructKeyMap := v.flattenAndMergeMap(map[string]bool{}, structKeyMap, "")
+
+ r := make([]string, 0, len(flattenedStructKeyMap))
+ for v := range flattenedStructKeyMap {
+ r = append(r, v)
+ }
+
+ return r, nil
}
// defaultDecoderConfig returns default mapstructure.DecoderConfig with support
-// of time.Duration values & string slices
+// of time.Duration values & string slices.
func defaultDecoderConfig(output any, opts ...DecoderConfigOption) *mapstructure.DecoderConfig {
c := &mapstructure.DecoderConfig{
Metadata: nil,
@@ -1132,7 +1167,7 @@ func defaultDecoderConfig(output any, opts ...DecoderConfigOption) *mapstructure
return c
}
-// A wrapper around mapstructure.Decode that mimics the WeakDecode functionality
+// decode is a wrapper around mapstructure.Decode that mimics the WeakDecode functionality.
func decode(input any, config *mapstructure.DecoderConfig) error {
decoder, err := mapstructure.NewDecoder(config)
if err != nil {
@@ -1151,7 +1186,20 @@ func (v *Viper) UnmarshalExact(rawVal any, opts ...DecoderConfigOption) error {
config := defaultDecoderConfig(rawVal, opts...)
config.ErrorUnused = true
- return decode(v.AllSettings(), config)
+ keys := v.AllKeys()
+
+ if features.BindStruct {
+ // TODO: make this optional?
+ structKeys, err := v.decodeStructKeys(rawVal, opts...)
+ if err != nil {
+ return err
+ }
+
+ keys = append(keys, structKeys...)
+ }
+
+ // TODO: struct keys should be enough?
+ return decode(v.getSettings(keys), config)
}
// BindPFlags binds a full flag set to the configuration, using each flag's long
@@ -1405,11 +1453,11 @@ func readAsCSV(val string) ([]string, error) {
}
// mostly copied from pflag's implementation of this operation here https://github.com/spf13/pflag/blob/master/string_to_string.go#L79
-// alterations are: errors are swallowed, map[string]any is returned in order to enable cast.ToStringMap
+// alterations are: errors are swallowed, map[string]any is returned in order to enable cast.ToStringMap.
func stringToStringConv(val string) any {
val = strings.Trim(val, "[]")
// An empty string would cause an empty map
- if len(val) == 0 {
+ if val == "" {
return map[string]any{}
}
r := csv.NewReader(strings.NewReader(val))
@@ -1429,11 +1477,11 @@ func stringToStringConv(val string) any {
}
// mostly copied from pflag's implementation of this operation here https://github.com/spf13/pflag/blob/d5e0c0615acee7028e1e2740a11102313be88de1/string_to_int.go#L68
-// alterations are: errors are swallowed, map[string]any is returned in order to enable cast.ToStringMap
+// alterations are: errors are swallowed, map[string]any is returned in order to enable cast.ToStringMap.
func stringToIntConv(val string) any {
val = strings.Trim(val, "[]")
// An empty string would cause an empty map
- if len(val) == 0 {
+ if val == "" {
return map[string]any{}
}
ss := strings.Split(val, ",")
@@ -1481,13 +1529,13 @@ func (v *Viper) SetEnvKeyReplacer(r *strings.Replacer) {
// RegisterAlias creates an alias that provides another accessor for the same key.
// This enables one to change a name without breaking the application.
-func RegisterAlias(alias string, key string) { v.RegisterAlias(alias, key) }
+func RegisterAlias(alias, key string) { v.RegisterAlias(alias, key) }
-func (v *Viper) RegisterAlias(alias string, key string) {
+func (v *Viper) RegisterAlias(alias, key string) {
v.registerAlias(alias, strings.ToLower(key))
}
-func (v *Viper) registerAlias(alias string, key string) {
+func (v *Viper) registerAlias(alias, key string) {
alias = strings.ToLower(alias)
if alias != key && alias != v.realKey(key) {
_, exists := v.aliases[alias]
@@ -2012,7 +2060,7 @@ func (v *Viper) watchRemoteConfig(provider RemoteProvider) (map[string]any, erro
}
// AllKeys returns all keys holding a value, regardless of where they are set.
-// Nested keys are returned with a v.keyDelim separator
+// Nested keys are returned with a v.keyDelim separator.
func AllKeys() []string { return v.AllKeys() }
func (v *Viper) AllKeys() []string {
@@ -2098,9 +2146,13 @@ outer:
func AllSettings() map[string]any { return v.AllSettings() }
func (v *Viper) AllSettings() map[string]any {
+ return v.getSettings(v.AllKeys())
+}
+
+func (v *Viper) getSettings(keys []string) map[string]any {
m := map[string]any{}
// start from the list of keys, and construct the map one value at a time
- for _, k := range v.AllKeys() {
+ for _, k := range keys {
value := v.Get(k)
if value == nil {
// should not happen, since AllKeys() returns only keys holding a value,
diff --git a/vendor/github.com/spf13/viper/watch.go b/vendor/github.com/spf13/viper/watch.go
deleted file mode 100644
index e98fce89..00000000
--- a/vendor/github.com/spf13/viper/watch.go
+++ /dev/null
@@ -1,11 +0,0 @@
-//go:build darwin || dragonfly || freebsd || openbsd || linux || netbsd || solaris || windows
-
-package viper
-
-import "github.com/fsnotify/fsnotify"
-
-type watcher = fsnotify.Watcher
-
-func newWatcher() (*watcher, error) {
- return fsnotify.NewWatcher()
-}
diff --git a/vendor/github.com/spf13/viper/watch_unsupported.go b/vendor/github.com/spf13/viper/watch_unsupported.go
deleted file mode 100644
index 70764056..00000000
--- a/vendor/github.com/spf13/viper/watch_unsupported.go
+++ /dev/null
@@ -1,31 +0,0 @@
-//go:build appengine || (!darwin && !dragonfly && !freebsd && !openbsd && !linux && !netbsd && !solaris && !windows)
-
-package viper
-
-import (
- "fmt"
- "runtime"
-
- "github.com/fsnotify/fsnotify"
-)
-
-func newWatcher() (*watcher, error) {
- return &watcher{}, fmt.Errorf("fsnotify not supported on %s", runtime.GOOS)
-}
-
-type watcher struct {
- Events chan fsnotify.Event
- Errors chan error
-}
-
-func (*watcher) Close() error {
- return nil
-}
-
-func (*watcher) Add(name string) error {
- return nil
-}
-
-func (*watcher) Remove(name string) error {
- return nil
-}
diff --git a/vendor/github.com/ugorji/go/codec/cbor.go b/vendor/github.com/ugorji/go/codec/cbor.go
index 10944487..802b1fc1 100644
--- a/vendor/github.com/ugorji/go/codec/cbor.go
+++ b/vendor/github.com/ugorji/go/codec/cbor.go
@@ -123,6 +123,11 @@ type cborEncDriver struct {
encDriverNoopContainerWriter
h *CborHandle
+ // scratch buffer for: encode time, numbers, etc
+ //
+ // RFC3339Nano uses 35 chars: 2006-01-02T15:04:05.999999999Z07:00
+ b [40]byte
+
e Encoder
}
@@ -204,7 +209,7 @@ func (e *cborEncDriver) EncodeTime(t time.Time) {
e.EncodeNil()
} else if e.h.TimeRFC3339 {
e.encUint(0, cborBaseTag)
- e.encStringBytesS(cborBaseString, t.Format(time.RFC3339Nano))
+ e.encStringBytesS(cborBaseString, stringView(fmtTime(t, time.RFC3339Nano, e.b[:0])))
} else {
e.encUint(1, cborBaseTag)
t = t.UTC().Round(time.Microsecond)
@@ -427,12 +432,13 @@ func (d *cborDecDriver) decLen() int {
return int(d.decUint())
}
-func (d *cborDecDriver) decAppendIndefiniteBytes(bs []byte) []byte {
+func (d *cborDecDriver) decAppendIndefiniteBytes(bs []byte, major byte) []byte {
d.bdRead = false
for !d.CheckBreak() {
- if major := d.bd >> 5; major != cborMajorBytes && major != cborMajorString {
- d.d.errorf("invalid indefinite string/bytes %x (%s); got major %v, expected %v or %v",
- d.bd, cbordesc(d.bd), major, cborMajorBytes, cborMajorString)
+ chunkMajor := d.bd >> 5
+ if chunkMajor != major {
+ d.d.errorf("malformed indefinite string/bytes %x (%s); contains chunk with major type %v, expected %v",
+ d.bd, cbordesc(d.bd), chunkMajor, major)
}
n := uint(d.decLen())
oldLen := uint(len(bs))
@@ -445,6 +451,9 @@ func (d *cborDecDriver) decAppendIndefiniteBytes(bs []byte) []byte {
bs = bs[:newLen]
}
d.d.decRd.readb(bs[oldLen:newLen])
+ if d.h.ValidateUnicode && major == cborMajorString && !utf8.Valid(bs[oldLen:newLen]) {
+ d.d.errorf("indefinite-length text string contains chunk that is not a valid utf-8 sequence: 0x%x", bs[oldLen:newLen])
+ }
d.bdRead = false
}
d.bdRead = false
@@ -580,9 +589,9 @@ func (d *cborDecDriver) DecodeBytes(bs []byte) (bsOut []byte) {
d.bdRead = false
if bs == nil {
d.d.decByteState = decByteStateReuseBuf
- return d.decAppendIndefiniteBytes(d.d.b[:0])
+ return d.decAppendIndefiniteBytes(d.d.b[:0], d.bd>>5)
}
- return d.decAppendIndefiniteBytes(bs[:0])
+ return d.decAppendIndefiniteBytes(bs[:0], d.bd>>5)
}
if d.bd == cborBdIndefiniteArray {
d.bdRead = false
diff --git a/vendor/github.com/ugorji/go/codec/decode.go b/vendor/github.com/ugorji/go/codec/decode.go
index d549188d..f98c8ff2 100644
--- a/vendor/github.com/ugorji/go/codec/decode.go
+++ b/vendor/github.com/ugorji/go/codec/decode.go
@@ -1399,6 +1399,10 @@ func NewDecoderString(s string, h Handle) *Decoder {
return NewDecoderBytes(bytesView(s), h)
}
+func (d *Decoder) HandleName() string {
+ return d.hh.Name()
+}
+
func (d *Decoder) r() *decRd {
return &d.decRd
}
@@ -1580,14 +1584,9 @@ func (d *Decoder) MustDecode(v interface{}) {
d.calls--
}
-// Release releases shared (pooled) resources.
-//
-// It is important to call Release() when done with a Decoder, so those resources
-// are released instantly for use by subsequently created Decoders.
-//
-// By default, Release() is automatically called unless the option ExplicitRelease is set.
+// Release is a no-op.
//
-// Deprecated: Release is a no-op as pooled resources are not used with an Decoder.
+// Deprecated: Pooled resources are not used with a Decoder.
// This method is kept for compatibility reasons only.
func (d *Decoder) Release() {
}
diff --git a/vendor/github.com/ugorji/go/codec/encode.go b/vendor/github.com/ugorji/go/codec/encode.go
index 70361b5c..0e9f0cc0 100644
--- a/vendor/github.com/ugorji/go/codec/encode.go
+++ b/vendor/github.com/ugorji/go/codec/encode.go
@@ -984,6 +984,10 @@ func NewEncoderBytes(out *[]byte, h Handle) *Encoder {
return e
}
+func (e *Encoder) HandleName() string {
+ return e.hh.Name()
+}
+
func (e *Encoder) init(h Handle) {
initHandle(h)
e.err = errEncoderNotInitialized
@@ -1150,12 +1154,9 @@ func (e *Encoder) MustEncode(v interface{}) {
}
}
-// Release releases shared (pooled) resources.
-//
-// It is important to call Release() when done with an Encoder, so those resources
-// are released instantly for use by subsequently created Encoders.
+// Release is a no-op.
//
-// Deprecated: Release is a no-op as pooled resources are not used with an Encoder.
+// Deprecated: Pooled resources are not used with an Encoder.
// This method is kept for compatibility reasons only.
func (e *Encoder) Release() {
}
diff --git a/vendor/github.com/ugorji/go/codec/gen.go b/vendor/github.com/ugorji/go/codec/gen.go
index de7ee72f..0026e3e1 100644
--- a/vendor/github.com/ugorji/go/codec/gen.go
+++ b/vendor/github.com/ugorji/go/codec/gen.go
@@ -8,7 +8,7 @@ package codec
import (
"bytes"
- "encoding/base64"
+ "encoding/base32"
"errors"
"fmt"
"go/format"
@@ -190,7 +190,11 @@ var (
errGenExpectArrayOrMap = errors.New("unexpected type - expecting array/map/slice")
errGenUnexpectedTypeFastpath = errors.New("fast-path: unexpected type - requires map or slice")
- genBase64enc = base64.NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__")
+ // don't use base64, only 63 characters allowed in valid go identifiers
+ // ie ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
+ //
+ // don't use numbers, as a valid go identifer must start with a letter.
+ genTypenameEnc = base32.NewEncoding("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdef")
genQNameRegex = regexp.MustCompile(`[A-Za-z_.]+`)
)
@@ -2303,8 +2307,6 @@ func genMethodNameT(t reflect.Type, tRef reflect.Type) (n string) {
}
} else {
// best way to get the package name inclusive
- // return ptrPfx + strings.Replace(tstr, ".", "_", 1000)
- // return ptrPfx + genBase64enc.EncodeToString([]byte(tstr))
if t.Name() != "" && genQNameRegex.MatchString(tstr) {
return ptrPfx + strings.Replace(tstr, ".", "_", 1000)
} else {
@@ -2315,12 +2317,12 @@ func genMethodNameT(t reflect.Type, tRef reflect.Type) (n string) {
}
}
-// genCustomNameForType base64encodes the t.String() value in such a way
+// genCustomNameForType base32 encodes the t.String() value in such a way
// that it can be used within a function name.
func genCustomTypeName(tstr string) string {
- len2 := genBase64enc.EncodedLen(len(tstr))
+ len2 := genTypenameEnc.EncodedLen(len(tstr))
bufx := make([]byte, len2)
- genBase64enc.Encode(bufx, []byte(tstr))
+ genTypenameEnc.Encode(bufx, []byte(tstr))
for i := len2 - 1; i >= 0; i-- {
if bufx[i] == '=' {
len2--
diff --git a/vendor/github.com/ugorji/go/codec/helper.go b/vendor/github.com/ugorji/go/codec/helper.go
index 19df27b6..ecd87ba5 100644
--- a/vendor/github.com/ugorji/go/codec/helper.go
+++ b/vendor/github.com/ugorji/go/codec/helper.go
@@ -110,8 +110,7 @@ package codec
//
// ------------------------------------------
// Bounds Checking
-// - Allow bytesDecReader to incur "bounds check error", and
-// recover that as an io.EOF.
+// - Allow bytesDecReader to incur "bounds check error", and recover that as an io error.
// This allows the bounds check branch to always be taken by the branch predictor,
// giving better performance (in theory), while ensuring that the code is shorter.
//
@@ -857,26 +856,10 @@ type BasicHandle struct {
// Once a Handle has been initialized (used), do not modify this option. It will be ignored.
TimeNotBuiltin bool
- // ExplicitRelease configures whether Release() is implicitly called after an encode or
- // decode call.
+ // ExplicitRelease is ignored and has no effect.
//
- // If you will hold onto an Encoder or Decoder for re-use, by calling Reset(...)
- // on it or calling (Must)Encode repeatedly into a given []byte or io.Writer,
- // then you do not want it to be implicitly closed after each Encode/Decode call.
- // Doing so will unnecessarily return resources to the shared pool, only for you to
- // grab them right after again to do another Encode/Decode call.
- //
- // Instead, you configure ExplicitRelease=true, and you explicitly call Release() when
- // you are truly done.
- //
- // As an alternative, you can explicitly set a finalizer - so its resources
- // are returned to the shared pool before it is garbage-collected. Do it as below:
- // runtime.SetFinalizer(e, (*Encoder).Release)
- // runtime.SetFinalizer(d, (*Decoder).Release)
- //
- // Deprecated: This is not longer used as pools are only used for long-lived objects
- // which are shared across goroutines.
- // Setting this value has no effect. It is maintained for backward compatibility.
+ // Deprecated: Pools are only used for long-lived objects shared across goroutines.
+ // It is maintained for backward compatibility.
ExplicitRelease bool
// ---- cache line
@@ -2489,7 +2472,7 @@ func panicValToErr(h errDecorator, v interface{}, err *error) {
case runtime.Error:
d, dok := h.(*Decoder)
if dok && d.bytes && isSliceBoundsError(xerr.Error()) {
- *err = io.EOF
+ *err = io.ErrUnexpectedEOF
} else {
h.wrapErr(xerr, err)
}
@@ -2803,7 +2786,7 @@ func freelistCapacity(length int) (capacity int) {
// bytesFreelist is a list of byte buffers, sorted by cap.
//
// In anecdotal testing (running go test -tsd 1..6), we couldn't get
-// the length ofthe list > 4 at any time. So we believe a linear search
+// the length of the list > 4 at any time. So we believe a linear search
// without bounds checking is sufficient.
//
// Typical usage model:
@@ -2821,7 +2804,7 @@ func freelistCapacity(length int) (capacity int) {
// v1 := v0
// ... use v1 ...
// blist.put(v1)
-// if byteSliceAddr(v0) != byteSliceAddr(v1) {
+// if !byteSliceSameData(v0, v1) {
// blist.put(v0)
// }
type bytesFreelist [][]byte
diff --git a/vendor/github.com/ugorji/go/codec/json.go b/vendor/github.com/ugorji/go/codec/json.go
index f7d2343e..569b0cc9 100644
--- a/vendor/github.com/ugorji/go/codec/json.go
+++ b/vendor/github.com/ugorji/go/codec/json.go
@@ -1301,6 +1301,9 @@ func (d *jsonDecDriver) DecodeNaked() {
// Note also that the float values for NaN, +Inf or -Inf are encoded as null,
// as suggested by NOTE 4 of the ECMA-262 ECMAScript Language Specification 5.1 edition.
// see http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf .
+//
+// Note the following behaviour differences vs std-library encoding/json package:
+// - struct field names matched in case-sensitive manner
type JsonHandle struct {
textEncodingType
BasicHandle
diff --git a/vendor/github.com/ugorji/go/codec/msgpack.go b/vendor/github.com/ugorji/go/codec/msgpack.go
index c8b539d4..c0861df5 100644
--- a/vendor/github.com/ugorji/go/codec/msgpack.go
+++ b/vendor/github.com/ugorji/go/codec/msgpack.go
@@ -1174,7 +1174,7 @@ func (c *msgpackSpecRpcCodec) ReadRequestBody(body interface{}) error {
func (c *msgpackSpecRpcCodec) parseCustomHeader(expectTypeByte byte, msgid *uint64, methodOrError *string) (err error) {
if cls := c.cls.load(); cls.closed {
- return io.EOF
+ return io.ErrUnexpectedEOF
}
// We read the response header by hand
diff --git a/vendor/github.com/ugorji/go/codec/reader.go b/vendor/github.com/ugorji/go/codec/reader.go
index 3fea9f4c..ec5dac0e 100644
--- a/vendor/github.com/ugorji/go/codec/reader.go
+++ b/vendor/github.com/ugorji/go/codec/reader.go
@@ -350,9 +350,9 @@ func (z *ioDecReader) unreadn1() {
// bytesDecReader is a decReader that reads off a byte slice with zero copying
//
-// Note: we do not try to convert index'ing out of bounds to an io.EOF.
+// Note: we do not try to convert index'ing out of bounds to an io error.
// instead, we let it bubble up to the exported Encode/Decode method
-// and recover it as an io.EOF.
+// and recover it as an io error.
//
// Every function here MUST defensively check bounds either explicitly
// or via a bounds check.
diff --git a/vendor/github.com/golang/mock/AUTHORS b/vendor/go.uber.org/mock/AUTHORS
similarity index 100%
rename from vendor/github.com/golang/mock/AUTHORS
rename to vendor/go.uber.org/mock/AUTHORS
diff --git a/vendor/github.com/golang/mock/LICENSE b/vendor/go.uber.org/mock/LICENSE
similarity index 100%
rename from vendor/github.com/golang/mock/LICENSE
rename to vendor/go.uber.org/mock/LICENSE
diff --git a/vendor/github.com/golang/mock/gomock/call.go b/vendor/go.uber.org/mock/gomock/call.go
similarity index 78%
rename from vendor/github.com/golang/mock/gomock/call.go
rename to vendor/go.uber.org/mock/gomock/call.go
index 13c9f44b..e1ea8263 100644
--- a/vendor/github.com/golang/mock/gomock/call.go
+++ b/vendor/go.uber.org/mock/gomock/call.go
@@ -25,7 +25,7 @@ import (
type Call struct {
t TestHelper // for triggering test failures on invalid call setup
- receiver interface{} // the receiver of the method call
+ receiver any // the receiver of the method call
method string // the name of the method
methodType reflect.Type // the type of the method
args []Matcher // the args
@@ -41,12 +41,12 @@ type Call struct {
// actions are called when this Call is called. Each action gets the args and
// can set the return values by returning a non-nil slice. Actions run in the
// order they are created.
- actions []func([]interface{}) []interface{}
+ actions []func([]any) []any
}
// newCall creates a *Call. It requires the method type in order to support
// unexported methods.
-func newCall(t TestHelper, receiver interface{}, method string, methodType reflect.Type, args ...interface{}) *Call {
+func newCall(t TestHelper, receiver any, method string, methodType reflect.Type, args ...any) *Call {
t.Helper()
// TODO: check arity, types.
@@ -67,9 +67,9 @@ func newCall(t TestHelper, receiver interface{}, method string, methodType refle
// and this line changes, i.e. this code is wrapped in another anonymous function.
// 0 is us, 1 is RecordCallWithMethodType(), 2 is the generated recorder, and 3 is the user's test.
origin := callerInfo(3)
- actions := []func([]interface{}) []interface{}{func([]interface{}) []interface{} {
+ actions := []func([]any) []any{func([]any) []any {
// Synthesize the zero value for each of the return args' types.
- rets := make([]interface{}, methodType.NumOut())
+ rets := make([]any, methodType.NumOut())
for i := 0; i < methodType.NumOut(); i++ {
rets[i] = reflect.Zero(methodType.Out(i)).Interface()
}
@@ -107,20 +107,26 @@ func (c *Call) MaxTimes(n int) *Call {
// DoAndReturn declares the action to run when the call is matched.
// The return values from this function are returned by the mocked function.
-// It takes an interface{} argument to support n-arity functions.
-func (c *Call) DoAndReturn(f interface{}) *Call {
+// It takes an any argument to support n-arity functions.
+// The anonymous function must match the function signature mocked method.
+func (c *Call) DoAndReturn(f any) *Call {
// TODO: Check arity and types here, rather than dying badly elsewhere.
v := reflect.ValueOf(f)
- c.addAction(func(args []interface{}) []interface{} {
+ c.addAction(func(args []any) []any {
c.t.Helper()
- vArgs := make([]reflect.Value, len(args))
ft := v.Type()
if c.methodType.NumIn() != ft.NumIn() {
- c.t.Fatalf("wrong number of arguments in DoAndReturn func for %T.%v: got %d, want %d [%s]",
- c.receiver, c.method, ft.NumIn(), c.methodType.NumIn(), c.origin)
+ if ft.IsVariadic() {
+ c.t.Fatalf("wrong number of arguments in DoAndReturn func for %T.%v The function signature must match the mocked method, a variadic function cannot be used.",
+ c.receiver, c.method)
+ } else {
+ c.t.Fatalf("wrong number of arguments in DoAndReturn func for %T.%v: got %d, want %d [%s]",
+ c.receiver, c.method, ft.NumIn(), c.methodType.NumIn(), c.origin)
+ }
return nil
}
+ vArgs := make([]reflect.Value, len(args))
for i := 0; i < len(args); i++ {
if args[i] != nil {
vArgs[i] = reflect.ValueOf(args[i])
@@ -130,7 +136,7 @@ func (c *Call) DoAndReturn(f interface{}) *Call {
}
}
vRets := v.Call(vArgs)
- rets := make([]interface{}, len(vRets))
+ rets := make([]any, len(vRets))
for i, ret := range vRets {
rets[i] = ret.Interface()
}
@@ -142,20 +148,26 @@ func (c *Call) DoAndReturn(f interface{}) *Call {
// Do declares the action to run when the call is matched. The function's
// return values are ignored to retain backward compatibility. To use the
// return values call DoAndReturn.
-// It takes an interface{} argument to support n-arity functions.
-func (c *Call) Do(f interface{}) *Call {
+// It takes an any argument to support n-arity functions.
+// The anonymous function must match the function signature mocked method.
+func (c *Call) Do(f any) *Call {
// TODO: Check arity and types here, rather than dying badly elsewhere.
v := reflect.ValueOf(f)
- c.addAction(func(args []interface{}) []interface{} {
+ c.addAction(func(args []any) []any {
c.t.Helper()
- if c.methodType.NumIn() != v.Type().NumIn() {
- c.t.Fatalf("wrong number of arguments in Do func for %T.%v: got %d, want %d [%s]",
- c.receiver, c.method, v.Type().NumIn(), c.methodType.NumIn(), c.origin)
+ ft := v.Type()
+ if c.methodType.NumIn() != ft.NumIn() {
+ if ft.IsVariadic() {
+ c.t.Fatalf("wrong number of arguments in Do func for %T.%v The function signature must match the mocked method, a variadic function cannot be used.",
+ c.receiver, c.method)
+ } else {
+ c.t.Fatalf("wrong number of arguments in Do func for %T.%v: got %d, want %d [%s]",
+ c.receiver, c.method, ft.NumIn(), c.methodType.NumIn(), c.origin)
+ }
return nil
}
vArgs := make([]reflect.Value, len(args))
- ft := v.Type()
for i := 0; i < len(args); i++ {
if args[i] != nil {
vArgs[i] = reflect.ValueOf(args[i])
@@ -171,7 +183,7 @@ func (c *Call) Do(f interface{}) *Call {
}
// Return declares the values to be returned by the mocked function call.
-func (c *Call) Return(rets ...interface{}) *Call {
+func (c *Call) Return(rets ...any) *Call {
c.t.Helper()
mt := c.methodType
@@ -203,7 +215,7 @@ func (c *Call) Return(rets ...interface{}) *Call {
}
}
- c.addAction(func([]interface{}) []interface{} {
+ c.addAction(func([]any) []any {
return rets
})
@@ -217,9 +229,9 @@ func (c *Call) Times(n int) *Call {
}
// SetArg declares an action that will set the nth argument's value,
-// indirected through a pointer. Or, in the case of a slice, SetArg
-// will copy value's elements into the nth argument.
-func (c *Call) SetArg(n int, value interface{}) *Call {
+// indirected through a pointer. Or, in the case of a slice and map, SetArg
+// will copy value's elements/key-value pairs into the nth argument.
+func (c *Call) SetArg(n int, value any) *Call {
c.t.Helper()
mt := c.methodType
@@ -243,16 +255,20 @@ func (c *Call) SetArg(n int, value interface{}) *Call {
// nothing to do
case reflect.Slice:
// nothing to do
+ case reflect.Map:
+ // nothing to do
default:
- c.t.Fatalf("SetArg(%d, ...) referring to argument of non-pointer non-interface non-slice type %v [%s]",
+ c.t.Fatalf("SetArg(%d, ...) referring to argument of non-pointer non-interface non-slice non-map type %v [%s]",
n, at, c.origin)
}
- c.addAction(func(args []interface{}) []interface{} {
+ c.addAction(func(args []any) []any {
v := reflect.ValueOf(value)
switch reflect.TypeOf(args[n]).Kind() {
case reflect.Slice:
setSlice(args[n], v)
+ case reflect.Map:
+ setMap(args[n], v)
default:
reflect.ValueOf(args[n]).Elem().Set(v)
}
@@ -307,7 +323,7 @@ func (c *Call) String() string {
// Tests if the given call matches the expected call.
// If yes, returns nil. If no, returns error with message explaining why it does not match.
-func (c *Call) matches(args []interface{}) error {
+func (c *Call) matches(args []any) error {
if !c.methodType.IsVariadic() {
if len(args) != len(c.args) {
return fmt.Errorf("expected call at %s has the wrong number of arguments. Got: %d, want: %d",
@@ -413,30 +429,77 @@ func (c *Call) dropPrereqs() (preReqs []*Call) {
return
}
-func (c *Call) call() []func([]interface{}) []interface{} {
+func (c *Call) call() []func([]any) []any {
c.numCalls++
return c.actions
}
// InOrder declares that the given calls should occur in order.
-func InOrder(calls ...*Call) {
+// It panics if the type of any of the arguments isn't *Call or a generated
+// mock with an embedded *Call.
+func InOrder(args ...any) {
+ calls := make([]*Call, 0, len(args))
+ for i := 0; i < len(args); i++ {
+ if call := getCall(args[i]); call != nil {
+ calls = append(calls, call)
+ continue
+ }
+ panic(fmt.Sprintf(
+ "invalid argument at position %d of type %T, InOrder expects *gomock.Call or generated mock types with an embedded *gomock.Call",
+ i,
+ args[i],
+ ))
+ }
for i := 1; i < len(calls); i++ {
calls[i].After(calls[i-1])
}
}
-func setSlice(arg interface{}, v reflect.Value) {
+// getCall checks if the parameter is a *Call or a generated struct
+// that wraps a *Call and returns the *Call pointer - if neither, it returns nil.
+func getCall(arg any) *Call {
+ if call, ok := arg.(*Call); ok {
+ return call
+ }
+ t := reflect.ValueOf(arg)
+ if t.Kind() != reflect.Ptr && t.Kind() != reflect.Interface {
+ return nil
+ }
+ t = t.Elem()
+ for i := 0; i < t.NumField(); i++ {
+ f := t.Field(i)
+ if !f.CanInterface() {
+ continue
+ }
+ if call, ok := f.Interface().(*Call); ok {
+ return call
+ }
+ }
+ return nil
+}
+
+func setSlice(arg any, v reflect.Value) {
va := reflect.ValueOf(arg)
for i := 0; i < v.Len(); i++ {
va.Index(i).Set(v.Index(i))
}
}
-func (c *Call) addAction(action func([]interface{}) []interface{}) {
+func setMap(arg any, v reflect.Value) {
+ va := reflect.ValueOf(arg)
+ for _, e := range va.MapKeys() {
+ va.SetMapIndex(e, reflect.Value{})
+ }
+ for _, e := range v.MapKeys() {
+ va.SetMapIndex(e, v.MapIndex(e))
+ }
+}
+
+func (c *Call) addAction(action func([]any) []any) {
c.actions = append(c.actions, action)
}
-func formatGottenArg(m Matcher, arg interface{}) string {
+func formatGottenArg(m Matcher, arg any) string {
got := fmt.Sprintf("%v (%T)", arg, arg)
if gs, ok := m.(GotFormatter); ok {
got = gs.Got(arg)
diff --git a/vendor/github.com/golang/mock/gomock/callset.go b/vendor/go.uber.org/mock/gomock/callset.go
similarity index 70%
rename from vendor/github.com/golang/mock/gomock/callset.go
rename to vendor/go.uber.org/mock/gomock/callset.go
index 49dba787..f5cc592d 100644
--- a/vendor/github.com/golang/mock/gomock/callset.go
+++ b/vendor/go.uber.org/mock/gomock/callset.go
@@ -18,40 +18,69 @@ import (
"bytes"
"errors"
"fmt"
+ "sync"
)
// callSet represents a set of expected calls, indexed by receiver and method
// name.
type callSet struct {
// Calls that are still expected.
- expected map[callSetKey][]*Call
+ expected map[callSetKey][]*Call
+ expectedMu *sync.Mutex
// Calls that have been exhausted.
exhausted map[callSetKey][]*Call
+ // when set to true, existing call expectations are overridden when new call expectations are made
+ allowOverride bool
}
// callSetKey is the key in the maps in callSet
type callSetKey struct {
- receiver interface{}
+ receiver any
fname string
}
func newCallSet() *callSet {
- return &callSet{make(map[callSetKey][]*Call), make(map[callSetKey][]*Call)}
+ return &callSet{
+ expected: make(map[callSetKey][]*Call),
+ expectedMu: &sync.Mutex{},
+ exhausted: make(map[callSetKey][]*Call),
+ }
+}
+
+func newOverridableCallSet() *callSet {
+ return &callSet{
+ expected: make(map[callSetKey][]*Call),
+ expectedMu: &sync.Mutex{},
+ exhausted: make(map[callSetKey][]*Call),
+ allowOverride: true,
+ }
}
// Add adds a new expected call.
func (cs callSet) Add(call *Call) {
key := callSetKey{call.receiver, call.method}
+
+ cs.expectedMu.Lock()
+ defer cs.expectedMu.Unlock()
+
m := cs.expected
if call.exhausted() {
m = cs.exhausted
}
+ if cs.allowOverride {
+ m[key] = make([]*Call, 0)
+ }
+
m[key] = append(m[key], call)
}
// Remove removes an expected call.
func (cs callSet) Remove(call *Call) {
key := callSetKey{call.receiver, call.method}
+
+ cs.expectedMu.Lock()
+ defer cs.expectedMu.Unlock()
+
calls := cs.expected[key]
for i, c := range calls {
if c == call {
@@ -64,9 +93,12 @@ func (cs callSet) Remove(call *Call) {
}
// FindMatch searches for a matching call. Returns error with explanation message if no call matched.
-func (cs callSet) FindMatch(receiver interface{}, method string, args []interface{}) (*Call, error) {
+func (cs callSet) FindMatch(receiver any, method string, args []any) (*Call, error) {
key := callSetKey{receiver, method}
+ cs.expectedMu.Lock()
+ defer cs.expectedMu.Unlock()
+
// Search through the expected calls.
expected := cs.expected[key]
var callsErrors bytes.Buffer
@@ -101,6 +133,9 @@ func (cs callSet) FindMatch(receiver interface{}, method string, args []interfac
// Failures returns the calls that are not satisfied.
func (cs callSet) Failures() []*Call {
+ cs.expectedMu.Lock()
+ defer cs.expectedMu.Unlock()
+
failures := make([]*Call, 0, len(cs.expected))
for _, calls := range cs.expected {
for _, call := range calls {
@@ -111,3 +146,19 @@ func (cs callSet) Failures() []*Call {
}
return failures
}
+
+// Satisfied returns true in case all expected calls in this callSet are satisfied.
+func (cs callSet) Satisfied() bool {
+ cs.expectedMu.Lock()
+ defer cs.expectedMu.Unlock()
+
+ for _, calls := range cs.expected {
+ for _, call := range calls {
+ if !call.satisfied() {
+ return false
+ }
+ }
+ }
+
+ return true
+}
diff --git a/vendor/github.com/golang/mock/gomock/controller.go b/vendor/go.uber.org/mock/gomock/controller.go
similarity index 67%
rename from vendor/github.com/golang/mock/gomock/controller.go
rename to vendor/go.uber.org/mock/gomock/controller.go
index f054200d..9d17a2f0 100644
--- a/vendor/github.com/golang/mock/gomock/controller.go
+++ b/vendor/go.uber.org/mock/gomock/controller.go
@@ -12,44 +12,6 @@
// See the License for the specific language governing permissions and
// limitations under the License.
-// Package gomock is a mock framework for Go.
-//
-// Standard usage:
-// (1) Define an interface that you wish to mock.
-// type MyInterface interface {
-// SomeMethod(x int64, y string)
-// }
-// (2) Use mockgen to generate a mock from the interface.
-// (3) Use the mock in a test:
-// func TestMyThing(t *testing.T) {
-// mockCtrl := gomock.NewController(t)
-// defer mockCtrl.Finish()
-//
-// mockObj := something.NewMockMyInterface(mockCtrl)
-// mockObj.EXPECT().SomeMethod(4, "blah")
-// // pass mockObj to a real object and play with it.
-// }
-//
-// By default, expected calls are not enforced to run in any particular order.
-// Call order dependency can be enforced by use of InOrder and/or Call.After.
-// Call.After can create more varied call order dependencies, but InOrder is
-// often more convenient.
-//
-// The following examples create equivalent call order dependencies.
-//
-// Example of using Call.After to chain expected call order:
-//
-// firstCall := mockObj.EXPECT().SomeMethod(1, "first")
-// secondCall := mockObj.EXPECT().SomeMethod(2, "second").After(firstCall)
-// mockObj.EXPECT().SomeMethod(3, "third").After(secondCall)
-//
-// Example of using InOrder to declare expected call order:
-//
-// gomock.InOrder(
-// mockObj.EXPECT().SomeMethod(1, "first"),
-// mockObj.EXPECT().SomeMethod(2, "second"),
-// mockObj.EXPECT().SomeMethod(3, "third"),
-// )
package gomock
import (
@@ -63,8 +25,8 @@ import (
// A TestReporter is something that can be used to report test failures. It
// is satisfied by the standard library's *testing.T.
type TestReporter interface {
- Errorf(format string, args ...interface{})
- Fatalf(format string, args ...interface{})
+ Errorf(format string, args ...any)
+ Fatalf(format string, args ...any)
}
// TestHelper is a TestReporter that has the Helper method. It is satisfied
@@ -89,24 +51,21 @@ type cleanuper interface {
// goroutines. Each test should create a new Controller and invoke Finish via
// defer.
//
-// func TestFoo(t *testing.T) {
-// ctrl := gomock.NewController(t)
-// defer ctrl.Finish()
-// // ..
-// }
+// func TestFoo(t *testing.T) {
+// ctrl := gomock.NewController(t)
+// // ..
+// }
//
-// func TestBar(t *testing.T) {
-// t.Run("Sub-Test-1", st) {
-// ctrl := gomock.NewController(st)
-// defer ctrl.Finish()
-// // ..
-// })
-// t.Run("Sub-Test-2", st) {
-// ctrl := gomock.NewController(st)
-// defer ctrl.Finish()
-// // ..
-// })
-// })
+// func TestBar(t *testing.T) {
+// t.Run("Sub-Test-1", st) {
+// ctrl := gomock.NewController(st)
+// // ..
+// })
+// t.Run("Sub-Test-2", st) {
+// ctrl := gomock.NewController(st)
+// // ..
+// })
+// })
type Controller struct {
// T should only be called within a generated mock. It is not intended to
// be used in user code and may be changed in future versions. T is the
@@ -119,12 +78,11 @@ type Controller struct {
finished bool
}
-// NewController returns a new Controller. It is the preferred way to create a
-// Controller.
+// NewController returns a new Controller. It is the preferred way to create a Controller.
//
-// New in go1.14+, if you are passing a *testing.T into this function you no
-// longer need to call ctrl.Finish() in your test methods.
-func NewController(t TestReporter) *Controller {
+// Passing [*testing.T] registers cleanup function to automatically call [Controller.Finish]
+// when the test and all its subtests complete.
+func NewController(t TestReporter, opts ...ControllerOption) *Controller {
h, ok := t.(TestHelper)
if !ok {
h = &nopTestHelper{t}
@@ -133,6 +91,9 @@ func NewController(t TestReporter) *Controller {
T: h,
expectedCalls: newCallSet(),
}
+ for _, opt := range opts {
+ opt.apply(ctrl)
+ }
if c, ok := isCleanuper(ctrl.T); ok {
c.Cleanup(func() {
ctrl.T.Helper()
@@ -143,15 +104,32 @@ func NewController(t TestReporter) *Controller {
return ctrl
}
+// ControllerOption configures how a Controller should behave.
+type ControllerOption interface {
+ apply(*Controller)
+}
+
+type overridableExpectationsOption struct{}
+
+// WithOverridableExpectations allows for overridable call expectations
+// i.e., subsequent call expectations override existing call expectations
+func WithOverridableExpectations() overridableExpectationsOption {
+ return overridableExpectationsOption{}
+}
+
+func (o overridableExpectationsOption) apply(ctrl *Controller) {
+ ctrl.expectedCalls = newOverridableCallSet()
+}
+
type cancelReporter struct {
t TestHelper
cancel func()
}
-func (r *cancelReporter) Errorf(format string, args ...interface{}) {
+func (r *cancelReporter) Errorf(format string, args ...any) {
r.t.Errorf(format, args...)
}
-func (r *cancelReporter) Fatalf(format string, args ...interface{}) {
+func (r *cancelReporter) Fatalf(format string, args ...any) {
defer r.cancel()
r.t.Fatalf(format, args...)
}
@@ -176,17 +154,17 @@ type nopTestHelper struct {
t TestReporter
}
-func (h *nopTestHelper) Errorf(format string, args ...interface{}) {
+func (h *nopTestHelper) Errorf(format string, args ...any) {
h.t.Errorf(format, args...)
}
-func (h *nopTestHelper) Fatalf(format string, args ...interface{}) {
+func (h *nopTestHelper) Fatalf(format string, args ...any) {
h.t.Fatalf(format, args...)
}
func (h nopTestHelper) Helper() {}
// RecordCall is called by a mock. It should not be called by user code.
-func (ctrl *Controller) RecordCall(receiver interface{}, method string, args ...interface{}) *Call {
+func (ctrl *Controller) RecordCall(receiver any, method string, args ...any) *Call {
ctrl.T.Helper()
recv := reflect.ValueOf(receiver)
@@ -200,7 +178,7 @@ func (ctrl *Controller) RecordCall(receiver interface{}, method string, args ...
}
// RecordCallWithMethodType is called by a mock. It should not be called by user code.
-func (ctrl *Controller) RecordCallWithMethodType(receiver interface{}, method string, methodType reflect.Type, args ...interface{}) *Call {
+func (ctrl *Controller) RecordCallWithMethodType(receiver any, method string, methodType reflect.Type, args ...any) *Call {
ctrl.T.Helper()
call := newCall(ctrl.T, receiver, method, methodType, args...)
@@ -213,11 +191,11 @@ func (ctrl *Controller) RecordCallWithMethodType(receiver interface{}, method st
}
// Call is called by a mock. It should not be called by user code.
-func (ctrl *Controller) Call(receiver interface{}, method string, args ...interface{}) []interface{} {
+func (ctrl *Controller) Call(receiver any, method string, args ...any) []any {
ctrl.T.Helper()
// Nest this code so we can use defer to make sure the lock is released.
- actions := func() []func([]interface{}) []interface{} {
+ actions := func() []func([]any) []any {
ctrl.T.Helper()
ctrl.mu.Lock()
defer ctrl.mu.Unlock()
@@ -246,7 +224,7 @@ func (ctrl *Controller) Call(receiver interface{}, method string, args ...interf
return actions
}()
- var rets []interface{}
+ var rets []any
for _, action := range actions {
if r := action(args); r != nil {
rets = r
@@ -256,12 +234,8 @@ func (ctrl *Controller) Call(receiver interface{}, method string, args ...interf
return rets
}
-// Finish checks to see if all the methods that were expected to be called
-// were called. It should be invoked for each Controller. It is not idempotent
-// and therefore can only be invoked once.
-//
-// New in go1.14+, if you are passing a *testing.T into NewController function you no
-// longer need to call ctrl.Finish() in your test methods.
+// Finish checks to see if all the methods that were expected to be called were called.
+// It is not idempotent and therefore can only be invoked once.
func (ctrl *Controller) Finish() {
// If we're currently panicking, probably because this is a deferred call.
// This must be recovered in the deferred function.
@@ -269,7 +243,15 @@ func (ctrl *Controller) Finish() {
ctrl.finish(false, err)
}
-func (ctrl *Controller) finish(cleanup bool, panicErr interface{}) {
+// Satisfied returns whether all expected calls bound to this Controller have been satisfied.
+// Calling Finish is then guaranteed to not fail due to missing calls.
+func (ctrl *Controller) Satisfied() bool {
+ ctrl.mu.Lock()
+ defer ctrl.mu.Unlock()
+ return ctrl.expectedCalls.Satisfied()
+}
+
+func (ctrl *Controller) finish(cleanup bool, panicErr any) {
ctrl.T.Helper()
ctrl.mu.Lock()
diff --git a/vendor/go.uber.org/mock/gomock/doc.go b/vendor/go.uber.org/mock/gomock/doc.go
new file mode 100644
index 00000000..696dda38
--- /dev/null
+++ b/vendor/go.uber.org/mock/gomock/doc.go
@@ -0,0 +1,60 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Package gomock is a mock framework for Go.
+//
+// Standard usage:
+//
+// (1) Define an interface that you wish to mock.
+// type MyInterface interface {
+// SomeMethod(x int64, y string)
+// }
+// (2) Use mockgen to generate a mock from the interface.
+// (3) Use the mock in a test:
+// func TestMyThing(t *testing.T) {
+// mockCtrl := gomock.NewController(t)
+// mockObj := something.NewMockMyInterface(mockCtrl)
+// mockObj.EXPECT().SomeMethod(4, "blah")
+// // pass mockObj to a real object and play with it.
+// }
+//
+// By default, expected calls are not enforced to run in any particular order.
+// Call order dependency can be enforced by use of InOrder and/or Call.After.
+// Call.After can create more varied call order dependencies, but InOrder is
+// often more convenient.
+//
+// The following examples create equivalent call order dependencies.
+//
+// Example of using Call.After to chain expected call order:
+//
+// firstCall := mockObj.EXPECT().SomeMethod(1, "first")
+// secondCall := mockObj.EXPECT().SomeMethod(2, "second").After(firstCall)
+// mockObj.EXPECT().SomeMethod(3, "third").After(secondCall)
+//
+// Example of using InOrder to declare expected call order:
+//
+// gomock.InOrder(
+// mockObj.EXPECT().SomeMethod(1, "first"),
+// mockObj.EXPECT().SomeMethod(2, "second"),
+// mockObj.EXPECT().SomeMethod(3, "third"),
+// )
+//
+// The standard TestReporter most users will pass to `NewController` is a
+// `*testing.T` from the context of the test. Note that this will use the
+// standard `t.Error` and `t.Fatal` methods to report what happened in the test.
+// In some cases this can leave your testing package in a weird state if global
+// state is used since `t.Fatal` is like calling panic in the middle of a
+// function. In these cases it is recommended that you pass in your own
+// `TestReporter`.
+package gomock
diff --git a/vendor/github.com/golang/mock/gomock/matchers.go b/vendor/go.uber.org/mock/gomock/matchers.go
similarity index 63%
rename from vendor/github.com/golang/mock/gomock/matchers.go
rename to vendor/go.uber.org/mock/gomock/matchers.go
index 2822fb2c..c1725509 100644
--- a/vendor/github.com/golang/mock/gomock/matchers.go
+++ b/vendor/go.uber.org/mock/gomock/matchers.go
@@ -17,6 +17,7 @@ package gomock
import (
"fmt"
"reflect"
+ "regexp"
"strings"
)
@@ -24,7 +25,7 @@ import (
// It is used to represent the valid or expected arguments to a mocked method.
type Matcher interface {
// Matches returns whether x is a match.
- Matches(x interface{}) bool
+ Matches(x any) bool
// String describes what the matcher matches.
String() string
@@ -35,7 +36,7 @@ type Matcher interface {
// printing .
func WantFormatter(s fmt.Stringer, m Matcher) Matcher {
type matcher interface {
- Matches(x interface{}) bool
+ Matches(x any) bool
}
return struct {
@@ -63,16 +64,16 @@ func (f StringerFunc) String() string {
type GotFormatter interface {
// Got is invoked with the received value. The result is used when
// printing the failure message.
- Got(got interface{}) string
+ Got(got any) string
}
// GotFormatterFunc type is an adapter to allow the use of ordinary
// functions as a GotFormatter. If f is a function with the appropriate
// signature, GotFormatterFunc(f) is a GotFormatter that calls f.
-type GotFormatterFunc func(got interface{}) string
+type GotFormatterFunc func(got any) string
// Got implements GotFormatter.
-func (f GotFormatterFunc) Got(got interface{}) string {
+func (f GotFormatterFunc) Got(got any) string {
return f(got)
}
@@ -89,7 +90,7 @@ func GotFormatterAdapter(s GotFormatter, m Matcher) Matcher {
type anyMatcher struct{}
-func (anyMatcher) Matches(interface{}) bool {
+func (anyMatcher) Matches(any) bool {
return true
}
@@ -97,11 +98,23 @@ func (anyMatcher) String() string {
return "is anything"
}
+type condMatcher struct {
+ fn func(x any) bool
+}
+
+func (c condMatcher) Matches(x any) bool {
+ return c.fn(x)
+}
+
+func (condMatcher) String() string {
+ return "adheres to a custom condition"
+}
+
type eqMatcher struct {
- x interface{}
+ x any
}
-func (e eqMatcher) Matches(x interface{}) bool {
+func (e eqMatcher) Matches(x any) bool {
// In case, some value is nil
if e.x == nil || x == nil {
return reflect.DeepEqual(e.x, x)
@@ -125,7 +138,7 @@ func (e eqMatcher) String() string {
type nilMatcher struct{}
-func (nilMatcher) Matches(x interface{}) bool {
+func (nilMatcher) Matches(x any) bool {
if x == nil {
return true
}
@@ -148,7 +161,7 @@ type notMatcher struct {
m Matcher
}
-func (n notMatcher) Matches(x interface{}) bool {
+func (n notMatcher) Matches(x any) bool {
return !n.m.Matches(x)
}
@@ -156,11 +169,30 @@ func (n notMatcher) String() string {
return "not(" + n.m.String() + ")"
}
+type regexMatcher struct {
+ regex *regexp.Regexp
+}
+
+func (m regexMatcher) Matches(x any) bool {
+ switch t := x.(type) {
+ case string:
+ return m.regex.MatchString(t)
+ case []byte:
+ return m.regex.Match(t)
+ default:
+ return false
+ }
+}
+
+func (m regexMatcher) String() string {
+ return "matches regex " + m.regex.String()
+}
+
type assignableToTypeOfMatcher struct {
targetType reflect.Type
}
-func (m assignableToTypeOfMatcher) Matches(x interface{}) bool {
+func (m assignableToTypeOfMatcher) Matches(x any) bool {
return reflect.TypeOf(x).AssignableTo(m.targetType)
}
@@ -168,11 +200,32 @@ func (m assignableToTypeOfMatcher) String() string {
return "is assignable to " + m.targetType.Name()
}
+type anyOfMatcher struct {
+ matchers []Matcher
+}
+
+func (am anyOfMatcher) Matches(x any) bool {
+ for _, m := range am.matchers {
+ if m.Matches(x) {
+ return true
+ }
+ }
+ return false
+}
+
+func (am anyOfMatcher) String() string {
+ ss := make([]string, 0, len(am.matchers))
+ for _, matcher := range am.matchers {
+ ss = append(ss, matcher.String())
+ }
+ return strings.Join(ss, " | ")
+}
+
type allMatcher struct {
matchers []Matcher
}
-func (am allMatcher) Matches(x interface{}) bool {
+func (am allMatcher) Matches(x any) bool {
for _, m := range am.matchers {
if !m.Matches(x) {
return false
@@ -193,7 +246,7 @@ type lenMatcher struct {
i int
}
-func (m lenMatcher) Matches(x interface{}) bool {
+func (m lenMatcher) Matches(x any) bool {
v := reflect.ValueOf(x)
switch v.Kind() {
case reflect.Array, reflect.Chan, reflect.Map, reflect.Slice, reflect.String:
@@ -208,10 +261,10 @@ func (m lenMatcher) String() string {
}
type inAnyOrderMatcher struct {
- x interface{}
+ x any
}
-func (m inAnyOrderMatcher) Matches(x interface{}) bool {
+func (m inAnyOrderMatcher) Matches(x any) bool {
given, ok := m.prepareValue(x)
if !ok {
return false
@@ -257,7 +310,7 @@ func (m inAnyOrderMatcher) Matches(x interface{}) bool {
return extraInGiven == 0 && missingFromWanted == 0
}
-func (m inAnyOrderMatcher) prepareValue(x interface{}) (reflect.Value, bool) {
+func (m inAnyOrderMatcher) prepareValue(x any) (reflect.Value, bool) {
xValue := reflect.ValueOf(x)
switch xValue.Kind() {
case reflect.Slice, reflect.Array:
@@ -280,12 +333,45 @@ func All(ms ...Matcher) Matcher { return allMatcher{ms} }
// Any returns a matcher that always matches.
func Any() Matcher { return anyMatcher{} }
+// Cond returns a matcher that matches when the given function returns true
+// after passing it the parameter to the mock function.
+// This is particularly useful in case you want to match over a field of a custom struct, or dynamic logic.
+//
+// Example usage:
+//
+// Cond(func(x any){return x.(int) == 1}).Matches(1) // returns true
+// Cond(func(x any){return x.(int) == 2}).Matches(1) // returns false
+func Cond(fn func(x any) bool) Matcher { return condMatcher{fn} }
+
+// AnyOf returns a composite Matcher that returns true if at least one of the
+// matchers returns true.
+//
+// Example usage:
+//
+// AnyOf(1, 2, 3).Matches(2) // returns true
+// AnyOf(1, 2, 3).Matches(10) // returns false
+// AnyOf(Nil(), Len(2)).Matches(nil) // returns true
+// AnyOf(Nil(), Len(2)).Matches("hi") // returns true
+// AnyOf(Nil(), Len(2)).Matches("hello") // returns false
+func AnyOf(xs ...any) Matcher {
+ ms := make([]Matcher, 0, len(xs))
+ for _, x := range xs {
+ if m, ok := x.(Matcher); ok {
+ ms = append(ms, m)
+ } else {
+ ms = append(ms, Eq(x))
+ }
+ }
+ return anyOfMatcher{ms}
+}
+
// Eq returns a matcher that matches on equality.
//
// Example usage:
-// Eq(5).Matches(5) // returns true
-// Eq(5).Matches(4) // returns false
-func Eq(x interface{}) Matcher { return eqMatcher{x} }
+//
+// Eq(5).Matches(5) // returns true
+// Eq(5).Matches(4) // returns false
+func Eq(x any) Matcher { return eqMatcher{x} }
// Len returns a matcher that matches on length. This matcher returns false if
// is compared to a type that is not an array, chan, map, slice, or string.
@@ -296,35 +382,50 @@ func Len(i int) Matcher {
// Nil returns a matcher that matches if the received value is nil.
//
// Example usage:
-// var x *bytes.Buffer
-// Nil().Matches(x) // returns true
-// x = &bytes.Buffer{}
-// Nil().Matches(x) // returns false
+//
+// var x *bytes.Buffer
+// Nil().Matches(x) // returns true
+// x = &bytes.Buffer{}
+// Nil().Matches(x) // returns false
func Nil() Matcher { return nilMatcher{} }
// Not reverses the results of its given child matcher.
//
// Example usage:
-// Not(Eq(5)).Matches(4) // returns true
-// Not(Eq(5)).Matches(5) // returns false
-func Not(x interface{}) Matcher {
+//
+// Not(Eq(5)).Matches(4) // returns true
+// Not(Eq(5)).Matches(5) // returns false
+func Not(x any) Matcher {
if m, ok := x.(Matcher); ok {
return notMatcher{m}
}
return notMatcher{Eq(x)}
}
+// Regex checks whether parameter matches the associated regex.
+//
+// Example usage:
+//
+// Regex("[0-9]{2}:[0-9]{2}").Matches("23:02") // returns true
+// Regex("[0-9]{2}:[0-9]{2}").Matches([]byte{'2', '3', ':', '0', '2'}) // returns true
+// Regex("[0-9]{2}:[0-9]{2}").Matches("hello world") // returns false
+// Regex("[0-9]{2}").Matches(21) // returns false as it's not a valid type
+func Regex(regexStr string) Matcher {
+ return regexMatcher{regex: regexp.MustCompile(regexStr)}
+}
+
// AssignableToTypeOf is a Matcher that matches if the parameter to the mock
// function is assignable to the type of the parameter to this function.
//
// Example usage:
-// var s fmt.Stringer = &bytes.Buffer{}
-// AssignableToTypeOf(s).Matches(time.Second) // returns true
-// AssignableToTypeOf(s).Matches(99) // returns false
//
-// var ctx = reflect.TypeOf((*context.Context)(nil)).Elem()
-// AssignableToTypeOf(ctx).Matches(context.Background()) // returns true
-func AssignableToTypeOf(x interface{}) Matcher {
+// var s fmt.Stringer = &bytes.Buffer{}
+// AssignableToTypeOf(s).Matches(time.Second) // returns true
+// AssignableToTypeOf(s).Matches(99) // returns false
+//
+// var ctx = reflect.TypeOf((*context.Context)(nil)).Elem()
+// AssignableToTypeOf(ctx).Matches(context.Background()) // returns true
+func AssignableToTypeOf(x any) Matcher {
if xt, ok := x.(reflect.Type); ok {
return assignableToTypeOfMatcher{xt}
}
@@ -334,8 +435,9 @@ func AssignableToTypeOf(x interface{}) Matcher {
// InAnyOrder is a Matcher that returns true for collections of the same elements ignoring the order.
//
// Example usage:
-// InAnyOrder([]int{1, 2, 3}).Matches([]int{1, 3, 2}) // returns true
-// InAnyOrder([]int{1, 2, 3}).Matches([]int{1, 2}) // returns false
-func InAnyOrder(x interface{}) Matcher {
+//
+// InAnyOrder([]int{1, 2, 3}).Matches([]int{1, 3, 2}) // returns true
+// InAnyOrder([]int{1, 2, 3}).Matches([]int{1, 2}) // returns false
+func InAnyOrder(x any) Matcher {
return inAnyOrderMatcher{x}
}
diff --git a/vendor/golang.org/x/crypto/sha3/hashes_generic.go b/vendor/golang.org/x/crypto/sha3/hashes_generic.go
index c74fc20f..fe8c8479 100644
--- a/vendor/golang.org/x/crypto/sha3/hashes_generic.go
+++ b/vendor/golang.org/x/crypto/sha3/hashes_generic.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build !gc || purego || !s390x
-// +build !gc purego !s390x
package sha3
diff --git a/vendor/golang.org/x/crypto/sha3/keccakf.go b/vendor/golang.org/x/crypto/sha3/keccakf.go
index e5faa375..ce48b1dd 100644
--- a/vendor/golang.org/x/crypto/sha3/keccakf.go
+++ b/vendor/golang.org/x/crypto/sha3/keccakf.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build !amd64 || purego || !gc
-// +build !amd64 purego !gc
package sha3
diff --git a/vendor/golang.org/x/crypto/sha3/keccakf_amd64.go b/vendor/golang.org/x/crypto/sha3/keccakf_amd64.go
index 248a3824..b908696b 100644
--- a/vendor/golang.org/x/crypto/sha3/keccakf_amd64.go
+++ b/vendor/golang.org/x/crypto/sha3/keccakf_amd64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build amd64 && !purego && gc
-// +build amd64,!purego,gc
package sha3
diff --git a/vendor/golang.org/x/crypto/sha3/keccakf_amd64.s b/vendor/golang.org/x/crypto/sha3/keccakf_amd64.s
index 4cfa5438..1f539388 100644
--- a/vendor/golang.org/x/crypto/sha3/keccakf_amd64.s
+++ b/vendor/golang.org/x/crypto/sha3/keccakf_amd64.s
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build amd64 && !purego && gc
-// +build amd64,!purego,gc
// This code was translated into a form compatible with 6a from the public
// domain sources at https://github.com/gvanas/KeccakCodePackage
@@ -320,9 +319,9 @@
MOVQ rDi, _si(oState); \
MOVQ rDo, _so(oState) \
-// func keccakF1600(state *[25]uint64)
+// func keccakF1600(a *[25]uint64)
TEXT ·keccakF1600(SB), 0, $200-8
- MOVQ state+0(FP), rpState
+ MOVQ a+0(FP), rpState
// Convert the user state into an internal state
NOTQ _be(rpState)
diff --git a/vendor/golang.org/x/crypto/sha3/register.go b/vendor/golang.org/x/crypto/sha3/register.go
index 8b4453aa..addfd504 100644
--- a/vendor/golang.org/x/crypto/sha3/register.go
+++ b/vendor/golang.org/x/crypto/sha3/register.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build go1.4
-// +build go1.4
package sha3
diff --git a/vendor/golang.org/x/crypto/sha3/sha3_s390x.go b/vendor/golang.org/x/crypto/sha3/sha3_s390x.go
index ec26f147..d861bca5 100644
--- a/vendor/golang.org/x/crypto/sha3/sha3_s390x.go
+++ b/vendor/golang.org/x/crypto/sha3/sha3_s390x.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gc && !purego
-// +build gc,!purego
package sha3
diff --git a/vendor/golang.org/x/crypto/sha3/sha3_s390x.s b/vendor/golang.org/x/crypto/sha3/sha3_s390x.s
index a0e051b0..826b862c 100644
--- a/vendor/golang.org/x/crypto/sha3/sha3_s390x.s
+++ b/vendor/golang.org/x/crypto/sha3/sha3_s390x.s
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gc && !purego
-// +build gc,!purego
#include "textflag.h"
diff --git a/vendor/golang.org/x/crypto/sha3/shake_generic.go b/vendor/golang.org/x/crypto/sha3/shake_generic.go
index 5c0710ef..8d31cf5b 100644
--- a/vendor/golang.org/x/crypto/sha3/shake_generic.go
+++ b/vendor/golang.org/x/crypto/sha3/shake_generic.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build !gc || purego || !s390x
-// +build !gc purego !s390x
package sha3
diff --git a/vendor/golang.org/x/crypto/sha3/xor.go b/vendor/golang.org/x/crypto/sha3/xor.go
index 59c8eb94..7337cca8 100644
--- a/vendor/golang.org/x/crypto/sha3/xor.go
+++ b/vendor/golang.org/x/crypto/sha3/xor.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (!amd64 && !386 && !ppc64le) || purego
-// +build !amd64,!386,!ppc64le purego
package sha3
diff --git a/vendor/golang.org/x/crypto/sha3/xor_unaligned.go b/vendor/golang.org/x/crypto/sha3/xor_unaligned.go
index 1ce60624..870e2d16 100644
--- a/vendor/golang.org/x/crypto/sha3/xor_unaligned.go
+++ b/vendor/golang.org/x/crypto/sha3/xor_unaligned.go
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (amd64 || 386 || ppc64le) && !purego
-// +build amd64 386 ppc64le
-// +build !purego
package sha3
diff --git a/vendor/golang.org/x/exp/slog/handler.go b/vendor/golang.org/x/exp/slog/handler.go
index 74f88738..bd635cb8 100644
--- a/vendor/golang.org/x/exp/slog/handler.go
+++ b/vendor/golang.org/x/exp/slog/handler.go
@@ -8,6 +8,7 @@ import (
"context"
"fmt"
"io"
+ "reflect"
"strconv"
"sync"
"time"
@@ -504,6 +505,23 @@ func (s *handleState) appendString(str string) {
}
func (s *handleState) appendValue(v Value) {
+ defer func() {
+ if r := recover(); r != nil {
+ // If it panics with a nil pointer, the most likely cases are
+ // an encoding.TextMarshaler or error fails to guard against nil,
+ // in which case "" seems to be the feasible choice.
+ //
+ // Adapted from the code in fmt/print.go.
+ if v := reflect.ValueOf(v.any); v.Kind() == reflect.Pointer && v.IsNil() {
+ s.appendString("")
+ return
+ }
+
+ // Otherwise just print the original panic message.
+ s.appendString(fmt.Sprintf("!PANIC: %v", r))
+ }
+ }()
+
var err error
if s.h.json {
err = appendJSONValue(s, v)
diff --git a/vendor/golang.org/x/net/context/go17.go b/vendor/golang.org/x/net/context/go17.go
index 2cb9c408..0c1b8679 100644
--- a/vendor/golang.org/x/net/context/go17.go
+++ b/vendor/golang.org/x/net/context/go17.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build go1.7
-// +build go1.7
package context
diff --git a/vendor/golang.org/x/net/context/go19.go b/vendor/golang.org/x/net/context/go19.go
index 64d31ecc..e31e35a9 100644
--- a/vendor/golang.org/x/net/context/go19.go
+++ b/vendor/golang.org/x/net/context/go19.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build go1.9
-// +build go1.9
package context
diff --git a/vendor/golang.org/x/net/context/pre_go17.go b/vendor/golang.org/x/net/context/pre_go17.go
index 7b6b6851..065ff3df 100644
--- a/vendor/golang.org/x/net/context/pre_go17.go
+++ b/vendor/golang.org/x/net/context/pre_go17.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build !go1.7
-// +build !go1.7
package context
diff --git a/vendor/golang.org/x/net/context/pre_go19.go b/vendor/golang.org/x/net/context/pre_go19.go
index 1f971534..ec5a6380 100644
--- a/vendor/golang.org/x/net/context/pre_go19.go
+++ b/vendor/golang.org/x/net/context/pre_go19.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build !go1.9
-// +build !go1.9
package context
diff --git a/vendor/golang.org/x/net/http2/databuffer.go b/vendor/golang.org/x/net/http2/databuffer.go
index a3067f8d..e6f55cbd 100644
--- a/vendor/golang.org/x/net/http2/databuffer.go
+++ b/vendor/golang.org/x/net/http2/databuffer.go
@@ -20,41 +20,44 @@ import (
// TODO: Benchmark to determine if the pools are necessary. The GC may have
// improved enough that we can instead allocate chunks like this:
// make([]byte, max(16<<10, expectedBytesRemaining))
-var (
- dataChunkSizeClasses = []int{
- 1 << 10,
- 2 << 10,
- 4 << 10,
- 8 << 10,
- 16 << 10,
- }
- dataChunkPools = [...]sync.Pool{
- {New: func() interface{} { return make([]byte, 1<<10) }},
- {New: func() interface{} { return make([]byte, 2<<10) }},
- {New: func() interface{} { return make([]byte, 4<<10) }},
- {New: func() interface{} { return make([]byte, 8<<10) }},
- {New: func() interface{} { return make([]byte, 16<<10) }},
- }
-)
+var dataChunkPools = [...]sync.Pool{
+ {New: func() interface{} { return new([1 << 10]byte) }},
+ {New: func() interface{} { return new([2 << 10]byte) }},
+ {New: func() interface{} { return new([4 << 10]byte) }},
+ {New: func() interface{} { return new([8 << 10]byte) }},
+ {New: func() interface{} { return new([16 << 10]byte) }},
+}
func getDataBufferChunk(size int64) []byte {
- i := 0
- for ; i < len(dataChunkSizeClasses)-1; i++ {
- if size <= int64(dataChunkSizeClasses[i]) {
- break
- }
+ switch {
+ case size <= 1<<10:
+ return dataChunkPools[0].Get().(*[1 << 10]byte)[:]
+ case size <= 2<<10:
+ return dataChunkPools[1].Get().(*[2 << 10]byte)[:]
+ case size <= 4<<10:
+ return dataChunkPools[2].Get().(*[4 << 10]byte)[:]
+ case size <= 8<<10:
+ return dataChunkPools[3].Get().(*[8 << 10]byte)[:]
+ default:
+ return dataChunkPools[4].Get().(*[16 << 10]byte)[:]
}
- return dataChunkPools[i].Get().([]byte)
}
func putDataBufferChunk(p []byte) {
- for i, n := range dataChunkSizeClasses {
- if len(p) == n {
- dataChunkPools[i].Put(p)
- return
- }
+ switch len(p) {
+ case 1 << 10:
+ dataChunkPools[0].Put((*[1 << 10]byte)(p))
+ case 2 << 10:
+ dataChunkPools[1].Put((*[2 << 10]byte)(p))
+ case 4 << 10:
+ dataChunkPools[2].Put((*[4 << 10]byte)(p))
+ case 8 << 10:
+ dataChunkPools[3].Put((*[8 << 10]byte)(p))
+ case 16 << 10:
+ dataChunkPools[4].Put((*[16 << 10]byte)(p))
+ default:
+ panic(fmt.Sprintf("unexpected buffer len=%v", len(p)))
}
- panic(fmt.Sprintf("unexpected buffer len=%v", len(p)))
}
// dataBuffer is an io.ReadWriter backed by a list of data chunks.
diff --git a/vendor/golang.org/x/net/http2/go111.go b/vendor/golang.org/x/net/http2/go111.go
deleted file mode 100644
index 5bf62b03..00000000
--- a/vendor/golang.org/x/net/http2/go111.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// 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 go1.11
-// +build go1.11
-
-package http2
-
-import (
- "net/http/httptrace"
- "net/textproto"
-)
-
-func traceHasWroteHeaderField(trace *httptrace.ClientTrace) bool {
- return trace != nil && trace.WroteHeaderField != nil
-}
-
-func traceWroteHeaderField(trace *httptrace.ClientTrace, k, v string) {
- if trace != nil && trace.WroteHeaderField != nil {
- trace.WroteHeaderField(k, []string{v})
- }
-}
-
-func traceGot1xxResponseFunc(trace *httptrace.ClientTrace) func(int, textproto.MIMEHeader) error {
- if trace != nil {
- return trace.Got1xxResponse
- }
- return nil
-}
diff --git a/vendor/golang.org/x/net/http2/go115.go b/vendor/golang.org/x/net/http2/go115.go
deleted file mode 100644
index 908af1ab..00000000
--- a/vendor/golang.org/x/net/http2/go115.go
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2021 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 go1.15
-// +build go1.15
-
-package http2
-
-import (
- "context"
- "crypto/tls"
-)
-
-// dialTLSWithContext uses tls.Dialer, added in Go 1.15, to open a TLS
-// connection.
-func (t *Transport) dialTLSWithContext(ctx context.Context, network, addr string, cfg *tls.Config) (*tls.Conn, error) {
- dialer := &tls.Dialer{
- Config: cfg,
- }
- cn, err := dialer.DialContext(ctx, network, addr)
- if err != nil {
- return nil, err
- }
- tlsCn := cn.(*tls.Conn) // DialContext comment promises this will always succeed
- return tlsCn, nil
-}
diff --git a/vendor/golang.org/x/net/http2/go118.go b/vendor/golang.org/x/net/http2/go118.go
deleted file mode 100644
index aca4b2b3..00000000
--- a/vendor/golang.org/x/net/http2/go118.go
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2021 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 go1.18
-// +build go1.18
-
-package http2
-
-import (
- "crypto/tls"
- "net"
-)
-
-func tlsUnderlyingConn(tc *tls.Conn) net.Conn {
- return tc.NetConn()
-}
diff --git a/vendor/golang.org/x/net/http2/not_go111.go b/vendor/golang.org/x/net/http2/not_go111.go
deleted file mode 100644
index cc0baa81..00000000
--- a/vendor/golang.org/x/net/http2/not_go111.go
+++ /dev/null
@@ -1,21 +0,0 @@
-// 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 !go1.11
-// +build !go1.11
-
-package http2
-
-import (
- "net/http/httptrace"
- "net/textproto"
-)
-
-func traceHasWroteHeaderField(trace *httptrace.ClientTrace) bool { return false }
-
-func traceWroteHeaderField(trace *httptrace.ClientTrace, k, v string) {}
-
-func traceGot1xxResponseFunc(trace *httptrace.ClientTrace) func(int, textproto.MIMEHeader) error {
- return nil
-}
diff --git a/vendor/golang.org/x/net/http2/not_go115.go b/vendor/golang.org/x/net/http2/not_go115.go
deleted file mode 100644
index e6c04cf7..00000000
--- a/vendor/golang.org/x/net/http2/not_go115.go
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright 2021 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 !go1.15
-// +build !go1.15
-
-package http2
-
-import (
- "context"
- "crypto/tls"
-)
-
-// dialTLSWithContext opens a TLS connection.
-func (t *Transport) dialTLSWithContext(ctx context.Context, network, addr string, cfg *tls.Config) (*tls.Conn, error) {
- cn, err := tls.Dial(network, addr, cfg)
- if err != nil {
- return nil, err
- }
- if err := cn.Handshake(); err != nil {
- return nil, err
- }
- if cfg.InsecureSkipVerify {
- return cn, nil
- }
- if err := cn.VerifyHostname(cfg.ServerName); err != nil {
- return nil, err
- }
- return cn, nil
-}
diff --git a/vendor/golang.org/x/net/http2/not_go118.go b/vendor/golang.org/x/net/http2/not_go118.go
deleted file mode 100644
index eab532c9..00000000
--- a/vendor/golang.org/x/net/http2/not_go118.go
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright 2021 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 !go1.18
-// +build !go1.18
-
-package http2
-
-import (
- "crypto/tls"
- "net"
-)
-
-func tlsUnderlyingConn(tc *tls.Conn) net.Conn {
- return nil
-}
diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go
index 02c88b6b..ae94c640 100644
--- a/vendor/golang.org/x/net/http2/server.go
+++ b/vendor/golang.org/x/net/http2/server.go
@@ -2549,7 +2549,6 @@ type responseWriterState struct {
wroteHeader bool // WriteHeader called (explicitly or implicitly). Not necessarily sent to user yet.
sentHeader bool // have we sent the header frame?
handlerDone bool // handler has finished
- dirty bool // a Write failed; don't reuse this responseWriterState
sentContentLen int64 // non-zero if handler set a Content-Length header
wroteBytes int64
@@ -2669,7 +2668,6 @@ func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) {
date: date,
})
if err != nil {
- rws.dirty = true
return 0, err
}
if endStream {
@@ -2690,7 +2688,6 @@ func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) {
if len(p) > 0 || endStream {
// only send a 0 byte DATA frame if we're ending the stream.
if err := rws.conn.writeDataFromHandler(rws.stream, p, endStream); err != nil {
- rws.dirty = true
return 0, err
}
}
@@ -2702,9 +2699,6 @@ func (rws *responseWriterState) writeChunk(p []byte) (n int, err error) {
trailers: rws.trailers,
endStream: true,
})
- if err != nil {
- rws.dirty = true
- }
return len(p), err
}
return len(p), nil
@@ -2920,14 +2914,12 @@ func (rws *responseWriterState) writeHeader(code int) {
h.Del("Transfer-Encoding")
}
- if rws.conn.writeHeaders(rws.stream, &writeResHeaders{
+ rws.conn.writeHeaders(rws.stream, &writeResHeaders{
streamID: rws.stream.id,
httpResCode: code,
h: h,
endStream: rws.handlerDone && !rws.hasTrailers(),
- }) != nil {
- rws.dirty = true
- }
+ })
return
}
@@ -2992,19 +2984,10 @@ func (w *responseWriter) write(lenData int, dataB []byte, dataS string) (n int,
func (w *responseWriter) handlerDone() {
rws := w.rws
- dirty := rws.dirty
rws.handlerDone = true
w.Flush()
w.rws = nil
- if !dirty {
- // Only recycle the pool if all prior Write calls to
- // the serverConn goroutine completed successfully. If
- // they returned earlier due to resets from the peer
- // there might still be write goroutines outstanding
- // from the serverConn referencing the rws memory. See
- // issue 20704.
- responseWriterStatePool.Put(rws)
- }
+ responseWriterStatePool.Put(rws)
}
// Push errors.
@@ -3187,6 +3170,7 @@ func (sc *serverConn) startPush(msg *startPushRequest) {
panic(fmt.Sprintf("newWriterAndRequestNoBody(%+v): %v", msg.url, err))
}
+ sc.curHandlers++
go sc.runHandler(rw, req, sc.handler.ServeHTTP)
return promisedID, nil
}
diff --git a/vendor/golang.org/x/net/http2/transport.go b/vendor/golang.org/x/net/http2/transport.go
index 4515b22c..df578b86 100644
--- a/vendor/golang.org/x/net/http2/transport.go
+++ b/vendor/golang.org/x/net/http2/transport.go
@@ -1018,7 +1018,7 @@ func (cc *ClientConn) forceCloseConn() {
if !ok {
return
}
- if nc := tlsUnderlyingConn(tc); nc != nil {
+ if nc := tc.NetConn(); nc != nil {
nc.Close()
}
}
@@ -3201,3 +3201,34 @@ func traceFirstResponseByte(trace *httptrace.ClientTrace) {
trace.GotFirstResponseByte()
}
}
+
+func traceHasWroteHeaderField(trace *httptrace.ClientTrace) bool {
+ return trace != nil && trace.WroteHeaderField != nil
+}
+
+func traceWroteHeaderField(trace *httptrace.ClientTrace, k, v string) {
+ if trace != nil && trace.WroteHeaderField != nil {
+ trace.WroteHeaderField(k, []string{v})
+ }
+}
+
+func traceGot1xxResponseFunc(trace *httptrace.ClientTrace) func(int, textproto.MIMEHeader) error {
+ if trace != nil {
+ return trace.Got1xxResponse
+ }
+ return nil
+}
+
+// dialTLSWithContext uses tls.Dialer, added in Go 1.15, to open a TLS
+// connection.
+func (t *Transport) dialTLSWithContext(ctx context.Context, network, addr string, cfg *tls.Config) (*tls.Conn, error) {
+ dialer := &tls.Dialer{
+ Config: cfg,
+ }
+ cn, err := dialer.DialContext(ctx, network, addr)
+ if err != nil {
+ return nil, err
+ }
+ tlsCn := cn.(*tls.Conn) // DialContext comment promises this will always succeed
+ return tlsCn, nil
+}
diff --git a/vendor/golang.org/x/net/idna/go118.go b/vendor/golang.org/x/net/idna/go118.go
index c5c4338d..712f1ad8 100644
--- a/vendor/golang.org/x/net/idna/go118.go
+++ b/vendor/golang.org/x/net/idna/go118.go
@@ -5,7 +5,6 @@
// license that can be found in the LICENSE file.
//go:build go1.18
-// +build go1.18
package idna
diff --git a/vendor/golang.org/x/net/idna/idna10.0.0.go b/vendor/golang.org/x/net/idna/idna10.0.0.go
index 64ccf85f..7b371788 100644
--- a/vendor/golang.org/x/net/idna/idna10.0.0.go
+++ b/vendor/golang.org/x/net/idna/idna10.0.0.go
@@ -5,7 +5,6 @@
// license that can be found in the LICENSE file.
//go:build go1.10
-// +build go1.10
// Package idna implements IDNA2008 using the compatibility processing
// defined by UTS (Unicode Technical Standard) #46, which defines a standard to
diff --git a/vendor/golang.org/x/net/idna/idna9.0.0.go b/vendor/golang.org/x/net/idna/idna9.0.0.go
index ee1698ce..cc6a892a 100644
--- a/vendor/golang.org/x/net/idna/idna9.0.0.go
+++ b/vendor/golang.org/x/net/idna/idna9.0.0.go
@@ -5,7 +5,6 @@
// license that can be found in the LICENSE file.
//go:build !go1.10
-// +build !go1.10
// Package idna implements IDNA2008 using the compatibility processing
// defined by UTS (Unicode Technical Standard) #46, which defines a standard to
diff --git a/vendor/golang.org/x/net/idna/pre_go118.go b/vendor/golang.org/x/net/idna/pre_go118.go
index 3aaccab1..40e74bb3 100644
--- a/vendor/golang.org/x/net/idna/pre_go118.go
+++ b/vendor/golang.org/x/net/idna/pre_go118.go
@@ -5,7 +5,6 @@
// license that can be found in the LICENSE file.
//go:build !go1.18
-// +build !go1.18
package idna
diff --git a/vendor/golang.org/x/net/idna/tables10.0.0.go b/vendor/golang.org/x/net/idna/tables10.0.0.go
index d1d62ef4..c6c2bf10 100644
--- a/vendor/golang.org/x/net/idna/tables10.0.0.go
+++ b/vendor/golang.org/x/net/idna/tables10.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build go1.10 && !go1.13
-// +build go1.10,!go1.13
package idna
diff --git a/vendor/golang.org/x/net/idna/tables11.0.0.go b/vendor/golang.org/x/net/idna/tables11.0.0.go
index 167efba7..76789393 100644
--- a/vendor/golang.org/x/net/idna/tables11.0.0.go
+++ b/vendor/golang.org/x/net/idna/tables11.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build go1.13 && !go1.14
-// +build go1.13,!go1.14
package idna
diff --git a/vendor/golang.org/x/net/idna/tables12.0.0.go b/vendor/golang.org/x/net/idna/tables12.0.0.go
index ab40f7bc..0600cd2a 100644
--- a/vendor/golang.org/x/net/idna/tables12.0.0.go
+++ b/vendor/golang.org/x/net/idna/tables12.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build go1.14 && !go1.16
-// +build go1.14,!go1.16
package idna
diff --git a/vendor/golang.org/x/net/idna/tables13.0.0.go b/vendor/golang.org/x/net/idna/tables13.0.0.go
index 66701ead..2fb768ef 100644
--- a/vendor/golang.org/x/net/idna/tables13.0.0.go
+++ b/vendor/golang.org/x/net/idna/tables13.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build go1.16 && !go1.21
-// +build go1.16,!go1.21
package idna
diff --git a/vendor/golang.org/x/net/idna/tables15.0.0.go b/vendor/golang.org/x/net/idna/tables15.0.0.go
index 40033778..5ff05fe1 100644
--- a/vendor/golang.org/x/net/idna/tables15.0.0.go
+++ b/vendor/golang.org/x/net/idna/tables15.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build go1.21
-// +build go1.21
package idna
diff --git a/vendor/golang.org/x/net/idna/tables9.0.0.go b/vendor/golang.org/x/net/idna/tables9.0.0.go
index 4074b533..0f25e84c 100644
--- a/vendor/golang.org/x/net/idna/tables9.0.0.go
+++ b/vendor/golang.org/x/net/idna/tables9.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build !go1.10
-// +build !go1.10
package idna
diff --git a/vendor/golang.org/x/net/idna/trie12.0.0.go b/vendor/golang.org/x/net/idna/trie12.0.0.go
index bb63f904..8a75b966 100644
--- a/vendor/golang.org/x/net/idna/trie12.0.0.go
+++ b/vendor/golang.org/x/net/idna/trie12.0.0.go
@@ -5,7 +5,6 @@
// license that can be found in the LICENSE file.
//go:build !go1.16
-// +build !go1.16
package idna
diff --git a/vendor/golang.org/x/net/idna/trie13.0.0.go b/vendor/golang.org/x/net/idna/trie13.0.0.go
index 7d68a8dc..fa45bb90 100644
--- a/vendor/golang.org/x/net/idna/trie13.0.0.go
+++ b/vendor/golang.org/x/net/idna/trie13.0.0.go
@@ -5,7 +5,6 @@
// license that can be found in the LICENSE file.
//go:build go1.16
-// +build go1.16
package idna
diff --git a/vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s b/vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s
index db9171c2..269e173c 100644
--- a/vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s
+++ b/vendor/golang.org/x/sys/cpu/asm_aix_ppc64.s
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gc
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/cpu/cpu_aix.go b/vendor/golang.org/x/sys/cpu/cpu_aix.go
index 8aaeef54..9bf0c32e 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_aix.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_aix.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix
-// +build aix
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_arm64.s b/vendor/golang.org/x/sys/cpu/cpu_arm64.s
index c61f95a0..fcb9a388 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_arm64.s
+++ b/vendor/golang.org/x/sys/cpu/cpu_arm64.s
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gc
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go
index ccf542a7..a8acd3e3 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_gc_arm64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gc
-// +build gc
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go b/vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go
index 0af2f248..c8ae6ddc 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_gc_s390x.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gc
-// +build gc
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go b/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go
index fa7cdb9b..910728fb 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_gc_x86.go
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (386 || amd64 || amd64p32) && gc
-// +build 386 amd64 amd64p32
-// +build gc
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go
index 2aff3189..7f194678 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_gccgo_arm64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gccgo
-// +build gccgo
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_gccgo_s390x.go b/vendor/golang.org/x/sys/cpu/cpu_gccgo_s390x.go
index 4bfbda61..9526d2ce 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_gccgo_s390x.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_gccgo_s390x.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gccgo
-// +build gccgo
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c b/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c
index 6cc73109..3f73a05d 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c
+++ b/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.c
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (386 || amd64 || amd64p32) && gccgo
-// +build 386 amd64 amd64p32
-// +build gccgo
#include
#include
diff --git a/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go b/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go
index 863d415a..99c60fe9 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_gccgo_x86.go
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (386 || amd64 || amd64p32) && gccgo
-// +build 386 amd64 amd64p32
-// +build gccgo
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux.go b/vendor/golang.org/x/sys/cpu/cpu_linux.go
index 159a686f..743eb543 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_linux.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_linux.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build !386 && !amd64 && !amd64p32 && !arm64
-// +build !386,!amd64,!amd64p32,!arm64
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_mips64x.go b/vendor/golang.org/x/sys/cpu/cpu_linux_mips64x.go
index 6000db4c..4686c1d5 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_linux_mips64x.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_linux_mips64x.go
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && (mips64 || mips64le)
-// +build linux
-// +build mips64 mips64le
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go b/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go
index f4992b1a..cd63e733 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_linux_noinit.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && !arm && !arm64 && !mips64 && !mips64le && !ppc64 && !ppc64le && !s390x
-// +build linux,!arm,!arm64,!mips64,!mips64le,!ppc64,!ppc64le,!s390x
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go b/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go
index 021356d6..197188e6 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_linux_ppc64x.go
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && (ppc64 || ppc64le)
-// +build linux
-// +build ppc64 ppc64le
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_loong64.go b/vendor/golang.org/x/sys/cpu/cpu_loong64.go
index 0f57b05b..55863585 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_loong64.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_loong64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build loong64
-// +build loong64
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_mips64x.go b/vendor/golang.org/x/sys/cpu/cpu_mips64x.go
index f4063c66..fedb00cc 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_mips64x.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_mips64x.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build mips64 || mips64le
-// +build mips64 mips64le
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_mipsx.go b/vendor/golang.org/x/sys/cpu/cpu_mipsx.go
index 07c4e36d..ffb4ec7e 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_mipsx.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_mipsx.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build mips || mipsle
-// +build mips mipsle
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_other_arm.go b/vendor/golang.org/x/sys/cpu/cpu_other_arm.go
index d7b4fb4c..e9ecf2a4 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_other_arm.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_other_arm.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build !linux && arm
-// +build !linux,arm
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go b/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go
index f3cde129..5341e7f8 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_other_arm64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build !linux && !netbsd && !openbsd && arm64
-// +build !linux,!netbsd,!openbsd,arm64
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go b/vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go
index 0dafe964..5f8f2419 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_other_mips64x.go
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build !linux && (mips64 || mips64le)
-// +build !linux
-// +build mips64 mips64le
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_other_ppc64x.go b/vendor/golang.org/x/sys/cpu/cpu_other_ppc64x.go
index 060d46b6..89608fba 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_other_ppc64x.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_other_ppc64x.go
@@ -3,9 +3,6 @@
// license that can be found in the LICENSE file.
//go:build !aix && !linux && (ppc64 || ppc64le)
-// +build !aix
-// +build !linux
-// +build ppc64 ppc64le
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_other_riscv64.go b/vendor/golang.org/x/sys/cpu/cpu_other_riscv64.go
index dd10eb79..5ab87808 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_other_riscv64.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_other_riscv64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build !linux && riscv64
-// +build !linux,riscv64
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go b/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go
index 4e8acd16..c14f12b1 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_ppc64x.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build ppc64 || ppc64le
-// +build ppc64 ppc64le
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_riscv64.go b/vendor/golang.org/x/sys/cpu/cpu_riscv64.go
index ff7da60e..7f0c79c0 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_riscv64.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_riscv64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build riscv64
-// +build riscv64
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_s390x.s b/vendor/golang.org/x/sys/cpu/cpu_s390x.s
index 96f81e20..1fb4b701 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_s390x.s
+++ b/vendor/golang.org/x/sys/cpu/cpu_s390x.s
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gc
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/cpu/cpu_wasm.go b/vendor/golang.org/x/sys/cpu/cpu_wasm.go
index 7747d888..384787ea 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_wasm.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_wasm.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build wasm
-// +build wasm
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_x86.go b/vendor/golang.org/x/sys/cpu/cpu_x86.go
index 2dcde828..c29f5e4c 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_x86.go
+++ b/vendor/golang.org/x/sys/cpu/cpu_x86.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build 386 || amd64 || amd64p32
-// +build 386 amd64 amd64p32
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/cpu_x86.s b/vendor/golang.org/x/sys/cpu/cpu_x86.s
index 39acab2f..7d7ba33e 100644
--- a/vendor/golang.org/x/sys/cpu/cpu_x86.s
+++ b/vendor/golang.org/x/sys/cpu/cpu_x86.s
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (386 || amd64 || amd64p32) && gc
-// +build 386 amd64 amd64p32
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/cpu/endian_big.go b/vendor/golang.org/x/sys/cpu/endian_big.go
index 93ce03a3..7fe04b0a 100644
--- a/vendor/golang.org/x/sys/cpu/endian_big.go
+++ b/vendor/golang.org/x/sys/cpu/endian_big.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64
-// +build armbe arm64be m68k mips mips64 mips64p32 ppc ppc64 s390 s390x shbe sparc sparc64
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/endian_little.go b/vendor/golang.org/x/sys/cpu/endian_little.go
index 55db853e..48eccc4c 100644
--- a/vendor/golang.org/x/sys/cpu/endian_little.go
+++ b/vendor/golang.org/x/sys/cpu/endian_little.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh || wasm
-// +build 386 amd64 amd64p32 alpha arm arm64 loong64 mipsle mips64le mips64p32le nios2 ppc64le riscv riscv64 sh wasm
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/proc_cpuinfo_linux.go b/vendor/golang.org/x/sys/cpu/proc_cpuinfo_linux.go
index d87bd6b3..4cd64c70 100644
--- a/vendor/golang.org/x/sys/cpu/proc_cpuinfo_linux.go
+++ b/vendor/golang.org/x/sys/cpu/proc_cpuinfo_linux.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && arm64
-// +build linux,arm64
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/runtime_auxv_go121.go b/vendor/golang.org/x/sys/cpu/runtime_auxv_go121.go
index b975ea2a..4c9788ea 100644
--- a/vendor/golang.org/x/sys/cpu/runtime_auxv_go121.go
+++ b/vendor/golang.org/x/sys/cpu/runtime_auxv_go121.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build go1.21
-// +build go1.21
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go b/vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go
index 96134157..1b9ccb09 100644
--- a/vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go
+++ b/vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go
@@ -9,7 +9,6 @@
// gccgo's libgo and thus must not used a CGo method.
//go:build aix && gccgo
-// +build aix,gccgo
package cpu
diff --git a/vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go b/vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go
index 904be42f..e8b6cdbe 100644
--- a/vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go
+++ b/vendor/golang.org/x/sys/cpu/syscall_aix_ppc64_gc.go
@@ -7,7 +7,6 @@
// (See golang.org/issue/32102)
//go:build aix && ppc64 && gc
-// +build aix,ppc64,gc
package cpu
diff --git a/vendor/golang.org/x/sys/unix/aliases.go b/vendor/golang.org/x/sys/unix/aliases.go
index abc89c10..e7d3df4b 100644
--- a/vendor/golang.org/x/sys/unix/aliases.go
+++ b/vendor/golang.org/x/sys/unix/aliases.go
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos) && go1.9
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
-// +build go1.9
package unix
diff --git a/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s b/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
index db9171c2..269e173c 100644
--- a/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
+++ b/vendor/golang.org/x/sys/unix/asm_aix_ppc64.s
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gc
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_bsd_386.s b/vendor/golang.org/x/sys/unix/asm_bsd_386.s
index e0fcd9b3..a4fcef0e 100644
--- a/vendor/golang.org/x/sys/unix/asm_bsd_386.s
+++ b/vendor/golang.org/x/sys/unix/asm_bsd_386.s
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (freebsd || netbsd || openbsd) && gc
-// +build freebsd netbsd openbsd
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s b/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s
index 2b99c349..1e63615c 100644
--- a/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s
+++ b/vendor/golang.org/x/sys/unix/asm_bsd_amd64.s
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (darwin || dragonfly || freebsd || netbsd || openbsd) && gc
-// +build darwin dragonfly freebsd netbsd openbsd
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_bsd_arm.s b/vendor/golang.org/x/sys/unix/asm_bsd_arm.s
index d702d4ad..6496c310 100644
--- a/vendor/golang.org/x/sys/unix/asm_bsd_arm.s
+++ b/vendor/golang.org/x/sys/unix/asm_bsd_arm.s
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (freebsd || netbsd || openbsd) && gc
-// +build freebsd netbsd openbsd
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s b/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s
index fe36a739..4fd1f54d 100644
--- a/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s
+++ b/vendor/golang.org/x/sys/unix/asm_bsd_arm64.s
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (darwin || freebsd || netbsd || openbsd) && gc
-// +build darwin freebsd netbsd openbsd
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s b/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s
index e5b9a848..42f7eb9e 100644
--- a/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s
+++ b/vendor/golang.org/x/sys/unix/asm_bsd_ppc64.s
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (darwin || freebsd || netbsd || openbsd) && gc
-// +build darwin freebsd netbsd openbsd
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s b/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s
index d560019e..f8902667 100644
--- a/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s
+++ b/vendor/golang.org/x/sys/unix/asm_bsd_riscv64.s
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (darwin || freebsd || netbsd || openbsd) && gc
-// +build darwin freebsd netbsd openbsd
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_386.s b/vendor/golang.org/x/sys/unix/asm_linux_386.s
index 8fd101d0..3b473487 100644
--- a/vendor/golang.org/x/sys/unix/asm_linux_386.s
+++ b/vendor/golang.org/x/sys/unix/asm_linux_386.s
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gc
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_amd64.s b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s
index 7ed38e43..67e29f31 100644
--- a/vendor/golang.org/x/sys/unix/asm_linux_amd64.s
+++ b/vendor/golang.org/x/sys/unix/asm_linux_amd64.s
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gc
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm.s b/vendor/golang.org/x/sys/unix/asm_linux_arm.s
index 8ef1d514..d6ae269c 100644
--- a/vendor/golang.org/x/sys/unix/asm_linux_arm.s
+++ b/vendor/golang.org/x/sys/unix/asm_linux_arm.s
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gc
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_arm64.s b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s
index 98ae0276..01e5e253 100644
--- a/vendor/golang.org/x/sys/unix/asm_linux_arm64.s
+++ b/vendor/golang.org/x/sys/unix/asm_linux_arm64.s
@@ -3,9 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && arm64 && gc
-// +build linux
-// +build arm64
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_loong64.s b/vendor/golang.org/x/sys/unix/asm_linux_loong64.s
index 56535728..2abf12f6 100644
--- a/vendor/golang.org/x/sys/unix/asm_linux_loong64.s
+++ b/vendor/golang.org/x/sys/unix/asm_linux_loong64.s
@@ -3,9 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && loong64 && gc
-// +build linux
-// +build loong64
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
index 21231d2c..f84bae71 100644
--- a/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
+++ b/vendor/golang.org/x/sys/unix/asm_linux_mips64x.s
@@ -3,9 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && (mips64 || mips64le) && gc
-// +build linux
-// +build mips64 mips64le
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
index 6783b26c..f08f6280 100644
--- a/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
+++ b/vendor/golang.org/x/sys/unix/asm_linux_mipsx.s
@@ -3,9 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && (mips || mipsle) && gc
-// +build linux
-// +build mips mipsle
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
index 19d49893..bdfc024d 100644
--- a/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
+++ b/vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s
@@ -3,9 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && (ppc64 || ppc64le) && gc
-// +build linux
-// +build ppc64 ppc64le
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
index e42eb81d..2e8c9961 100644
--- a/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
+++ b/vendor/golang.org/x/sys/unix/asm_linux_riscv64.s
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build riscv64 && gc
-// +build riscv64
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_linux_s390x.s b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s
index c46aab33..2c394b11 100644
--- a/vendor/golang.org/x/sys/unix/asm_linux_s390x.s
+++ b/vendor/golang.org/x/sys/unix/asm_linux_s390x.s
@@ -3,9 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && s390x && gc
-// +build linux
-// +build s390x
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s b/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s
index 5e7a1169..fab586a2 100644
--- a/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s
+++ b/vendor/golang.org/x/sys/unix/asm_openbsd_mips64.s
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gc
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s
index f8c5394c..f949ec54 100644
--- a/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s
+++ b/vendor/golang.org/x/sys/unix/asm_solaris_amd64.s
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gc
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/asm_zos_s390x.s b/vendor/golang.org/x/sys/unix/asm_zos_s390x.s
index 3b54e185..2f67ba86 100644
--- a/vendor/golang.org/x/sys/unix/asm_zos_s390x.s
+++ b/vendor/golang.org/x/sys/unix/asm_zos_s390x.s
@@ -3,9 +3,6 @@
// license that can be found in the LICENSE file.
//go:build zos && s390x && gc
-// +build zos
-// +build s390x
-// +build gc
#include "textflag.h"
diff --git a/vendor/golang.org/x/sys/unix/cap_freebsd.go b/vendor/golang.org/x/sys/unix/cap_freebsd.go
index 0b7c6adb..a0865789 100644
--- a/vendor/golang.org/x/sys/unix/cap_freebsd.go
+++ b/vendor/golang.org/x/sys/unix/cap_freebsd.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build freebsd
-// +build freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/constants.go b/vendor/golang.org/x/sys/unix/constants.go
index 394a3965..6fb7cb77 100644
--- a/vendor/golang.org/x/sys/unix/constants.go
+++ b/vendor/golang.org/x/sys/unix/constants.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
package unix
diff --git a/vendor/golang.org/x/sys/unix/dev_aix_ppc.go b/vendor/golang.org/x/sys/unix/dev_aix_ppc.go
index 65a99850..d7851346 100644
--- a/vendor/golang.org/x/sys/unix/dev_aix_ppc.go
+++ b/vendor/golang.org/x/sys/unix/dev_aix_ppc.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix && ppc
-// +build aix,ppc
// Functions to access/create device major and minor numbers matching the
// encoding used by AIX.
diff --git a/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go b/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go
index 8fc08ad0..623a5e69 100644
--- a/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/dev_aix_ppc64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix && ppc64
-// +build aix,ppc64
// Functions to access/create device major and minor numbers matching the
// encoding used AIX.
diff --git a/vendor/golang.org/x/sys/unix/dev_zos.go b/vendor/golang.org/x/sys/unix/dev_zos.go
index a388e59a..bb6a64fe 100644
--- a/vendor/golang.org/x/sys/unix/dev_zos.go
+++ b/vendor/golang.org/x/sys/unix/dev_zos.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build zos && s390x
-// +build zos,s390x
// Functions to access/create device major and minor numbers matching the
// encoding used by z/OS.
diff --git a/vendor/golang.org/x/sys/unix/dirent.go b/vendor/golang.org/x/sys/unix/dirent.go
index 2499f977..1ebf1178 100644
--- a/vendor/golang.org/x/sys/unix/dirent.go
+++ b/vendor/golang.org/x/sys/unix/dirent.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
package unix
diff --git a/vendor/golang.org/x/sys/unix/endian_big.go b/vendor/golang.org/x/sys/unix/endian_big.go
index a5202655..1095fd31 100644
--- a/vendor/golang.org/x/sys/unix/endian_big.go
+++ b/vendor/golang.org/x/sys/unix/endian_big.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//
//go:build armbe || arm64be || m68k || mips || mips64 || mips64p32 || ppc || ppc64 || s390 || s390x || shbe || sparc || sparc64
-// +build armbe arm64be m68k mips mips64 mips64p32 ppc ppc64 s390 s390x shbe sparc sparc64
package unix
diff --git a/vendor/golang.org/x/sys/unix/endian_little.go b/vendor/golang.org/x/sys/unix/endian_little.go
index b0f2bc4a..b9f0e277 100644
--- a/vendor/golang.org/x/sys/unix/endian_little.go
+++ b/vendor/golang.org/x/sys/unix/endian_little.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//
//go:build 386 || amd64 || amd64p32 || alpha || arm || arm64 || loong64 || mipsle || mips64le || mips64p32le || nios2 || ppc64le || riscv || riscv64 || sh
-// +build 386 amd64 amd64p32 alpha arm arm64 loong64 mipsle mips64le mips64p32le nios2 ppc64le riscv riscv64 sh
package unix
diff --git a/vendor/golang.org/x/sys/unix/env_unix.go b/vendor/golang.org/x/sys/unix/env_unix.go
index 29ccc4d1..a96da71f 100644
--- a/vendor/golang.org/x/sys/unix/env_unix.go
+++ b/vendor/golang.org/x/sys/unix/env_unix.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
// Unix environment variables.
diff --git a/vendor/golang.org/x/sys/unix/epoll_zos.go b/vendor/golang.org/x/sys/unix/epoll_zos.go
index cedaf7e0..7753fdde 100644
--- a/vendor/golang.org/x/sys/unix/epoll_zos.go
+++ b/vendor/golang.org/x/sys/unix/epoll_zos.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build zos && s390x
-// +build zos,s390x
package unix
diff --git a/vendor/golang.org/x/sys/unix/fcntl.go b/vendor/golang.org/x/sys/unix/fcntl.go
index e9b99125..6200876f 100644
--- a/vendor/golang.org/x/sys/unix/fcntl.go
+++ b/vendor/golang.org/x/sys/unix/fcntl.go
@@ -2,8 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//go:build dragonfly || freebsd || linux || netbsd || openbsd
-// +build dragonfly freebsd linux netbsd openbsd
+//go:build dragonfly || freebsd || linux || netbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go b/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go
index 29d44808..13b4acd5 100644
--- a/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go
+++ b/vendor/golang.org/x/sys/unix/fcntl_linux_32bit.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (linux && 386) || (linux && arm) || (linux && mips) || (linux && mipsle) || (linux && ppc)
-// +build linux,386 linux,arm linux,mips linux,mipsle linux,ppc
package unix
diff --git a/vendor/golang.org/x/sys/unix/fdset.go b/vendor/golang.org/x/sys/unix/fdset.go
index a8068f94..9e83d18c 100644
--- a/vendor/golang.org/x/sys/unix/fdset.go
+++ b/vendor/golang.org/x/sys/unix/fdset.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
package unix
diff --git a/vendor/golang.org/x/sys/unix/fstatfs_zos.go b/vendor/golang.org/x/sys/unix/fstatfs_zos.go
index e377cc9f..c8bde601 100644
--- a/vendor/golang.org/x/sys/unix/fstatfs_zos.go
+++ b/vendor/golang.org/x/sys/unix/fstatfs_zos.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build zos && s390x
-// +build zos,s390x
package unix
diff --git a/vendor/golang.org/x/sys/unix/gccgo.go b/vendor/golang.org/x/sys/unix/gccgo.go
index b06f52d7..aca5721d 100644
--- a/vendor/golang.org/x/sys/unix/gccgo.go
+++ b/vendor/golang.org/x/sys/unix/gccgo.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gccgo && !aix && !hurd
-// +build gccgo,!aix,!hurd
package unix
diff --git a/vendor/golang.org/x/sys/unix/gccgo_c.c b/vendor/golang.org/x/sys/unix/gccgo_c.c
index f98a1c54..d468b7b4 100644
--- a/vendor/golang.org/x/sys/unix/gccgo_c.c
+++ b/vendor/golang.org/x/sys/unix/gccgo_c.c
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gccgo && !aix && !hurd
-// +build gccgo,!aix,!hurd
#include
#include
diff --git a/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go
index e60e49a3..972d61bd 100644
--- a/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build gccgo && linux && amd64
-// +build gccgo,linux,amd64
package unix
diff --git a/vendor/golang.org/x/sys/unix/ifreq_linux.go b/vendor/golang.org/x/sys/unix/ifreq_linux.go
index 15721a51..848840ae 100644
--- a/vendor/golang.org/x/sys/unix/ifreq_linux.go
+++ b/vendor/golang.org/x/sys/unix/ifreq_linux.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux
-// +build linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ioctl_linux.go b/vendor/golang.org/x/sys/unix/ioctl_linux.go
index 0d12c085..dbe680ea 100644
--- a/vendor/golang.org/x/sys/unix/ioctl_linux.go
+++ b/vendor/golang.org/x/sys/unix/ioctl_linux.go
@@ -231,3 +231,8 @@ func IoctlLoopGetStatus64(fd int) (*LoopInfo64, error) {
func IoctlLoopSetStatus64(fd int, value *LoopInfo64) error {
return ioctlPtr(fd, LOOP_SET_STATUS64, unsafe.Pointer(value))
}
+
+// IoctlLoopConfigure configures all loop device parameters in a single step
+func IoctlLoopConfigure(fd int, value *LoopConfig) error {
+ return ioctlPtr(fd, LOOP_CONFIGURE, unsafe.Pointer(value))
+}
diff --git a/vendor/golang.org/x/sys/unix/ioctl_signed.go b/vendor/golang.org/x/sys/unix/ioctl_signed.go
index 7def9580..5b0759bd 100644
--- a/vendor/golang.org/x/sys/unix/ioctl_signed.go
+++ b/vendor/golang.org/x/sys/unix/ioctl_signed.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix || solaris
-// +build aix solaris
package unix
diff --git a/vendor/golang.org/x/sys/unix/ioctl_unsigned.go b/vendor/golang.org/x/sys/unix/ioctl_unsigned.go
index 649913d1..20f470b9 100644
--- a/vendor/golang.org/x/sys/unix/ioctl_unsigned.go
+++ b/vendor/golang.org/x/sys/unix/ioctl_unsigned.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build darwin || dragonfly || freebsd || hurd || linux || netbsd || openbsd
-// +build darwin dragonfly freebsd hurd linux netbsd openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ioctl_zos.go b/vendor/golang.org/x/sys/unix/ioctl_zos.go
index cdc21bf7..c8b2a750 100644
--- a/vendor/golang.org/x/sys/unix/ioctl_zos.go
+++ b/vendor/golang.org/x/sys/unix/ioctl_zos.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build zos && s390x
-// +build zos,s390x
package unix
diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh
index 47fa6a7e..c6492020 100644
--- a/vendor/golang.org/x/sys/unix/mkerrors.sh
+++ b/vendor/golang.org/x/sys/unix/mkerrors.sh
@@ -248,6 +248,7 @@ struct ltchars {
#include
#include
#include
+#include
#include
#include
#include
@@ -283,10 +284,6 @@ struct ltchars {
#include
#endif
-#ifndef MSG_FASTOPEN
-#define MSG_FASTOPEN 0x20000000
-#endif
-
#ifndef PTRACE_GETREGS
#define PTRACE_GETREGS 0xc
#endif
@@ -295,14 +292,6 @@ struct ltchars {
#define PTRACE_SETREGS 0xd
#endif
-#ifndef SOL_NETLINK
-#define SOL_NETLINK 270
-#endif
-
-#ifndef SOL_SMC
-#define SOL_SMC 286
-#endif
-
#ifdef SOL_BLUETOOTH
// SPARC includes this in /usr/include/sparc64-linux-gnu/bits/socket.h
// but it is already in bluetooth_linux.go
@@ -319,10 +308,23 @@ struct ltchars {
#undef TIPC_WAIT_FOREVER
#define TIPC_WAIT_FOREVER 0xffffffff
-// Copied from linux/l2tp.h
-// Including linux/l2tp.h here causes conflicts between linux/in.h
-// and netinet/in.h included via net/route.h above.
-#define IPPROTO_L2TP 115
+// Copied from linux/netfilter/nf_nat.h
+// Including linux/netfilter/nf_nat.h here causes conflicts between linux/in.h
+// and netinet/in.h.
+#define NF_NAT_RANGE_MAP_IPS (1 << 0)
+#define NF_NAT_RANGE_PROTO_SPECIFIED (1 << 1)
+#define NF_NAT_RANGE_PROTO_RANDOM (1 << 2)
+#define NF_NAT_RANGE_PERSISTENT (1 << 3)
+#define NF_NAT_RANGE_PROTO_RANDOM_FULLY (1 << 4)
+#define NF_NAT_RANGE_PROTO_OFFSET (1 << 5)
+#define NF_NAT_RANGE_NETMAP (1 << 6)
+#define NF_NAT_RANGE_PROTO_RANDOM_ALL \
+ (NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PROTO_RANDOM_FULLY)
+#define NF_NAT_RANGE_MASK \
+ (NF_NAT_RANGE_MAP_IPS | NF_NAT_RANGE_PROTO_SPECIFIED | \
+ NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PERSISTENT | \
+ NF_NAT_RANGE_PROTO_RANDOM_FULLY | NF_NAT_RANGE_PROTO_OFFSET | \
+ NF_NAT_RANGE_NETMAP)
// Copied from linux/hid.h.
// Keep in sync with the size of the referenced fields.
@@ -519,6 +521,7 @@ ccflags="$@"
$2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
$2 ~ /^LO_(KEY|NAME)_SIZE$/ ||
$2 ~ /^LOOP_(CLR|CTL|GET|SET)_/ ||
+ $2 == "LOOP_CONFIGURE" ||
$2 ~ /^(AF|SOCK|SO|SOL|IPPROTO|IP|IPV6|TCP|MCAST|EVFILT|NOTE|SHUT|PROT|MAP|MREMAP|MFD|T?PACKET|MSG|SCM|MCL|DT|MADV|PR|LOCAL|TCPOPT|UDP)_/ ||
$2 ~ /^NFC_(GENL|PROTO|COMM|RF|SE|DIRECTION|LLCP|SOCKPROTO)_/ ||
$2 ~ /^NFC_.*_(MAX)?SIZE$/ ||
@@ -560,7 +563,7 @@ ccflags="$@"
$2 ~ /^RLIMIT_(AS|CORE|CPU|DATA|FSIZE|LOCKS|MEMLOCK|MSGQUEUE|NICE|NOFILE|NPROC|RSS|RTPRIO|RTTIME|SIGPENDING|STACK)|RLIM_INFINITY/ ||
$2 ~ /^PRIO_(PROCESS|PGRP|USER)/ ||
$2 ~ /^CLONE_[A-Z_]+/ ||
- $2 !~ /^(BPF_TIMEVAL|BPF_FIB_LOOKUP_[A-Z]+)$/ &&
+ $2 !~ /^(BPF_TIMEVAL|BPF_FIB_LOOKUP_[A-Z]+|BPF_F_LINK)$/ &&
$2 ~ /^(BPF|DLT)_/ ||
$2 ~ /^AUDIT_/ ||
$2 ~ /^(CLOCK|TIMER)_/ ||
@@ -602,6 +605,9 @@ ccflags="$@"
$2 ~ /^FSOPT_/ ||
$2 ~ /^WDIO[CFS]_/ ||
$2 ~ /^NFN/ ||
+ $2 !~ /^NFT_META_IIFTYPE/ &&
+ $2 ~ /^NFT_/ ||
+ $2 ~ /^NF_NAT_/ ||
$2 ~ /^XDP_/ ||
$2 ~ /^RWF_/ ||
$2 ~ /^(HDIO|WIN|SMART)_/ ||
@@ -663,7 +669,6 @@ echo '// mkerrors.sh' "$@"
echo '// Code generated by the command above; see README.md. DO NOT EDIT.'
echo
echo "//go:build ${GOARCH} && ${GOOS}"
-echo "// +build ${GOARCH},${GOOS}"
echo
go tool cgo -godefs -- "$@" _const.go >_error.out
cat _error.out | grep -vf _error.grep | grep -vf _signal.grep
diff --git a/vendor/golang.org/x/sys/unix/mmap_nomremap.go b/vendor/golang.org/x/sys/unix/mmap_nomremap.go
index ca051363..4b68e597 100644
--- a/vendor/golang.org/x/sys/unix/mmap_nomremap.go
+++ b/vendor/golang.org/x/sys/unix/mmap_nomremap.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix || darwin || dragonfly || freebsd || openbsd || solaris
-// +build aix darwin dragonfly freebsd openbsd solaris
package unix
diff --git a/vendor/golang.org/x/sys/unix/mremap.go b/vendor/golang.org/x/sys/unix/mremap.go
index fa93d0aa..fd45fe52 100644
--- a/vendor/golang.org/x/sys/unix/mremap.go
+++ b/vendor/golang.org/x/sys/unix/mremap.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux || netbsd
-// +build linux netbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/pagesize_unix.go b/vendor/golang.org/x/sys/unix/pagesize_unix.go
index 53f1b4c5..4d0a3430 100644
--- a/vendor/golang.org/x/sys/unix/pagesize_unix.go
+++ b/vendor/golang.org/x/sys/unix/pagesize_unix.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
// For Unix, get the pagesize from the runtime.
diff --git a/vendor/golang.org/x/sys/unix/pledge_openbsd.go b/vendor/golang.org/x/sys/unix/pledge_openbsd.go
index eb48294b..6a09af53 100644
--- a/vendor/golang.org/x/sys/unix/pledge_openbsd.go
+++ b/vendor/golang.org/x/sys/unix/pledge_openbsd.go
@@ -8,54 +8,31 @@ import (
"errors"
"fmt"
"strconv"
- "syscall"
- "unsafe"
)
// Pledge implements the pledge syscall.
//
-// The pledge syscall does not accept execpromises on OpenBSD releases
-// before 6.3.
-//
-// execpromises must be empty when Pledge is called on OpenBSD
-// releases predating 6.3, otherwise an error will be returned.
+// This changes both the promises and execpromises; use PledgePromises or
+// PledgeExecpromises to only change the promises or execpromises
+// respectively.
//
// For more information see pledge(2).
func Pledge(promises, execpromises string) error {
- maj, min, err := majmin()
- if err != nil {
+ if err := pledgeAvailable(); err != nil {
return err
}
- err = pledgeAvailable(maj, min, execpromises)
+ pptr, err := BytePtrFromString(promises)
if err != nil {
return err
}
- pptr, err := syscall.BytePtrFromString(promises)
+ exptr, err := BytePtrFromString(execpromises)
if err != nil {
return err
}
- // This variable will hold either a nil unsafe.Pointer or
- // an unsafe.Pointer to a string (execpromises).
- var expr unsafe.Pointer
-
- // If we're running on OpenBSD > 6.2, pass execpromises to the syscall.
- if maj > 6 || (maj == 6 && min > 2) {
- exptr, err := syscall.BytePtrFromString(execpromises)
- if err != nil {
- return err
- }
- expr = unsafe.Pointer(exptr)
- }
-
- _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0)
- if e != 0 {
- return e
- }
-
- return nil
+ return pledge(pptr, exptr)
}
// PledgePromises implements the pledge syscall.
@@ -64,30 +41,16 @@ func Pledge(promises, execpromises string) error {
//
// For more information see pledge(2).
func PledgePromises(promises string) error {
- maj, min, err := majmin()
- if err != nil {
- return err
- }
-
- err = pledgeAvailable(maj, min, "")
- if err != nil {
+ if err := pledgeAvailable(); err != nil {
return err
}
- // This variable holds the execpromises and is always nil.
- var expr unsafe.Pointer
-
- pptr, err := syscall.BytePtrFromString(promises)
+ pptr, err := BytePtrFromString(promises)
if err != nil {
return err
}
- _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(unsafe.Pointer(pptr)), uintptr(expr), 0)
- if e != 0 {
- return e
- }
-
- return nil
+ return pledge(pptr, nil)
}
// PledgeExecpromises implements the pledge syscall.
@@ -96,30 +59,16 @@ func PledgePromises(promises string) error {
//
// For more information see pledge(2).
func PledgeExecpromises(execpromises string) error {
- maj, min, err := majmin()
- if err != nil {
+ if err := pledgeAvailable(); err != nil {
return err
}
- err = pledgeAvailable(maj, min, execpromises)
+ exptr, err := BytePtrFromString(execpromises)
if err != nil {
return err
}
- // This variable holds the promises and is always nil.
- var pptr unsafe.Pointer
-
- exptr, err := syscall.BytePtrFromString(execpromises)
- if err != nil {
- return err
- }
-
- _, _, e := syscall.Syscall(SYS_PLEDGE, uintptr(pptr), uintptr(unsafe.Pointer(exptr)), 0)
- if e != 0 {
- return e
- }
-
- return nil
+ return pledge(nil, exptr)
}
// majmin returns major and minor version number for an OpenBSD system.
@@ -147,16 +96,15 @@ func majmin() (major int, minor int, err error) {
// pledgeAvailable checks for availability of the pledge(2) syscall
// based on the running OpenBSD version.
-func pledgeAvailable(maj, min int, execpromises string) error {
- // If OpenBSD <= 5.9, pledge is not available.
- if (maj == 5 && min != 9) || maj < 5 {
- return fmt.Errorf("pledge syscall is not available on OpenBSD %d.%d", maj, min)
+func pledgeAvailable() error {
+ maj, min, err := majmin()
+ if err != nil {
+ return err
}
- // If OpenBSD <= 6.2 and execpromises is not empty,
- // return an error - execpromises is not available before 6.3
- if (maj < 6 || (maj == 6 && min <= 2)) && execpromises != "" {
- return fmt.Errorf("cannot use execpromises on OpenBSD %d.%d", maj, min)
+ // Require OpenBSD 6.4 as a minimum.
+ if maj < 6 || (maj == 6 && min <= 3) {
+ return fmt.Errorf("cannot call Pledge on OpenBSD %d.%d", maj, min)
}
return nil
diff --git a/vendor/golang.org/x/sys/unix/ptrace_darwin.go b/vendor/golang.org/x/sys/unix/ptrace_darwin.go
index 463c3eff..3f0975f3 100644
--- a/vendor/golang.org/x/sys/unix/ptrace_darwin.go
+++ b/vendor/golang.org/x/sys/unix/ptrace_darwin.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build darwin && !ios
-// +build darwin,!ios
package unix
diff --git a/vendor/golang.org/x/sys/unix/ptrace_ios.go b/vendor/golang.org/x/sys/unix/ptrace_ios.go
index ed0509a0..a4d35db5 100644
--- a/vendor/golang.org/x/sys/unix/ptrace_ios.go
+++ b/vendor/golang.org/x/sys/unix/ptrace_ios.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build ios
-// +build ios
package unix
diff --git a/vendor/golang.org/x/sys/unix/race.go b/vendor/golang.org/x/sys/unix/race.go
index 6f6c5fec..714d2aae 100644
--- a/vendor/golang.org/x/sys/unix/race.go
+++ b/vendor/golang.org/x/sys/unix/race.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (darwin && race) || (linux && race) || (freebsd && race)
-// +build darwin,race linux,race freebsd,race
package unix
diff --git a/vendor/golang.org/x/sys/unix/race0.go b/vendor/golang.org/x/sys/unix/race0.go
index 706e1322..4a9f6634 100644
--- a/vendor/golang.org/x/sys/unix/race0.go
+++ b/vendor/golang.org/x/sys/unix/race0.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix || (darwin && !race) || (linux && !race) || (freebsd && !race) || netbsd || openbsd || solaris || dragonfly || zos
-// +build aix darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly zos
package unix
diff --git a/vendor/golang.org/x/sys/unix/readdirent_getdents.go b/vendor/golang.org/x/sys/unix/readdirent_getdents.go
index 4d625756..dbd2b6cc 100644
--- a/vendor/golang.org/x/sys/unix/readdirent_getdents.go
+++ b/vendor/golang.org/x/sys/unix/readdirent_getdents.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix || dragonfly || freebsd || linux || netbsd || openbsd
-// +build aix dragonfly freebsd linux netbsd openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go b/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go
index 2a4ba47c..130398b6 100644
--- a/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go
+++ b/vendor/golang.org/x/sys/unix/readdirent_getdirentries.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build darwin
-// +build darwin
package unix
diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_unix.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
index 3865943f..c3a62dbb 100644
--- a/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
+++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
// Socket control messages
diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go b/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go
index 0840fe4a..4a1eab37 100644
--- a/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go
+++ b/vendor/golang.org/x/sys/unix/sockcmsg_unix_other.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix || darwin || freebsd || linux || netbsd || openbsd || solaris || zos
-// +build aix darwin freebsd linux netbsd openbsd solaris zos
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall.go b/vendor/golang.org/x/sys/unix/syscall.go
index 63e8c838..5ea74da9 100644
--- a/vendor/golang.org/x/sys/unix/syscall.go
+++ b/vendor/golang.org/x/sys/unix/syscall.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
// Package unix contains an interface to the low-level operating system
// primitives. OS details vary depending on the underlying system, and
diff --git a/vendor/golang.org/x/sys/unix/syscall_aix.go b/vendor/golang.org/x/sys/unix/syscall_aix.go
index e94e6cda..67ce6cef 100644
--- a/vendor/golang.org/x/sys/unix/syscall_aix.go
+++ b/vendor/golang.org/x/sys/unix/syscall_aix.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix
-// +build aix
// Aix system calls.
// This file is compiled as ordinary Go code,
@@ -107,7 +106,8 @@ func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
if n > 0 {
sl += _Socklen(n) + 1
}
- if sa.raw.Path[0] == '@' {
+ if sa.raw.Path[0] == '@' || (sa.raw.Path[0] == 0 && sl > 3) {
+ // Check sl > 3 so we don't change unnamed socket behavior.
sa.raw.Path[0] = 0
// Don't count trailing NUL for abstract address.
sl--
diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
index f2871fa9..1fdaa476 100644
--- a/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
+++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix && ppc
-// +build aix,ppc
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
index 75718ec0..c87f9a9f 100644
--- a/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_aix_ppc64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix && ppc64
-// +build aix,ppc64
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go
index 4217de51..a00c3e54 100644
--- a/vendor/golang.org/x/sys/unix/syscall_bsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build darwin || dragonfly || freebsd || netbsd || openbsd
-// +build darwin dragonfly freebsd netbsd openbsd
// BSD system call wrappers shared by *BSD based systems
// including OS X (Darwin) and FreeBSD. Like the other
@@ -317,7 +316,7 @@ func GetsockoptString(fd, level, opt int) (string, error) {
if err != nil {
return "", err
}
- return string(buf[:vallen-1]), nil
+ return ByteSliceToString(buf[:vallen]), nil
}
//sys recvfrom(fd int, p []byte, flags int, from *RawSockaddrAny, fromlen *_Socklen) (n int, err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
index b37310ce..0eaecf5f 100644
--- a/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build amd64 && darwin
-// +build amd64,darwin
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
index d51ec996..f36c6707 100644
--- a/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build arm64 && darwin
-// +build arm64,darwin
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go b/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go
index 53c96641..16dc6993 100644
--- a/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin_libSystem.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build darwin && go1.12
-// +build darwin,go1.12
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
index 4e2d3212..14bab6b2 100644
--- a/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build amd64 && dragonfly
-// +build amd64,dragonfly
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
index b8da5100..3967bca7 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_386.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build 386 && freebsd
-// +build 386,freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
index 47155c48..eff19ada 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build amd64 && freebsd
-// +build amd64,freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
index 08932093..4f24b517 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build arm && freebsd
-// +build arm,freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
index d151a0d0..ac30759e 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_arm64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build arm64 && freebsd
-// +build arm64,freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go
index d5cd64b3..aab725ca 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd_riscv64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build riscv64 && freebsd
-// +build riscv64,freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_hurd.go b/vendor/golang.org/x/sys/unix/syscall_hurd.go
index 381fd467..ba46651f 100644
--- a/vendor/golang.org/x/sys/unix/syscall_hurd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_hurd.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build hurd
-// +build hurd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_hurd_386.go b/vendor/golang.org/x/sys/unix/syscall_hurd_386.go
index 7cf54a3e..df89f9e6 100644
--- a/vendor/golang.org/x/sys/unix/syscall_hurd_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_hurd_386.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build 386 && hurd
-// +build 386,hurd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_illumos.go b/vendor/golang.org/x/sys/unix/syscall_illumos.go
index 87db5a6a..a863f705 100644
--- a/vendor/golang.org/x/sys/unix/syscall_illumos.go
+++ b/vendor/golang.org/x/sys/unix/syscall_illumos.go
@@ -5,7 +5,6 @@
// illumos system calls not present on Solaris.
//go:build amd64 && illumos
-// +build amd64,illumos
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go
index fb4e5022..0f85e29e 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux.go
@@ -61,15 +61,23 @@ func FanotifyMark(fd int, flags uint, mask uint64, dirFd int, pathname string) (
}
//sys fchmodat(dirfd int, path string, mode uint32) (err error)
-
-func Fchmodat(dirfd int, path string, mode uint32, flags int) (err error) {
- // Linux fchmodat doesn't support the flags parameter. Mimick glibc's behavior
- // and check the flags. Otherwise the mode would be applied to the symlink
- // destination which is not what the user expects.
- if flags&^AT_SYMLINK_NOFOLLOW != 0 {
- return EINVAL
- } else if flags&AT_SYMLINK_NOFOLLOW != 0 {
- return EOPNOTSUPP
+//sys fchmodat2(dirfd int, path string, mode uint32, flags int) (err error)
+
+func Fchmodat(dirfd int, path string, mode uint32, flags int) error {
+ // Linux fchmodat doesn't support the flags parameter, but fchmodat2 does.
+ // Try fchmodat2 if flags are specified.
+ if flags != 0 {
+ err := fchmodat2(dirfd, path, mode, flags)
+ if err == ENOSYS {
+ // fchmodat2 isn't available. If the flags are known to be valid,
+ // return EOPNOTSUPP to indicate that fchmodat doesn't support them.
+ if flags&^(AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) != 0 {
+ return EINVAL
+ } else if flags&(AT_SYMLINK_NOFOLLOW|AT_EMPTY_PATH) != 0 {
+ return EOPNOTSUPP
+ }
+ }
+ return err
}
return fchmodat(dirfd, path, mode)
}
@@ -417,7 +425,8 @@ func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
if n > 0 {
sl += _Socklen(n) + 1
}
- if sa.raw.Path[0] == '@' {
+ if sa.raw.Path[0] == '@' || (sa.raw.Path[0] == 0 && sl > 3) {
+ // Check sl > 3 so we don't change unnamed socket behavior.
sa.raw.Path[0] = 0
// Don't count trailing NUL for abstract address.
sl--
@@ -1301,7 +1310,7 @@ func GetsockoptString(fd, level, opt int) (string, error) {
return "", err
}
}
- return string(buf[:vallen-1]), nil
+ return ByteSliceToString(buf[:vallen]), nil
}
func GetsockoptTpacketStats(fd, level, opt int) (*TpacketStats, error) {
@@ -2482,3 +2491,5 @@ func SchedGetAttr(pid int, flags uint) (*SchedAttr, error) {
}
return attr, nil
}
+
+//sys Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go
index c7d9945e..506dafa7 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build 386 && linux
-// +build 386,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go b/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go
index 08086ac6..38d55641 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64)
-// +build linux
-// +build 386 amd64 mips mipsle mips64 mipsle ppc64 ppc64le ppc s390x sparc64
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
index 70601ce3..d557cf8d 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build amd64 && linux
-// +build amd64,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go
index 8b0f0f3a..facdb83b 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build amd64 && linux && gc
-// +build amd64,linux,gc
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
index da298641..cd2dd797 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build arm && linux
-// +build arm,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
index f5266689..cf2ee6c7 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build arm64 && linux
-// +build arm64,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gc.go b/vendor/golang.org/x/sys/unix/syscall_linux_gc.go
index 2b1168d7..ffc4c2b6 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_gc.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_gc.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && gc
-// +build linux,gc
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go
index 9843fb48..9ebfdcf4 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_gc_386.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && gc && 386
-// +build linux,gc,386
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go
index a6008fcc..5f2b57c4 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_gc_arm.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build arm && gc && linux
-// +build arm,gc,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go
index 7740af24..d1a3ad82 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_386.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && gccgo && 386
-// +build linux,gccgo,386
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go
index e16a1229..f2f67423 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_gccgo_arm.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && gccgo && arm
-// +build linux,gccgo,arm
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go b/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go
index f6ab02ec..3d0e9845 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_loong64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build loong64 && linux
-// +build loong64,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
index 93fe59d2..70963a95 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && (mips64 || mips64le)
-// +build linux
-// +build mips64 mips64le
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
index aae7f0ff..c218ebd2 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && (mips || mipsle)
-// +build linux
-// +build mips mipsle
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go
index 66eff19a..e6c48500 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && ppc
-// +build linux,ppc
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
index 806aa257..7286a9aa 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && (ppc64 || ppc64le)
-// +build linux
-// +build ppc64 ppc64le
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
index 5e6ceee1..6f5a2889 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build riscv64 && linux
-// +build riscv64,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
index 2f89e8f5..66f31210 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build s390x && linux
-// +build s390x,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
index 7ca064ae..11d1f169 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build sparc64 && linux
-// +build sparc64,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
index 5199d282..7a5eb574 100644
--- a/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_386.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build 386 && netbsd
-// +build 386,netbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
index 70a9c52e..62d8957a 100644
--- a/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build amd64 && netbsd
-// +build amd64,netbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
index 3eb5942f..ce6a0688 100644
--- a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build arm && netbsd
-// +build arm,netbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go
index fc6ccfd8..d46d689d 100644
--- a/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd_arm64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build arm64 && netbsd
-// +build arm64,netbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go
index 6f34479b..b25343c7 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go
@@ -137,18 +137,13 @@ func sendfile(outfd int, infd int, offset *int64, count int) (written int, err e
}
func Getfsstat(buf []Statfs_t, flags int) (n int, err error) {
- var _p0 unsafe.Pointer
+ var bufptr *Statfs_t
var bufsize uintptr
if len(buf) > 0 {
- _p0 = unsafe.Pointer(&buf[0])
+ bufptr = &buf[0]
bufsize = unsafe.Sizeof(Statfs_t{}) * uintptr(len(buf))
}
- r0, _, e1 := Syscall(SYS_GETFSSTAT, uintptr(_p0), bufsize, uintptr(flags))
- n = int(r0)
- if e1 != 0 {
- err = e1
- }
- return
+ return getfsstat(bufptr, bufsize, flags)
}
//sysnb getresuid(ruid *_C_int, euid *_C_int, suid *_C_int)
@@ -171,6 +166,20 @@ func Getresgid() (rgid, egid, sgid int) {
//sys sysctl(mib []_C_int, old *byte, oldlen *uintptr, new *byte, newlen uintptr) (err error) = SYS___SYSCTL
+//sys fcntl(fd int, cmd int, arg int) (n int, err error)
+//sys fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) = SYS_FCNTL
+
+// FcntlInt performs a fcntl syscall on fd with the provided command and argument.
+func FcntlInt(fd uintptr, cmd, arg int) (int, error) {
+ return fcntl(int(fd), cmd, arg)
+}
+
+// FcntlFlock performs a fcntl syscall for the F_GETLK, F_SETLK or F_SETLKW command.
+func FcntlFlock(fd uintptr, cmd int, lk *Flock_t) error {
+ _, err := fcntlPtr(int(fd), cmd, unsafe.Pointer(lk))
+ return err
+}
+
//sys ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error)
func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
@@ -326,4 +335,7 @@ func Uname(uname *Utsname) error {
//sys write(fd int, p []byte) (n int, err error)
//sys mmap(addr uintptr, length uintptr, prot int, flag int, fd int, pos int64) (ret uintptr, err error)
//sys munmap(addr uintptr, length uintptr) (err error)
+//sys getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error)
//sys utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error)
+//sys pledge(promises *byte, execpromises *byte) (err error)
+//sys unveil(path *byte, flags *byte) (err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
index 6baabcdc..9ddc89f4 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_386.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build 386 && openbsd
-// +build 386,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
index bab25360..70a3c96e 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build amd64 && openbsd
-// +build amd64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
index 8eed3c4d..265caa87 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build arm && openbsd
-// +build arm,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go
index 483dde99..ac4fda17 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_arm64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build arm64 && openbsd
-// +build arm64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go
index 04aa43f4..0a451e6d 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_libc.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build openbsd
-// +build openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go
index c2796139..30a308cb 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_ppc64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build ppc64 && openbsd
-// +build ppc64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go
index 23199a7f..ea954330 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd_riscv64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build riscv64 && openbsd
-// +build riscv64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go
index b99cfa13..21974af0 100644
--- a/vendor/golang.org/x/sys/unix/syscall_solaris.go
+++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go
@@ -128,7 +128,8 @@ func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, _Socklen, error) {
if n > 0 {
sl += _Socklen(n) + 1
}
- if sa.raw.Path[0] == '@' {
+ if sa.raw.Path[0] == '@' || (sa.raw.Path[0] == 0 && sl > 3) {
+ // Check sl > 3 so we don't change unnamed socket behavior.
sa.raw.Path[0] = 0
// Don't count trailing NUL for abstract address.
sl--
@@ -157,7 +158,7 @@ func GetsockoptString(fd, level, opt int) (string, error) {
if err != nil {
return "", err
}
- return string(buf[:vallen-1]), nil
+ return ByteSliceToString(buf[:vallen]), nil
}
const ImplementsGetwd = true
diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
index 0bd25ef8..e02d8cea 100644
--- a/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build amd64 && solaris
-// +build amd64,solaris
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_unix.go b/vendor/golang.org/x/sys/unix/syscall_unix.go
index f6eda270..77081de8 100644
--- a/vendor/golang.org/x/sys/unix/syscall_unix.go
+++ b/vendor/golang.org/x/sys/unix/syscall_unix.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
index b6919ca5..05c95bcc 100644
--- a/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
+++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc.go
@@ -3,8 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (darwin || dragonfly || freebsd || (linux && !ppc64 && !ppc64le) || netbsd || openbsd || solaris) && gc
-// +build darwin dragonfly freebsd linux,!ppc64,!ppc64le netbsd openbsd solaris
-// +build gc
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
index f6f707ac..23f39b7a 100644
--- a/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_unix_gc_ppc64x.go
@@ -3,9 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux && (ppc64le || ppc64) && gc
-// +build linux
-// +build ppc64le ppc64
-// +build gc
package unix
diff --git a/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go
index 4596d041..b473038c 100644
--- a/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build zos && s390x
-// +build zos,s390x
package unix
@@ -1105,7 +1104,7 @@ func GetsockoptString(fd, level, opt int) (string, error) {
return "", err
}
- return string(buf[:vallen-1]), nil
+ return ByteSliceToString(buf[:vallen]), nil
}
func Recvmsg(fd int, p, oob []byte, flags int) (n, oobn int, recvflags int, from Sockaddr, err error) {
diff --git a/vendor/golang.org/x/sys/unix/sysvshm_linux.go b/vendor/golang.org/x/sys/unix/sysvshm_linux.go
index 2c3a4437..4fcd38de 100644
--- a/vendor/golang.org/x/sys/unix/sysvshm_linux.go
+++ b/vendor/golang.org/x/sys/unix/sysvshm_linux.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build linux
-// +build linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/sysvshm_unix.go b/vendor/golang.org/x/sys/unix/sysvshm_unix.go
index 5bb41d17..79a84f18 100644
--- a/vendor/golang.org/x/sys/unix/sysvshm_unix.go
+++ b/vendor/golang.org/x/sys/unix/sysvshm_unix.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build (darwin && !ios) || linux
-// +build darwin,!ios linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go b/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go
index 71bddefd..9eb0db66 100644
--- a/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go
+++ b/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build darwin && !ios
-// +build darwin,!ios
package unix
diff --git a/vendor/golang.org/x/sys/unix/timestruct.go b/vendor/golang.org/x/sys/unix/timestruct.go
index 616b1b28..7997b190 100644
--- a/vendor/golang.org/x/sys/unix/timestruct.go
+++ b/vendor/golang.org/x/sys/unix/timestruct.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build aix || darwin || dragonfly || freebsd || linux || netbsd || openbsd || solaris || zos
-// +build aix darwin dragonfly freebsd linux netbsd openbsd solaris zos
package unix
diff --git a/vendor/golang.org/x/sys/unix/unveil_openbsd.go b/vendor/golang.org/x/sys/unix/unveil_openbsd.go
index 168d5ae7..cb7e598c 100644
--- a/vendor/golang.org/x/sys/unix/unveil_openbsd.go
+++ b/vendor/golang.org/x/sys/unix/unveil_openbsd.go
@@ -4,39 +4,48 @@
package unix
-import (
- "syscall"
- "unsafe"
-)
+import "fmt"
// Unveil implements the unveil syscall.
// For more information see unveil(2).
// Note that the special case of blocking further
// unveil calls is handled by UnveilBlock.
func Unveil(path string, flags string) error {
- pathPtr, err := syscall.BytePtrFromString(path)
- if err != nil {
+ if err := supportsUnveil(); err != nil {
return err
}
- flagsPtr, err := syscall.BytePtrFromString(flags)
+ pathPtr, err := BytePtrFromString(path)
if err != nil {
return err
}
- _, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(unsafe.Pointer(pathPtr)), uintptr(unsafe.Pointer(flagsPtr)), 0)
- if e != 0 {
- return e
+ flagsPtr, err := BytePtrFromString(flags)
+ if err != nil {
+ return err
}
- return nil
+ return unveil(pathPtr, flagsPtr)
}
// UnveilBlock blocks future unveil calls.
// For more information see unveil(2).
func UnveilBlock() error {
- // Both pointers must be nil.
- var pathUnsafe, flagsUnsafe unsafe.Pointer
- _, _, e := syscall.Syscall(SYS_UNVEIL, uintptr(pathUnsafe), uintptr(flagsUnsafe), 0)
- if e != 0 {
- return e
+ if err := supportsUnveil(); err != nil {
+ return err
}
+ return unveil(nil, nil)
+}
+
+// supportsUnveil checks for availability of the unveil(2) system call based
+// on the running OpenBSD version.
+func supportsUnveil() error {
+ maj, min, err := majmin()
+ if err != nil {
+ return err
+ }
+
+ // unveil is not available before 6.4
+ if maj < 6 || (maj == 6 && min <= 3) {
+ return fmt.Errorf("cannot call Unveil on OpenBSD %d.%d", maj, min)
+ }
+
return nil
}
diff --git a/vendor/golang.org/x/sys/unix/xattr_bsd.go b/vendor/golang.org/x/sys/unix/xattr_bsd.go
index f5f8e9f3..e1687939 100644
--- a/vendor/golang.org/x/sys/unix/xattr_bsd.go
+++ b/vendor/golang.org/x/sys/unix/xattr_bsd.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build freebsd || netbsd
-// +build freebsd netbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
index ca9799b7..2fb219d7 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc && aix
-// +build ppc,aix
// Created by cgo -godefs - DO NOT EDIT
// cgo -godefs -- -maix32 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
index 200c8c26..b0e6f5c8 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_aix_ppc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc64 && aix
-// +build ppc64,aix
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -maix64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
index 14300762..e40fa852 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && darwin
-// +build amd64,darwin
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
index ab044a74..bb02aa6c 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm64 && darwin
-// +build arm64,darwin
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
index 17bba0e4..c0e0f869 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && dragonfly
-// +build amd64,dragonfly
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
index f8c2c513..6c692390 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build 386 && freebsd
-// +build 386,freebsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m32 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
index 96310c3b..dd9163f8 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && freebsd
-// +build amd64,freebsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
index 777b69de..493a2a79 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm && freebsd
-// +build arm,freebsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go
index c557ac2d..8b437b30 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm64 && freebsd
-// +build arm64,freebsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go
index 341b4d96..67c02dd5 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_freebsd_riscv64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build riscv64 && freebsd
-// +build riscv64,freebsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux.go b/vendor/golang.org/x/sys/unix/zerrors_linux.go
index f9c7f479..a5d3ff8d 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux.go
@@ -1,7 +1,6 @@
// Code generated by mkmerge; DO NOT EDIT.
//go:build linux
-// +build linux
package unix
@@ -481,10 +480,13 @@ const (
BPF_FROM_BE = 0x8
BPF_FROM_LE = 0x0
BPF_FS_MAGIC = 0xcafe4a11
+ BPF_F_AFTER = 0x10
BPF_F_ALLOW_MULTI = 0x2
BPF_F_ALLOW_OVERRIDE = 0x1
BPF_F_ANY_ALIGNMENT = 0x2
- BPF_F_KPROBE_MULTI_RETURN = 0x1
+ BPF_F_BEFORE = 0x8
+ BPF_F_ID = 0x20
+ BPF_F_NETFILTER_IP_DEFRAG = 0x1
BPF_F_QUERY_EFFECTIVE = 0x1
BPF_F_REPLACE = 0x4
BPF_F_SLEEPABLE = 0x10
@@ -521,6 +523,7 @@ const (
BPF_MAJOR_VERSION = 0x1
BPF_MAXINSNS = 0x1000
BPF_MEM = 0x60
+ BPF_MEMSX = 0x80
BPF_MEMWORDS = 0x10
BPF_MINOR_VERSION = 0x1
BPF_MISC = 0x7
@@ -776,6 +779,8 @@ const (
DEVLINK_GENL_MCGRP_CONFIG_NAME = "config"
DEVLINK_GENL_NAME = "devlink"
DEVLINK_GENL_VERSION = 0x1
+ DEVLINK_PORT_FN_CAP_IPSEC_CRYPTO = 0x4
+ DEVLINK_PORT_FN_CAP_IPSEC_PACKET = 0x8
DEVLINK_PORT_FN_CAP_MIGRATABLE = 0x2
DEVLINK_PORT_FN_CAP_ROCE = 0x1
DEVLINK_SB_THRESHOLD_TO_ALPHA_MAX = 0x14
@@ -1698,6 +1703,7 @@ const (
KEXEC_ON_CRASH = 0x1
KEXEC_PRESERVE_CONTEXT = 0x2
KEXEC_SEGMENT_MAX = 0x10
+ KEXEC_UPDATE_ELFCOREHDR = 0x4
KEYCTL_ASSUME_AUTHORITY = 0x10
KEYCTL_CAPABILITIES = 0x1f
KEYCTL_CAPS0_BIG_KEY = 0x10
@@ -1795,6 +1801,7 @@ const (
LOCK_SH = 0x1
LOCK_UN = 0x8
LOOP_CLR_FD = 0x4c01
+ LOOP_CONFIGURE = 0x4c0a
LOOP_CTL_ADD = 0x4c80
LOOP_CTL_GET_FREE = 0x4c82
LOOP_CTL_REMOVE = 0x4c81
@@ -2120,6 +2127,60 @@ const (
NFNL_SUBSYS_QUEUE = 0x3
NFNL_SUBSYS_ULOG = 0x4
NFS_SUPER_MAGIC = 0x6969
+ NFT_CHAIN_FLAGS = 0x7
+ NFT_CHAIN_MAXNAMELEN = 0x100
+ NFT_CT_MAX = 0x17
+ NFT_DATA_RESERVED_MASK = 0xffffff00
+ NFT_DATA_VALUE_MAXLEN = 0x40
+ NFT_EXTHDR_OP_MAX = 0x4
+ NFT_FIB_RESULT_MAX = 0x3
+ NFT_INNER_MASK = 0xf
+ NFT_LOGLEVEL_MAX = 0x8
+ NFT_NAME_MAXLEN = 0x100
+ NFT_NG_MAX = 0x1
+ NFT_OBJECT_CONNLIMIT = 0x5
+ NFT_OBJECT_COUNTER = 0x1
+ NFT_OBJECT_CT_EXPECT = 0x9
+ NFT_OBJECT_CT_HELPER = 0x3
+ NFT_OBJECT_CT_TIMEOUT = 0x7
+ NFT_OBJECT_LIMIT = 0x4
+ NFT_OBJECT_MAX = 0xa
+ NFT_OBJECT_QUOTA = 0x2
+ NFT_OBJECT_SECMARK = 0x8
+ NFT_OBJECT_SYNPROXY = 0xa
+ NFT_OBJECT_TUNNEL = 0x6
+ NFT_OBJECT_UNSPEC = 0x0
+ NFT_OBJ_MAXNAMELEN = 0x100
+ NFT_OSF_MAXGENRELEN = 0x10
+ NFT_QUEUE_FLAG_BYPASS = 0x1
+ NFT_QUEUE_FLAG_CPU_FANOUT = 0x2
+ NFT_QUEUE_FLAG_MASK = 0x3
+ NFT_REG32_COUNT = 0x10
+ NFT_REG32_SIZE = 0x4
+ NFT_REG_MAX = 0x4
+ NFT_REG_SIZE = 0x10
+ NFT_REJECT_ICMPX_MAX = 0x3
+ NFT_RT_MAX = 0x4
+ NFT_SECMARK_CTX_MAXLEN = 0x100
+ NFT_SET_MAXNAMELEN = 0x100
+ NFT_SOCKET_MAX = 0x3
+ NFT_TABLE_F_MASK = 0x3
+ NFT_TABLE_MAXNAMELEN = 0x100
+ NFT_TRACETYPE_MAX = 0x3
+ NFT_TUNNEL_F_MASK = 0x7
+ NFT_TUNNEL_MAX = 0x1
+ NFT_TUNNEL_MODE_MAX = 0x2
+ NFT_USERDATA_MAXLEN = 0x100
+ NFT_XFRM_KEY_MAX = 0x6
+ NF_NAT_RANGE_MAP_IPS = 0x1
+ NF_NAT_RANGE_MASK = 0x7f
+ NF_NAT_RANGE_NETMAP = 0x40
+ NF_NAT_RANGE_PERSISTENT = 0x8
+ NF_NAT_RANGE_PROTO_OFFSET = 0x20
+ NF_NAT_RANGE_PROTO_RANDOM = 0x4
+ NF_NAT_RANGE_PROTO_RANDOM_ALL = 0x14
+ NF_NAT_RANGE_PROTO_RANDOM_FULLY = 0x10
+ NF_NAT_RANGE_PROTO_SPECIFIED = 0x2
NILFS_SUPER_MAGIC = 0x3434
NL0 = 0x0
NL1 = 0x100
@@ -2275,6 +2336,7 @@ const (
PERF_MEM_LVLNUM_PMEM = 0xe
PERF_MEM_LVLNUM_RAM = 0xd
PERF_MEM_LVLNUM_SHIFT = 0x21
+ PERF_MEM_LVLNUM_UNC = 0x8
PERF_MEM_LVL_HIT = 0x2
PERF_MEM_LVL_IO = 0x1000
PERF_MEM_LVL_L1 = 0x8
@@ -3461,6 +3523,7 @@ const (
XDP_PACKET_HEADROOM = 0x100
XDP_PGOFF_RX_RING = 0x0
XDP_PGOFF_TX_RING = 0x80000000
+ XDP_PKT_CONTD = 0x1
XDP_RING_NEED_WAKEUP = 0x1
XDP_RX_RING = 0x2
XDP_SHARED_UMEM = 0x1
@@ -3473,6 +3536,7 @@ const (
XDP_UMEM_REG = 0x4
XDP_UMEM_UNALIGNED_CHUNK_FLAG = 0x1
XDP_USE_NEED_WAKEUP = 0x8
+ XDP_USE_SG = 0x10
XDP_ZEROCOPY = 0x4
XENFS_SUPER_MAGIC = 0xabba1974
XFS_SUPER_MAGIC = 0x58465342
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
index 30aee00a..4920821c 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build 386 && linux
-// +build 386,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -Wall -Werror -static -I/tmp/386/include -m32 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
index 8ebfa512..a0c1e411 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && linux
-// +build amd64,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -Wall -Werror -static -I/tmp/amd64/include -m64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
index 271a21cd..c6398556 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm && linux
-// +build arm,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -Wall -Werror -static -I/tmp/arm/include _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
index 910c330a..47cc62e2 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm64 && linux
-// +build arm64,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -Wall -Werror -static -I/tmp/arm64/include -fsigned-char _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go
index a640798c..27ac4a09 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build loong64 && linux
-// +build loong64,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -Wall -Werror -static -I/tmp/loong64/include _const.go
@@ -119,6 +118,7 @@ const (
IXOFF = 0x1000
IXON = 0x400
LASX_CTX_MAGIC = 0x41535801
+ LBT_CTX_MAGIC = 0x42540001
LSX_CTX_MAGIC = 0x53580001
MAP_ANON = 0x20
MAP_ANONYMOUS = 0x20
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
index 0d5925d3..54694642 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mips && linux
-// +build mips,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -Wall -Werror -static -I/tmp/mips/include _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
index d72a00e0..3adb81d7 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mips64 && linux
-// +build mips64,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -Wall -Werror -static -I/tmp/mips64/include _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
index 02ba129f..2dfe98f0 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mips64le && linux
-// +build mips64le,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -Wall -Werror -static -I/tmp/mips64le/include _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
index 8daa6dd9..f5398f84 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mipsle && linux
-// +build mipsle,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -Wall -Werror -static -I/tmp/mipsle/include _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
index 63c8fa2f..c54f152d 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc && linux
-// +build ppc,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -Wall -Werror -static -I/tmp/ppc/include _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
index 930799ec..76057dc7 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc64 && linux
-// +build ppc64,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -Wall -Werror -static -I/tmp/ppc64/include _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
index 8605a7dd..e0c3725e 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc64le && linux
-// +build ppc64le,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -Wall -Werror -static -I/tmp/ppc64le/include _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
index 95a016f1..18f2813e 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build riscv64 && linux
-// +build riscv64,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -Wall -Werror -static -I/tmp/riscv64/include _const.go
@@ -228,6 +227,9 @@ const (
PPPIOCUNBRIDGECHAN = 0x7434
PPPIOCXFERUNIT = 0x744e
PR_SET_PTRACER_ANY = 0xffffffffffffffff
+ PTRACE_GETFDPIC = 0x21
+ PTRACE_GETFDPIC_EXEC = 0x0
+ PTRACE_GETFDPIC_INTERP = 0x1
RLIMIT_AS = 0x9
RLIMIT_MEMLOCK = 0x8
RLIMIT_NOFILE = 0x7
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
index 1ae0108f..11619d4e 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build s390x && linux
-// +build s390x,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -Wall -Werror -static -I/tmp/s390x/include -fsigned-char _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
index 1bb7c633..396d994d 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build sparc64 && linux
-// +build sparc64,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -Wall -Werror -static -I/tmp/sparc64/include _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go
index 72f7420d..130085df 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build 386 && netbsd
-// +build 386,netbsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m32 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
index 8d4eb0c0..84769a1a 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && netbsd
-// +build amd64,netbsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
index 9eef9749..602ded00 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm && netbsd
-// +build arm,netbsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -marm _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go
index 3b62ba19..efc0406e 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_netbsd_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm64 && netbsd
-// +build arm64,netbsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
index af20e474..5a6500f8 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build 386 && openbsd
-// +build 386,openbsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m32 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
index 6015fcb2..a5aeeb97 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && openbsd
-// +build amd64,openbsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
index 8d44955e..0e9748a7 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm && openbsd
-// +build arm,openbsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go
index ae16fe75..4f4449ab 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm64 && openbsd
-// +build arm64,openbsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go
index 03d90fe3..76a363f0 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_mips64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mips64 && openbsd
-// +build mips64,openbsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go
index 8e2c51b1..43ca0cdf 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_ppc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc64 && openbsd
-// +build ppc64,openbsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go
index 13d40303..b1b8bb20 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_openbsd_riscv64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build riscv64 && openbsd
-// +build riscv64,openbsd
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
index 1afee6a0..d2ddd317 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && solaris
-// +build amd64,solaris
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
// cgo -godefs -- -m64 _const.go
diff --git a/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go
index fc7d0506..4dfd2e05 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_zos_s390x.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build zos && s390x
-// +build zos,s390x
// Hand edited based on zerrors_linux_s390x.go
// TODO: auto-generate.
diff --git a/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go b/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go
index 97f20ca2..586317c7 100644
--- a/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go
+++ b/vendor/golang.org/x/sys/unix/zptrace_armnn_linux.go
@@ -1,8 +1,6 @@
// Code generated by linux/mkall.go generatePtracePair("arm", "arm64"). DO NOT EDIT.
//go:build linux && (arm || arm64)
-// +build linux
-// +build arm arm64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go b/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go
index 0b5f7943..d7c881be 100644
--- a/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go
+++ b/vendor/golang.org/x/sys/unix/zptrace_mipsnn_linux.go
@@ -1,8 +1,6 @@
// Code generated by linux/mkall.go generatePtracePair("mips", "mips64"). DO NOT EDIT.
//go:build linux && (mips || mips64)
-// +build linux
-// +build mips mips64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go b/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go
index 2807f7e6..2d2de5d2 100644
--- a/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go
+++ b/vendor/golang.org/x/sys/unix/zptrace_mipsnnle_linux.go
@@ -1,8 +1,6 @@
// Code generated by linux/mkall.go generatePtracePair("mipsle", "mips64le"). DO NOT EDIT.
//go:build linux && (mipsle || mips64le)
-// +build linux
-// +build mipsle mips64le
package unix
diff --git a/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go b/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go
index 281ea64e..5adc79fb 100644
--- a/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go
+++ b/vendor/golang.org/x/sys/unix/zptrace_x86_linux.go
@@ -1,8 +1,6 @@
// Code generated by linux/mkall.go generatePtracePair("386", "amd64"). DO NOT EDIT.
//go:build linux && (386 || amd64)
-// +build linux
-// +build 386 amd64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
index d1d1d233..6ea64a3c 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build aix && ppc
-// +build aix,ppc
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
index f99a18ad..99ee4399 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build aix && ppc64
-// +build aix,ppc64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
index c4d50ae5..b68a7836 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build aix && ppc64 && gc
-// +build aix,ppc64,gc
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
index 6903d3b0..0a87450b 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build aix && ppc64 && gccgo
-// +build aix,ppc64,gccgo
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
index 1cad561e..ccb02f24 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build darwin && amd64
-// +build darwin,amd64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
index b18edbd0..1b40b997 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build darwin && arm64
-// +build darwin,arm64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
index 0c67df64..aad65fc7 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build dragonfly && amd64
-// +build dragonfly,amd64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
index e6e05d14..c0096391 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build freebsd && 386
-// +build freebsd,386
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
index 7508acca..7664df74 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build freebsd && amd64
-// +build freebsd,amd64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
index 7b56aead..ae099182 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build freebsd && arm
-// +build freebsd,arm
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
index cc623dca..11fd5d45 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build freebsd && arm64
-// +build freebsd,arm64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go
index 58184919..c3d2d653 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_freebsd_riscv64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build freebsd && riscv64
-// +build freebsd,riscv64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go
index 6be25cd1..c698cbc0 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_illumos_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build illumos && amd64
-// +build illumos,amd64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux.go b/vendor/golang.org/x/sys/unix/zsyscall_linux.go
index 1ff3aec7..1488d271 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux.go
@@ -1,7 +1,6 @@
// Code generated by mkmerge; DO NOT EDIT.
//go:build linux
-// +build linux
package unix
@@ -38,6 +37,21 @@ func fchmodat(dirfd int, path string, mode uint32) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fchmodat2(dirfd int, path string, mode uint32, flags int) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(path)
+ if err != nil {
+ return
+ }
+ _, _, e1 := Syscall6(SYS_FCHMODAT2, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(mode), uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ioctl(fd int, req uint, arg uintptr) (err error) {
_, _, e1 := Syscall(SYS_IOCTL, uintptr(fd), uintptr(req), uintptr(arg))
if e1 != 0 {
@@ -2195,3 +2209,13 @@ func schedGetattr(pid int, attr *SchedAttr, size uint, flags uint) (err error) {
}
return
}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Cachestat(fd uint, crange *CachestatRange, cstat *Cachestat_t, flags uint) (err error) {
+ _, _, e1 := Syscall6(SYS_CACHESTAT, uintptr(fd), uintptr(unsafe.Pointer(crange)), uintptr(unsafe.Pointer(cstat)), uintptr(flags), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
index 07b549cc..4def3e9f 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && 386
-// +build linux,386
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
index 5f481bf8..fef2bc8b 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && amd64
-// +build linux,amd64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
index 824cd52c..a9fd76a8 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && arm
-// +build linux,arm
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
index e77aecfe..46006502 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && arm64
-// +build linux,arm64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go
index 806ffd1e..c8987d26 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_loong64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && loong64
-// +build linux,loong64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
index 961a3afb..921f4306 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && mips
-// +build linux,mips
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
index ed05005e..44f06782 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && mips64
-// +build linux,mips64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
index d365b718..e7fa0abf 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && mips64le
-// +build linux,mips64le
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
index c3f1b8bb..8c512567 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && mipsle
-// +build linux,mipsle
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go
index a6574cf9..7392fd45 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && ppc
-// +build linux,ppc
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
index f4099026..41180434 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && ppc64
-// +build linux,ppc64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
index 9dfcc299..40c6ce7a 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && ppc64le
-// +build linux,ppc64le
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
index 0ab4f2ed..2cfe34ad 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && riscv64
-// +build linux,riscv64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
index 6cde3223..61e6f070 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && s390x
-// +build linux,s390x
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
index 5253d65b..834b8420 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && sparc64
-// +build linux,sparc64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
index 2df3c5ba..e91ebc14 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build netbsd && 386
-// +build netbsd,386
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
index a60556ba..be28babb 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build netbsd && amd64
-// +build netbsd,amd64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
index 9f788917..fb587e82 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build netbsd && arm
-// +build netbsd,arm
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
index 82a4cb2d..d576438b 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build netbsd && arm64
-// +build netbsd,arm64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
index 66b3b645..9dc42410 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build openbsd && 386
-// +build openbsd,386
package unix
@@ -585,6 +584,32 @@ var libc_sysctl_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntl(fd int, cmd int, arg int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_fcntl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
n = int(r0)
@@ -2213,6 +2238,21 @@ var libc_munmap_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_getfsstat_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -2229,3 +2269,31 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
var libc_utimensat_trampoline_addr uintptr
//go:cgo_import_dynamic libc_utimensat utimensat "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pledge(promises *byte, execpromises *byte) (err error) {
+ _, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_pledge_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pledge pledge "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func unveil(path *byte, flags *byte) (err error) {
+ _, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_unveil_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_unveil unveil "libc.so"
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s
index 3dcacd30..41b56173 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.s
@@ -178,6 +178,11 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $4
DATA ·libc_sysctl_trampoline_addr(SB)/4, $libc_sysctl_trampoline<>(SB)
+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_fcntl(SB)
+GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $4
+DATA ·libc_fcntl_trampoline_addr(SB)/4, $libc_fcntl_trampoline<>(SB)
+
TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_ppoll(SB)
GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $4
@@ -668,7 +673,22 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $4
DATA ·libc_munmap_trampoline_addr(SB)/4, $libc_munmap_trampoline<>(SB)
+TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_getfsstat(SB)
+GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $4
+DATA ·libc_getfsstat_trampoline_addr(SB)/4, $libc_getfsstat_trampoline<>(SB)
+
TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_utimensat(SB)
GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $4
DATA ·libc_utimensat_trampoline_addr(SB)/4, $libc_utimensat_trampoline<>(SB)
+
+TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_pledge(SB)
+GLOBL ·libc_pledge_trampoline_addr(SB), RODATA, $4
+DATA ·libc_pledge_trampoline_addr(SB)/4, $libc_pledge_trampoline<>(SB)
+
+TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_unveil(SB)
+GLOBL ·libc_unveil_trampoline_addr(SB), RODATA, $4
+DATA ·libc_unveil_trampoline_addr(SB)/4, $libc_unveil_trampoline<>(SB)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
index c5c4cc11..0d3a0751 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build openbsd && amd64
-// +build openbsd,amd64
package unix
@@ -585,6 +584,32 @@ var libc_sysctl_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntl(fd int, cmd int, arg int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_fcntl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
n = int(r0)
@@ -2213,6 +2238,21 @@ var libc_munmap_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_getfsstat_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -2229,3 +2269,31 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
var libc_utimensat_trampoline_addr uintptr
//go:cgo_import_dynamic libc_utimensat utimensat "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pledge(promises *byte, execpromises *byte) (err error) {
+ _, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_pledge_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pledge pledge "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func unveil(path *byte, flags *byte) (err error) {
+ _, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_unveil_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_unveil unveil "libc.so"
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s
index 2763620b..4019a656 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.s
@@ -178,6 +178,11 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8
DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_fcntl(SB)
+GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8
+DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB)
+
TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_ppoll(SB)
GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $8
@@ -668,7 +673,22 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8
DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
+TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_getfsstat(SB)
+GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $8
+DATA ·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB)
+
TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_utimensat(SB)
GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8
DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB)
+
+TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_pledge(SB)
+GLOBL ·libc_pledge_trampoline_addr(SB), RODATA, $8
+DATA ·libc_pledge_trampoline_addr(SB)/8, $libc_pledge_trampoline<>(SB)
+
+TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_unveil(SB)
+GLOBL ·libc_unveil_trampoline_addr(SB), RODATA, $8
+DATA ·libc_unveil_trampoline_addr(SB)/8, $libc_unveil_trampoline<>(SB)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
index 93bfbb32..c39f7776 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build openbsd && arm
-// +build openbsd,arm
package unix
@@ -585,6 +584,32 @@ var libc_sysctl_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntl(fd int, cmd int, arg int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_fcntl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
n = int(r0)
@@ -2213,6 +2238,21 @@ var libc_munmap_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_getfsstat_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -2229,3 +2269,31 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
var libc_utimensat_trampoline_addr uintptr
//go:cgo_import_dynamic libc_utimensat utimensat "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pledge(promises *byte, execpromises *byte) (err error) {
+ _, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_pledge_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pledge pledge "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func unveil(path *byte, flags *byte) (err error) {
+ _, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_unveil_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_unveil unveil "libc.so"
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s
index c9223140..ac4af24f 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.s
@@ -178,6 +178,11 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $4
DATA ·libc_sysctl_trampoline_addr(SB)/4, $libc_sysctl_trampoline<>(SB)
+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_fcntl(SB)
+GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $4
+DATA ·libc_fcntl_trampoline_addr(SB)/4, $libc_fcntl_trampoline<>(SB)
+
TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_ppoll(SB)
GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $4
@@ -668,7 +673,22 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $4
DATA ·libc_munmap_trampoline_addr(SB)/4, $libc_munmap_trampoline<>(SB)
+TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_getfsstat(SB)
+GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $4
+DATA ·libc_getfsstat_trampoline_addr(SB)/4, $libc_getfsstat_trampoline<>(SB)
+
TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_utimensat(SB)
GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $4
DATA ·libc_utimensat_trampoline_addr(SB)/4, $libc_utimensat_trampoline<>(SB)
+
+TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_pledge(SB)
+GLOBL ·libc_pledge_trampoline_addr(SB), RODATA, $4
+DATA ·libc_pledge_trampoline_addr(SB)/4, $libc_pledge_trampoline<>(SB)
+
+TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_unveil(SB)
+GLOBL ·libc_unveil_trampoline_addr(SB), RODATA, $4
+DATA ·libc_unveil_trampoline_addr(SB)/4, $libc_unveil_trampoline<>(SB)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
index a107b8fd..57571d07 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build openbsd && arm64
-// +build openbsd,arm64
package unix
@@ -585,6 +584,32 @@ var libc_sysctl_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntl(fd int, cmd int, arg int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_fcntl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
n = int(r0)
@@ -2213,6 +2238,21 @@ var libc_munmap_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_getfsstat_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -2229,3 +2269,31 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
var libc_utimensat_trampoline_addr uintptr
//go:cgo_import_dynamic libc_utimensat utimensat "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pledge(promises *byte, execpromises *byte) (err error) {
+ _, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_pledge_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pledge pledge "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func unveil(path *byte, flags *byte) (err error) {
+ _, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_unveil_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_unveil unveil "libc.so"
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s
index a6bc32c9..f77d5321 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm64.s
@@ -178,6 +178,11 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8
DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_fcntl(SB)
+GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8
+DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB)
+
TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_ppoll(SB)
GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $8
@@ -668,7 +673,22 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8
DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
+TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_getfsstat(SB)
+GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $8
+DATA ·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB)
+
TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_utimensat(SB)
GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8
DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB)
+
+TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_pledge(SB)
+GLOBL ·libc_pledge_trampoline_addr(SB), RODATA, $8
+DATA ·libc_pledge_trampoline_addr(SB)/8, $libc_pledge_trampoline<>(SB)
+
+TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_unveil(SB)
+GLOBL ·libc_unveil_trampoline_addr(SB), RODATA, $8
+DATA ·libc_unveil_trampoline_addr(SB)/8, $libc_unveil_trampoline<>(SB)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
index c427de50..e62963e6 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build openbsd && mips64
-// +build openbsd,mips64
package unix
@@ -585,6 +584,32 @@ var libc_sysctl_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntl(fd int, cmd int, arg int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_fcntl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
n = int(r0)
@@ -2213,6 +2238,21 @@ var libc_munmap_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_getfsstat_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -2229,3 +2269,31 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
var libc_utimensat_trampoline_addr uintptr
//go:cgo_import_dynamic libc_utimensat utimensat "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pledge(promises *byte, execpromises *byte) (err error) {
+ _, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_pledge_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pledge pledge "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func unveil(path *byte, flags *byte) (err error) {
+ _, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_unveil_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_unveil unveil "libc.so"
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s
index b4e7bcea..fae140b6 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_mips64.s
@@ -178,6 +178,11 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8
DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_fcntl(SB)
+GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8
+DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB)
+
TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_ppoll(SB)
GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $8
@@ -668,7 +673,22 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8
DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
+TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_getfsstat(SB)
+GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $8
+DATA ·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB)
+
TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_utimensat(SB)
GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8
DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB)
+
+TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_pledge(SB)
+GLOBL ·libc_pledge_trampoline_addr(SB), RODATA, $8
+DATA ·libc_pledge_trampoline_addr(SB)/8, $libc_pledge_trampoline<>(SB)
+
+TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_unveil(SB)
+GLOBL ·libc_unveil_trampoline_addr(SB), RODATA, $8
+DATA ·libc_unveil_trampoline_addr(SB)/8, $libc_unveil_trampoline<>(SB)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
index 60c1a99a..00831354 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build openbsd && ppc64
-// +build openbsd,ppc64
package unix
@@ -585,6 +584,32 @@ var libc_sysctl_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntl(fd int, cmd int, arg int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_fcntl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
n = int(r0)
@@ -2213,6 +2238,21 @@ var libc_munmap_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_getfsstat_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -2229,3 +2269,31 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
var libc_utimensat_trampoline_addr uintptr
//go:cgo_import_dynamic libc_utimensat utimensat "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pledge(promises *byte, execpromises *byte) (err error) {
+ _, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_pledge_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pledge pledge "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func unveil(path *byte, flags *byte) (err error) {
+ _, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_unveil_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_unveil unveil "libc.so"
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s
index ca3f7660..9d1e0ff0 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_ppc64.s
@@ -213,6 +213,12 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8
DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
+ CALL libc_fcntl(SB)
+ RET
+GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8
+DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB)
+
TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
CALL libc_ppoll(SB)
RET
@@ -801,8 +807,26 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8
DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
+TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0
+ CALL libc_getfsstat(SB)
+ RET
+GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $8
+DATA ·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB)
+
TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
CALL libc_utimensat(SB)
RET
GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8
DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB)
+
+TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0
+ CALL libc_pledge(SB)
+ RET
+GLOBL ·libc_pledge_trampoline_addr(SB), RODATA, $8
+DATA ·libc_pledge_trampoline_addr(SB)/8, $libc_pledge_trampoline<>(SB)
+
+TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0
+ CALL libc_unveil(SB)
+ RET
+GLOBL ·libc_unveil_trampoline_addr(SB), RODATA, $8
+DATA ·libc_unveil_trampoline_addr(SB)/8, $libc_unveil_trampoline<>(SB)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
index 52eba360..79029ed5 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build openbsd && riscv64
-// +build openbsd,riscv64
package unix
@@ -585,6 +584,32 @@ var libc_sysctl_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fcntl(fd int, cmd int, arg int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_fcntl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_fcntl fcntl "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func fcntlPtr(fd int, cmd int, arg unsafe.Pointer) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_fcntl_trampoline_addr, uintptr(fd), uintptr(cmd), uintptr(arg))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func ppoll(fds *PollFd, nfds int, timeout *Timespec, sigmask *Sigset_t) (n int, err error) {
r0, _, e1 := syscall_syscall6(libc_ppoll_trampoline_addr, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(unsafe.Pointer(timeout)), uintptr(unsafe.Pointer(sigmask)), 0, 0)
n = int(r0)
@@ -2213,6 +2238,21 @@ var libc_munmap_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func getfsstat(stat *Statfs_t, bufsize uintptr, flags int) (n int, err error) {
+ r0, _, e1 := syscall_syscall(libc_getfsstat_trampoline_addr, uintptr(unsafe.Pointer(stat)), uintptr(bufsize), uintptr(flags))
+ n = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_getfsstat_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_getfsstat getfsstat "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -2229,3 +2269,31 @@ func utimensat(dirfd int, path string, times *[2]Timespec, flags int) (err error
var libc_utimensat_trampoline_addr uintptr
//go:cgo_import_dynamic libc_utimensat utimensat "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func pledge(promises *byte, execpromises *byte) (err error) {
+ _, _, e1 := syscall_syscall(libc_pledge_trampoline_addr, uintptr(unsafe.Pointer(promises)), uintptr(unsafe.Pointer(execpromises)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_pledge_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_pledge pledge "libc.so"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func unveil(path *byte, flags *byte) (err error) {
+ _, _, e1 := syscall_syscall(libc_unveil_trampoline_addr, uintptr(unsafe.Pointer(path)), uintptr(unsafe.Pointer(flags)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_unveil_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_unveil unveil "libc.so"
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s
index 477a7d5b..da115f9a 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_openbsd_riscv64.s
@@ -178,6 +178,11 @@ TEXT libc_sysctl_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_sysctl_trampoline_addr(SB), RODATA, $8
DATA ·libc_sysctl_trampoline_addr(SB)/8, $libc_sysctl_trampoline<>(SB)
+TEXT libc_fcntl_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_fcntl(SB)
+GLOBL ·libc_fcntl_trampoline_addr(SB), RODATA, $8
+DATA ·libc_fcntl_trampoline_addr(SB)/8, $libc_fcntl_trampoline<>(SB)
+
TEXT libc_ppoll_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_ppoll(SB)
GLOBL ·libc_ppoll_trampoline_addr(SB), RODATA, $8
@@ -668,7 +673,22 @@ TEXT libc_munmap_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_munmap_trampoline_addr(SB), RODATA, $8
DATA ·libc_munmap_trampoline_addr(SB)/8, $libc_munmap_trampoline<>(SB)
+TEXT libc_getfsstat_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_getfsstat(SB)
+GLOBL ·libc_getfsstat_trampoline_addr(SB), RODATA, $8
+DATA ·libc_getfsstat_trampoline_addr(SB)/8, $libc_getfsstat_trampoline<>(SB)
+
TEXT libc_utimensat_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_utimensat(SB)
GLOBL ·libc_utimensat_trampoline_addr(SB), RODATA, $8
DATA ·libc_utimensat_trampoline_addr(SB)/8, $libc_utimensat_trampoline<>(SB)
+
+TEXT libc_pledge_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_pledge(SB)
+GLOBL ·libc_pledge_trampoline_addr(SB), RODATA, $8
+DATA ·libc_pledge_trampoline_addr(SB)/8, $libc_pledge_trampoline<>(SB)
+
+TEXT libc_unveil_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_unveil(SB)
+GLOBL ·libc_unveil_trampoline_addr(SB), RODATA, $8
+DATA ·libc_unveil_trampoline_addr(SB)/8, $libc_unveil_trampoline<>(SB)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
index b4018946..829b87fe 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build solaris && amd64
-// +build solaris,amd64
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go
index 1d8fe1d4..94f01123 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_zos_s390x.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build zos && s390x
-// +build zos,s390x
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go
index 55e04847..3a58ae81 100644
--- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; DO NOT EDIT.
//go:build 386 && openbsd
-// +build 386,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go
index d2243cf8..dcb7a0eb 100644
--- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; DO NOT EDIT.
//go:build amd64 && openbsd
-// +build amd64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go
index 82dc51bd..db5a7bf1 100644
--- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; DO NOT EDIT.
//go:build arm && openbsd
-// +build arm,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go
index cbdda1a4..7be575a7 100644
--- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; DO NOT EDIT.
//go:build arm64 && openbsd
-// +build arm64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go
index f55eae1a..d6e3174c 100644
--- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_mips64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; DO NOT EDIT.
//go:build mips64 && openbsd
-// +build mips64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go
index e4405447..ee97157d 100644
--- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_ppc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; DO NOT EDIT.
//go:build ppc64 && openbsd
-// +build ppc64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go
index a0db82fc..35c3b91d 100644
--- a/vendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsysctl_openbsd_riscv64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; DO NOT EDIT.
//go:build riscv64 && openbsd
-// +build riscv64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go
index f8298ff9..5edda768 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && darwin
-// +build amd64,darwin
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go
index 5eb433bb..0dc9e8b4 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm64 && darwin
-// +build arm64,darwin
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go
index 703675c0..308ddf3a 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && dragonfly
-// +build amd64,dragonfly
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
index 4e0d9610..418664e3 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build 386 && freebsd
-// +build 386,freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
index 01636b83..34d0b86d 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && freebsd
-// +build amd64,freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
index ad99bc10..b71cf45e 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm && freebsd
-// +build arm,freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go
index 89dcc427..e32df1c1 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm64 && freebsd
-// +build arm64,freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go
index ee37aaa0..15ad6111 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_freebsd_riscv64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build riscv64 && freebsd
-// +build riscv64,freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
index 9862853d..fcf3ecbd 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build 386 && linux
-// +build 386,linux
package unix
@@ -448,4 +447,5 @@ const (
SYS_FUTEX_WAITV = 449
SYS_SET_MEMPOLICY_HOME_NODE = 450
SYS_CACHESTAT = 451
+ SYS_FCHMODAT2 = 452
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
index 8901f0f4..f56dc250 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && linux
-// +build amd64,linux
package unix
@@ -370,4 +369,6 @@ const (
SYS_FUTEX_WAITV = 449
SYS_SET_MEMPOLICY_HOME_NODE = 450
SYS_CACHESTAT = 451
+ SYS_FCHMODAT2 = 452
+ SYS_MAP_SHADOW_STACK = 453
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
index 6902c37e..974bf246 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm && linux
-// +build arm,linux
package unix
@@ -412,4 +411,5 @@ const (
SYS_FUTEX_WAITV = 449
SYS_SET_MEMPOLICY_HOME_NODE = 450
SYS_CACHESTAT = 451
+ SYS_FCHMODAT2 = 452
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
index a6d3dff8..39a2739e 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm64 && linux
-// +build arm64,linux
package unix
@@ -315,4 +314,5 @@ const (
SYS_FUTEX_WAITV = 449
SYS_SET_MEMPOLICY_HOME_NODE = 450
SYS_CACHESTAT = 451
+ SYS_FCHMODAT2 = 452
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go
index b18f3f71..cf9c9d77 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_loong64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build loong64 && linux
-// +build loong64,linux
package unix
@@ -309,4 +308,5 @@ const (
SYS_FUTEX_WAITV = 449
SYS_SET_MEMPOLICY_HOME_NODE = 450
SYS_CACHESTAT = 451
+ SYS_FCHMODAT2 = 452
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
index 0302e5e3..10b7362e 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mips && linux
-// +build mips,linux
package unix
@@ -432,4 +431,5 @@ const (
SYS_FUTEX_WAITV = 4449
SYS_SET_MEMPOLICY_HOME_NODE = 4450
SYS_CACHESTAT = 4451
+ SYS_FCHMODAT2 = 4452
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
index 6693ba4a..cd4d8b4f 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mips64 && linux
-// +build mips64,linux
package unix
@@ -362,4 +361,5 @@ const (
SYS_FUTEX_WAITV = 5449
SYS_SET_MEMPOLICY_HOME_NODE = 5450
SYS_CACHESTAT = 5451
+ SYS_FCHMODAT2 = 5452
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
index fd93f498..2c0efca8 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mips64le && linux
-// +build mips64le,linux
package unix
@@ -362,4 +361,5 @@ const (
SYS_FUTEX_WAITV = 5449
SYS_SET_MEMPOLICY_HOME_NODE = 5450
SYS_CACHESTAT = 5451
+ SYS_FCHMODAT2 = 5452
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
index 760ddcad..a72e31d3 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mipsle && linux
-// +build mipsle,linux
package unix
@@ -432,4 +431,5 @@ const (
SYS_FUTEX_WAITV = 4449
SYS_SET_MEMPOLICY_HOME_NODE = 4450
SYS_CACHESTAT = 4451
+ SYS_FCHMODAT2 = 4452
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
index cff2b255..c7d1e374 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc && linux
-// +build ppc,linux
package unix
@@ -439,4 +438,5 @@ const (
SYS_FUTEX_WAITV = 449
SYS_SET_MEMPOLICY_HOME_NODE = 450
SYS_CACHESTAT = 451
+ SYS_FCHMODAT2 = 452
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
index a4b2405d..f4d4838c 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc64 && linux
-// +build ppc64,linux
package unix
@@ -411,4 +410,5 @@ const (
SYS_FUTEX_WAITV = 449
SYS_SET_MEMPOLICY_HOME_NODE = 450
SYS_CACHESTAT = 451
+ SYS_FCHMODAT2 = 452
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
index aca54b4e..b64f0e59 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc64le && linux
-// +build ppc64le,linux
package unix
@@ -411,4 +410,5 @@ const (
SYS_FUTEX_WAITV = 449
SYS_SET_MEMPOLICY_HOME_NODE = 450
SYS_CACHESTAT = 451
+ SYS_FCHMODAT2 = 452
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
index 9d1738d6..95711195 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build riscv64 && linux
-// +build riscv64,linux
package unix
@@ -316,4 +315,5 @@ const (
SYS_FUTEX_WAITV = 449
SYS_SET_MEMPOLICY_HOME_NODE = 450
SYS_CACHESTAT = 451
+ SYS_FCHMODAT2 = 452
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
index 022878dc..f94e943b 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build s390x && linux
-// +build s390x,linux
package unix
@@ -377,4 +376,5 @@ const (
SYS_FUTEX_WAITV = 449
SYS_SET_MEMPOLICY_HOME_NODE = 450
SYS_CACHESTAT = 451
+ SYS_FCHMODAT2 = 452
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
index 4100a761..ba0c2bc5 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build sparc64 && linux
-// +build sparc64,linux
package unix
@@ -390,4 +389,5 @@ const (
SYS_FUTEX_WAITV = 449
SYS_SET_MEMPOLICY_HOME_NODE = 450
SYS_CACHESTAT = 451
+ SYS_FCHMODAT2 = 452
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
index 3a6699eb..b2aa8cd4 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build 386 && netbsd
-// +build 386,netbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go
index 5677cd4f..524a1b1c 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && netbsd
-// +build amd64,netbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go
index e784cb6d..d59b943a 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm && netbsd
-// +build arm,netbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go
index bd4952ef..31e771d5 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; DO NOT EDIT.
//go:build arm64 && netbsd
-// +build arm64,netbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go
index 59773381..9fd77c6c 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build 386 && openbsd
-// +build 386,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go
index 16af2918..af10af28 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && openbsd
-// +build amd64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
index f59b18a9..cc2028af 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm && openbsd
-// +build arm,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go
index 721ef591..c06dd441 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm64 && openbsd
-// +build arm64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go
index 01c43a01..9ddbf3e0 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_mips64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mips64 && openbsd
-// +build mips64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go
index f258cfa2..19a6ee41 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_ppc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc64 && openbsd
-// +build ppc64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go
index 07919e0e..05192a78 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_openbsd_riscv64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build riscv64 && openbsd
-// +build riscv64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go
index 073daad4..b2e30858 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_zos_s390x.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build zos && s390x
-// +build zos,s390x
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go
index 7a8161c1..3e6d57ca 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc && aix
-// +build ppc,aix
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go
index 07ed733c..3a219bdc 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_aix_ppc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc64 && aix
-// +build ppc64,aix
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
index 690cefc3..091d107f 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && darwin
-// +build amd64,darwin
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
index 5bffc10e..28ff4ef7 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm64 && darwin
-// +build arm64,darwin
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
index d0ba8e9b..30e405bb 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && dragonfly
-// +build amd64,dragonfly
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
index 29dc4833..6cbd094a 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build 386 && freebsd
-// +build 386,freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
index 0a89b289..7c03b6ee 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && freebsd
-// +build amd64,freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
index c8666bb1..422107ee 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm && freebsd
-// +build arm,freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
index 88fb48a8..505a12ac 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm64 && freebsd
-// +build arm64,freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go
index 698dc975..cc986c79 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_freebsd_riscv64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build riscv64 && freebsd
-// +build riscv64,freebsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go
index 18aa70b4..bbf8399f 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go
@@ -1,7 +1,6 @@
// Code generated by mkmerge; DO NOT EDIT.
//go:build linux
-// +build linux
package unix
@@ -2672,6 +2671,7 @@ const (
BPF_PROG_TYPE_LSM = 0x1d
BPF_PROG_TYPE_SK_LOOKUP = 0x1e
BPF_PROG_TYPE_SYSCALL = 0x1f
+ BPF_PROG_TYPE_NETFILTER = 0x20
BPF_CGROUP_INET_INGRESS = 0x0
BPF_CGROUP_INET_EGRESS = 0x1
BPF_CGROUP_INET_SOCK_CREATE = 0x2
@@ -2716,6 +2716,11 @@ const (
BPF_PERF_EVENT = 0x29
BPF_TRACE_KPROBE_MULTI = 0x2a
BPF_LSM_CGROUP = 0x2b
+ BPF_STRUCT_OPS = 0x2c
+ BPF_NETFILTER = 0x2d
+ BPF_TCX_INGRESS = 0x2e
+ BPF_TCX_EGRESS = 0x2f
+ BPF_TRACE_UPROBE_MULTI = 0x30
BPF_LINK_TYPE_UNSPEC = 0x0
BPF_LINK_TYPE_RAW_TRACEPOINT = 0x1
BPF_LINK_TYPE_TRACING = 0x2
@@ -2726,6 +2731,18 @@ const (
BPF_LINK_TYPE_PERF_EVENT = 0x7
BPF_LINK_TYPE_KPROBE_MULTI = 0x8
BPF_LINK_TYPE_STRUCT_OPS = 0x9
+ BPF_LINK_TYPE_NETFILTER = 0xa
+ BPF_LINK_TYPE_TCX = 0xb
+ BPF_LINK_TYPE_UPROBE_MULTI = 0xc
+ BPF_PERF_EVENT_UNSPEC = 0x0
+ BPF_PERF_EVENT_UPROBE = 0x1
+ BPF_PERF_EVENT_URETPROBE = 0x2
+ BPF_PERF_EVENT_KPROBE = 0x3
+ BPF_PERF_EVENT_KRETPROBE = 0x4
+ BPF_PERF_EVENT_TRACEPOINT = 0x5
+ BPF_PERF_EVENT_EVENT = 0x6
+ BPF_F_KPROBE_MULTI_RETURN = 0x1
+ BPF_F_UPROBE_MULTI_RETURN = 0x1
BPF_ANY = 0x0
BPF_NOEXIST = 0x1
BPF_EXIST = 0x2
@@ -2743,6 +2760,8 @@ const (
BPF_F_MMAPABLE = 0x400
BPF_F_PRESERVE_ELEMS = 0x800
BPF_F_INNER_MAP = 0x1000
+ BPF_F_LINK = 0x2000
+ BPF_F_PATH_FD = 0x4000
BPF_STATS_RUN_TIME = 0x0
BPF_STACK_BUILD_ID_EMPTY = 0x0
BPF_STACK_BUILD_ID_VALID = 0x1
@@ -2763,6 +2782,7 @@ const (
BPF_F_ZERO_CSUM_TX = 0x2
BPF_F_DONT_FRAGMENT = 0x4
BPF_F_SEQ_NUMBER = 0x8
+ BPF_F_NO_TUNNEL_KEY = 0x10
BPF_F_TUNINFO_FLAGS = 0x10
BPF_F_INDEX_MASK = 0xffffffff
BPF_F_CURRENT_CPU = 0xffffffff
@@ -2779,6 +2799,8 @@ const (
BPF_F_ADJ_ROOM_ENCAP_L4_UDP = 0x10
BPF_F_ADJ_ROOM_NO_CSUM_RESET = 0x20
BPF_F_ADJ_ROOM_ENCAP_L2_ETH = 0x40
+ BPF_F_ADJ_ROOM_DECAP_L3_IPV4 = 0x80
+ BPF_F_ADJ_ROOM_DECAP_L3_IPV6 = 0x100
BPF_ADJ_ROOM_ENCAP_L2_MASK = 0xff
BPF_ADJ_ROOM_ENCAP_L2_SHIFT = 0x38
BPF_F_SYSCTL_BASE_NAME = 0x1
@@ -2867,6 +2889,8 @@ const (
BPF_DEVCG_DEV_CHAR = 0x2
BPF_FIB_LOOKUP_DIRECT = 0x1
BPF_FIB_LOOKUP_OUTPUT = 0x2
+ BPF_FIB_LOOKUP_SKIP_NEIGH = 0x4
+ BPF_FIB_LOOKUP_TBID = 0x8
BPF_FIB_LKUP_RET_SUCCESS = 0x0
BPF_FIB_LKUP_RET_BLACKHOLE = 0x1
BPF_FIB_LKUP_RET_UNREACHABLE = 0x2
@@ -2902,6 +2926,7 @@ const (
BPF_CORE_ENUMVAL_EXISTS = 0xa
BPF_CORE_ENUMVAL_VALUE = 0xb
BPF_CORE_TYPE_MATCHES = 0xc
+ BPF_F_TIMER_ABS = 0x1
)
const (
@@ -2980,6 +3005,12 @@ type LoopInfo64 struct {
Encrypt_key [32]uint8
Init [2]uint64
}
+type LoopConfig struct {
+ Fd uint32
+ Size uint32
+ Info LoopInfo64
+ _ [8]uint64
+}
type TIPCSocketAddr struct {
Ref uint32
@@ -5883,3 +5914,15 @@ type SchedAttr struct {
}
const SizeofSchedAttr = 0x38
+
+type Cachestat_t struct {
+ Cache uint64
+ Dirty uint64
+ Writeback uint64
+ Evicted uint64
+ Recently_evicted uint64
+}
+type CachestatRange struct {
+ Off uint64
+ Len uint64
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
index 6d8acbcc..438a30af 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build 386 && linux
-// +build 386,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
index 59293c68..adceca35 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && linux
-// +build amd64,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
index 40cfa38c..eeaa00a3 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm && linux
-// +build arm,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
index 055bc421..6739aa91 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm64 && linux
-// +build arm64,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go
index f28affbc..9920ef63 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build loong64 && linux
-// +build loong64,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
index 9d71e7cc..2923b799 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mips && linux
-// +build mips,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
index fd5ccd33..ce2750ee 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mips64 && linux
-// +build mips64,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
index 7704de77..3038811d 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mips64le && linux
-// +build mips64le,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
index df00b875..efc6fed1 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mipsle && linux
-// +build mipsle,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
index 0942840d..9a654b75 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc && linux
-// +build ppc,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
index 03487439..40d358e3 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc64 && linux
-// +build ppc64,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
index bad06704..148c6ceb 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc64le && linux
-// +build ppc64le,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
index 1b4c97c3..72ba8154 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build riscv64 && linux
-// +build riscv64,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
index aa268d02..71e76550 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build s390x && linux
-// +build s390x,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
index 444045b6..4abbdb9d 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build sparc64 && linux
-// +build sparc64,linux
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
index 9bc4c8f9..f22e7947 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build 386 && netbsd
-// +build 386,netbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
index bb05f655..066a7d83 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && netbsd
-// +build amd64,netbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
index db40e3a1..439548ec 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm && netbsd
-// +build arm,netbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go
index 11121151..16085d3b 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_netbsd_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm64 && netbsd
-// +build arm64,netbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
index 26eba23b..afd13a3a 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build 386 && openbsd
-// +build 386,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
index 5a547988..5d97f1f9 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && openbsd
-// +build amd64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
index be58c4e1..34871cdc 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm && openbsd
-// +build arm,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go
index 52338266..5911bceb 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm64 && openbsd
-// +build arm64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go
index 605cfdb1..e4f24f3b 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mips64 && openbsd
-// +build mips64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go
index d6724c01..ca50a793 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_ppc64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc64 && openbsd
-// +build ppc64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go
index ddfd27a4..d7d7f790 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_riscv64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build riscv64 && openbsd
-// +build riscv64,openbsd
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
index 0400747c..14160576 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go
@@ -2,7 +2,6 @@
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && solaris
-// +build amd64,solaris
package unix
diff --git a/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go
index aec1efcb..54f31be6 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_zos_s390x.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build zos && s390x
-// +build zos,s390x
// Hand edited based on ztypes_linux_s390x.go
// TODO: auto-generate.
diff --git a/vendor/golang.org/x/sys/windows/aliases.go b/vendor/golang.org/x/sys/windows/aliases.go
index a20ebea6..ce2d713d 100644
--- a/vendor/golang.org/x/sys/windows/aliases.go
+++ b/vendor/golang.org/x/sys/windows/aliases.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build windows && go1.9
-// +build windows,go1.9
package windows
diff --git a/vendor/golang.org/x/sys/windows/empty.s b/vendor/golang.org/x/sys/windows/empty.s
index fdbbbcd3..ba64caca 100644
--- a/vendor/golang.org/x/sys/windows/empty.s
+++ b/vendor/golang.org/x/sys/windows/empty.s
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build !go1.12
-// +build !go1.12
// This file is here to allow bodyless functions with go:linkname for Go 1.11
// and earlier (see https://golang.org/issue/23311).
diff --git a/vendor/golang.org/x/sys/windows/eventlog.go b/vendor/golang.org/x/sys/windows/eventlog.go
index 2cd60645..6c366955 100644
--- a/vendor/golang.org/x/sys/windows/eventlog.go
+++ b/vendor/golang.org/x/sys/windows/eventlog.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build windows
-// +build windows
package windows
diff --git a/vendor/golang.org/x/sys/windows/mksyscall.go b/vendor/golang.org/x/sys/windows/mksyscall.go
index 8563f79c..dbcdb090 100644
--- a/vendor/golang.org/x/sys/windows/mksyscall.go
+++ b/vendor/golang.org/x/sys/windows/mksyscall.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build generate
-// +build generate
package windows
diff --git a/vendor/golang.org/x/sys/windows/race.go b/vendor/golang.org/x/sys/windows/race.go
index 9196b089..0f1bdc38 100644
--- a/vendor/golang.org/x/sys/windows/race.go
+++ b/vendor/golang.org/x/sys/windows/race.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build windows && race
-// +build windows,race
package windows
diff --git a/vendor/golang.org/x/sys/windows/race0.go b/vendor/golang.org/x/sys/windows/race0.go
index 7bae4817..0c78da78 100644
--- a/vendor/golang.org/x/sys/windows/race0.go
+++ b/vendor/golang.org/x/sys/windows/race0.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build windows && !race
-// +build windows,!race
package windows
diff --git a/vendor/golang.org/x/sys/windows/service.go b/vendor/golang.org/x/sys/windows/service.go
index c44a1b96..a9dc6308 100644
--- a/vendor/golang.org/x/sys/windows/service.go
+++ b/vendor/golang.org/x/sys/windows/service.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build windows
-// +build windows
package windows
diff --git a/vendor/golang.org/x/sys/windows/str.go b/vendor/golang.org/x/sys/windows/str.go
index 4fc01434..6a4f9ce6 100644
--- a/vendor/golang.org/x/sys/windows/str.go
+++ b/vendor/golang.org/x/sys/windows/str.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build windows
-// +build windows
package windows
diff --git a/vendor/golang.org/x/sys/windows/syscall.go b/vendor/golang.org/x/sys/windows/syscall.go
index 8732cdb9..e85ed6b9 100644
--- a/vendor/golang.org/x/sys/windows/syscall.go
+++ b/vendor/golang.org/x/sys/windows/syscall.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build windows
-// +build windows
// Package windows contains an interface to the low-level operating system
// primitives. OS details vary depending on the underlying system, and
diff --git a/vendor/golang.org/x/sys/windows/syscall_windows.go b/vendor/golang.org/x/sys/windows/syscall_windows.go
index 35cfc57c..ffb8708c 100644
--- a/vendor/golang.org/x/sys/windows/syscall_windows.go
+++ b/vendor/golang.org/x/sys/windows/syscall_windows.go
@@ -155,6 +155,8 @@ func NewCallbackCDecl(fn interface{}) uintptr {
//sys GetModuleFileName(module Handle, filename *uint16, size uint32) (n uint32, err error) = kernel32.GetModuleFileNameW
//sys GetModuleHandleEx(flags uint32, moduleName *uint16, module *Handle) (err error) = kernel32.GetModuleHandleExW
//sys SetDefaultDllDirectories(directoryFlags uint32) (err error)
+//sys AddDllDirectory(path *uint16) (cookie uintptr, err error) = kernel32.AddDllDirectory
+//sys RemoveDllDirectory(cookie uintptr) (err error) = kernel32.RemoveDllDirectory
//sys SetDllDirectory(path string) (err error) = kernel32.SetDllDirectoryW
//sys GetVersion() (ver uint32, err error)
//sys FormatMessage(flags uint32, msgsrc uintptr, msgid uint32, langid uint32, buf []uint16, args *byte) (n uint32, err error) = FormatMessageW
@@ -192,6 +194,7 @@ func NewCallbackCDecl(fn interface{}) uintptr {
//sys GetComputerName(buf *uint16, n *uint32) (err error) = GetComputerNameW
//sys GetComputerNameEx(nametype uint32, buf *uint16, n *uint32) (err error) = GetComputerNameExW
//sys SetEndOfFile(handle Handle) (err error)
+//sys SetFileValidData(handle Handle, validDataLength int64) (err error)
//sys GetSystemTimeAsFileTime(time *Filetime)
//sys GetSystemTimePreciseAsFileTime(time *Filetime)
//sys GetTimeZoneInformation(tzi *Timezoneinformation) (rc uint32, err error) [failretval==0xffffffff]
@@ -233,6 +236,7 @@ func NewCallbackCDecl(fn interface{}) uintptr {
//sys CreateEnvironmentBlock(block **uint16, token Token, inheritExisting bool) (err error) = userenv.CreateEnvironmentBlock
//sys DestroyEnvironmentBlock(block *uint16) (err error) = userenv.DestroyEnvironmentBlock
//sys getTickCount64() (ms uint64) = kernel32.GetTickCount64
+//sys GetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error)
//sys SetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error)
//sys GetFileAttributes(name *uint16) (attrs uint32, err error) [failretval==INVALID_FILE_ATTRIBUTES] = kernel32.GetFileAttributesW
//sys SetFileAttributes(name *uint16, attrs uint32) (err error) = kernel32.SetFileAttributesW
@@ -969,7 +973,8 @@ func (sa *SockaddrUnix) sockaddr() (unsafe.Pointer, int32, error) {
if n > 0 {
sl += int32(n) + 1
}
- if sa.raw.Path[0] == '@' {
+ if sa.raw.Path[0] == '@' || (sa.raw.Path[0] == 0 && sl > 3) {
+ // Check sl > 3 so we don't change unnamed socket behavior.
sa.raw.Path[0] = 0
// Don't count trailing NUL for abstract address.
sl--
diff --git a/vendor/golang.org/x/sys/windows/types_windows.go b/vendor/golang.org/x/sys/windows/types_windows.go
index b88dc7c8..359780f6 100644
--- a/vendor/golang.org/x/sys/windows/types_windows.go
+++ b/vendor/golang.org/x/sys/windows/types_windows.go
@@ -1094,7 +1094,33 @@ const (
SOMAXCONN = 0x7fffffff
- TCP_NODELAY = 1
+ TCP_NODELAY = 1
+ TCP_EXPEDITED_1122 = 2
+ TCP_KEEPALIVE = 3
+ TCP_MAXSEG = 4
+ TCP_MAXRT = 5
+ TCP_STDURG = 6
+ TCP_NOURG = 7
+ TCP_ATMARK = 8
+ TCP_NOSYNRETRIES = 9
+ TCP_TIMESTAMPS = 10
+ TCP_OFFLOAD_PREFERENCE = 11
+ TCP_CONGESTION_ALGORITHM = 12
+ TCP_DELAY_FIN_ACK = 13
+ TCP_MAXRTMS = 14
+ TCP_FASTOPEN = 15
+ TCP_KEEPCNT = 16
+ TCP_KEEPIDLE = TCP_KEEPALIVE
+ TCP_KEEPINTVL = 17
+ TCP_FAIL_CONNECT_ON_ICMP_ERROR = 18
+ TCP_ICMP_ERROR_INFO = 19
+
+ UDP_NOCHECKSUM = 1
+ UDP_SEND_MSG_SIZE = 2
+ UDP_RECV_MAX_COALESCED_SIZE = 3
+ UDP_CHECKSUM_COVERAGE = 20
+
+ UDP_COALESCED_INFO = 3
SHUT_RD = 0
SHUT_WR = 1
diff --git a/vendor/golang.org/x/sys/windows/zsyscall_windows.go b/vendor/golang.org/x/sys/windows/zsyscall_windows.go
index 8b1688de..e8791c82 100644
--- a/vendor/golang.org/x/sys/windows/zsyscall_windows.go
+++ b/vendor/golang.org/x/sys/windows/zsyscall_windows.go
@@ -184,6 +184,7 @@ var (
procGetAdaptersInfo = modiphlpapi.NewProc("GetAdaptersInfo")
procGetBestInterfaceEx = modiphlpapi.NewProc("GetBestInterfaceEx")
procGetIfEntry = modiphlpapi.NewProc("GetIfEntry")
+ procAddDllDirectory = modkernel32.NewProc("AddDllDirectory")
procAssignProcessToJobObject = modkernel32.NewProc("AssignProcessToJobObject")
procCancelIo = modkernel32.NewProc("CancelIo")
procCancelIoEx = modkernel32.NewProc("CancelIoEx")
@@ -253,6 +254,7 @@ var (
procGetFileAttributesW = modkernel32.NewProc("GetFileAttributesW")
procGetFileInformationByHandle = modkernel32.NewProc("GetFileInformationByHandle")
procGetFileInformationByHandleEx = modkernel32.NewProc("GetFileInformationByHandleEx")
+ procGetFileTime = modkernel32.NewProc("GetFileTime")
procGetFileType = modkernel32.NewProc("GetFileType")
procGetFinalPathNameByHandleW = modkernel32.NewProc("GetFinalPathNameByHandleW")
procGetFullPathNameW = modkernel32.NewProc("GetFullPathNameW")
@@ -329,6 +331,7 @@ var (
procReadProcessMemory = modkernel32.NewProc("ReadProcessMemory")
procReleaseMutex = modkernel32.NewProc("ReleaseMutex")
procRemoveDirectoryW = modkernel32.NewProc("RemoveDirectoryW")
+ procRemoveDllDirectory = modkernel32.NewProc("RemoveDllDirectory")
procResetEvent = modkernel32.NewProc("ResetEvent")
procResizePseudoConsole = modkernel32.NewProc("ResizePseudoConsole")
procResumeThread = modkernel32.NewProc("ResumeThread")
@@ -339,6 +342,7 @@ var (
procSetDefaultDllDirectories = modkernel32.NewProc("SetDefaultDllDirectories")
procSetDllDirectoryW = modkernel32.NewProc("SetDllDirectoryW")
procSetEndOfFile = modkernel32.NewProc("SetEndOfFile")
+ procSetFileValidData = modkernel32.NewProc("SetFileValidData")
procSetEnvironmentVariableW = modkernel32.NewProc("SetEnvironmentVariableW")
procSetErrorMode = modkernel32.NewProc("SetErrorMode")
procSetEvent = modkernel32.NewProc("SetEvent")
@@ -1604,6 +1608,15 @@ func GetIfEntry(pIfRow *MibIfRow) (errcode error) {
return
}
+func AddDllDirectory(path *uint16) (cookie uintptr, err error) {
+ r0, _, e1 := syscall.Syscall(procAddDllDirectory.Addr(), 1, uintptr(unsafe.Pointer(path)), 0, 0)
+ cookie = uintptr(r0)
+ if cookie == 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
func AssignProcessToJobObject(job Handle, process Handle) (err error) {
r1, _, e1 := syscall.Syscall(procAssignProcessToJobObject.Addr(), 2, uintptr(job), uintptr(process), 0)
if r1 == 0 {
@@ -2185,6 +2198,14 @@ func GetFileInformationByHandleEx(handle Handle, class uint32, outBuffer *byte,
return
}
+func GetFileTime(handle Handle, ctime *Filetime, atime *Filetime, wtime *Filetime) (err error) {
+ r1, _, e1 := syscall.Syscall6(procGetFileTime.Addr(), 4, uintptr(handle), uintptr(unsafe.Pointer(ctime)), uintptr(unsafe.Pointer(atime)), uintptr(unsafe.Pointer(wtime)), 0, 0)
+ if r1 == 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
func GetFileType(filehandle Handle) (n uint32, err error) {
r0, _, e1 := syscall.Syscall(procGetFileType.Addr(), 1, uintptr(filehandle), 0, 0)
n = uint32(r0)
@@ -2870,6 +2891,14 @@ func RemoveDirectory(path *uint16) (err error) {
return
}
+func RemoveDllDirectory(cookie uintptr) (err error) {
+ r1, _, e1 := syscall.Syscall(procRemoveDllDirectory.Addr(), 1, uintptr(cookie), 0, 0)
+ if r1 == 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
func ResetEvent(event Handle) (err error) {
r1, _, e1 := syscall.Syscall(procResetEvent.Addr(), 1, uintptr(event), 0, 0)
if r1 == 0 {
@@ -2960,6 +2989,14 @@ func SetEndOfFile(handle Handle) (err error) {
return
}
+func SetFileValidData(handle Handle, validDataLength int64) (err error) {
+ r1, _, e1 := syscall.Syscall(procSetFileValidData.Addr(), 2, uintptr(handle), uintptr(validDataLength), 0)
+ if r1 == 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
func SetEnvironmentVariable(name *uint16, value *uint16) (err error) {
r1, _, e1 := syscall.Syscall(procSetEnvironmentVariableW.Addr(), 2, uintptr(unsafe.Pointer(name)), uintptr(unsafe.Pointer(value)), 0)
if r1 == 0 {
diff --git a/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go b/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go
index 8a7392c4..784bb880 100644
--- a/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go
+++ b/vendor/golang.org/x/text/secure/bidirule/bidirule10.0.0.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build go1.10
-// +build go1.10
package bidirule
diff --git a/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go b/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go
index bb0a9200..8e1e9439 100644
--- a/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go
+++ b/vendor/golang.org/x/text/secure/bidirule/bidirule9.0.0.go
@@ -3,7 +3,6 @@
// license that can be found in the LICENSE file.
//go:build !go1.10
-// +build !go1.10
package bidirule
diff --git a/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go
index 42fa8d72..d2bd7118 100644
--- a/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go
+++ b/vendor/golang.org/x/text/unicode/bidi/tables10.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build go1.10 && !go1.13
-// +build go1.10,!go1.13
package bidi
diff --git a/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go
index 56a0e1ea..f76bdca2 100644
--- a/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go
+++ b/vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build go1.13 && !go1.14
-// +build go1.13,!go1.14
package bidi
diff --git a/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go
index baacf32b..3aa2c3bd 100644
--- a/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go
+++ b/vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build go1.14 && !go1.16
-// +build go1.14,!go1.16
package bidi
diff --git a/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go
index ffadb7be..a7137579 100644
--- a/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go
+++ b/vendor/golang.org/x/text/unicode/bidi/tables13.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build go1.16 && !go1.21
-// +build go1.16,!go1.21
package bidi
diff --git a/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go
index 92cce580..f15746f7 100644
--- a/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go
+++ b/vendor/golang.org/x/text/unicode/bidi/tables15.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build go1.21
-// +build go1.21
package bidi
diff --git a/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go b/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go
index f517fdb2..c164d379 100644
--- a/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go
+++ b/vendor/golang.org/x/text/unicode/bidi/tables9.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build !go1.10
-// +build !go1.10
package bidi
diff --git a/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go
index f5a07882..1af161c7 100644
--- a/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go
+++ b/vendor/golang.org/x/text/unicode/norm/tables10.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build go1.10 && !go1.13
-// +build go1.10,!go1.13
package norm
diff --git a/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go
index cb7239c4..eb73ecc3 100644
--- a/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go
+++ b/vendor/golang.org/x/text/unicode/norm/tables11.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build go1.13 && !go1.14
-// +build go1.13,!go1.14
package norm
diff --git a/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go
index 11b27330..276cb8d8 100644
--- a/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go
+++ b/vendor/golang.org/x/text/unicode/norm/tables12.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build go1.14 && !go1.16
-// +build go1.14,!go1.16
package norm
diff --git a/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go
index f65785e8..0cceffd7 100644
--- a/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go
+++ b/vendor/golang.org/x/text/unicode/norm/tables13.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build go1.16 && !go1.21
-// +build go1.16,!go1.21
package norm
diff --git a/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go
index e1858b87..b0819e42 100644
--- a/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go
+++ b/vendor/golang.org/x/text/unicode/norm/tables15.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build go1.21
-// +build go1.21
package norm
diff --git a/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go b/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go
index 0175eae5..bf65457d 100644
--- a/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go
+++ b/vendor/golang.org/x/text/unicode/norm/tables9.0.0.go
@@ -1,7 +1,6 @@
// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
//go:build !go1.10
-// +build !go1.10
package norm
diff --git a/vendor/google.golang.org/protobuf/encoding/protowire/wire.go b/vendor/google.golang.org/protobuf/encoding/protowire/wire.go
index f4b4686c..e942bc98 100644
--- a/vendor/google.golang.org/protobuf/encoding/protowire/wire.go
+++ b/vendor/google.golang.org/protobuf/encoding/protowire/wire.go
@@ -6,7 +6,7 @@
// See https://protobuf.dev/programming-guides/encoding.
//
// For marshaling and unmarshaling entire protobuf messages,
-// use the "google.golang.org/protobuf/proto" package instead.
+// use the [google.golang.org/protobuf/proto] package instead.
package protowire
import (
@@ -87,7 +87,7 @@ func ParseError(n int) error {
// ConsumeField parses an entire field record (both tag and value) and returns
// the field number, the wire type, and the total length.
-// This returns a negative length upon an error (see ParseError).
+// This returns a negative length upon an error (see [ParseError]).
//
// The total length includes the tag header and the end group marker (if the
// field is a group).
@@ -104,8 +104,8 @@ func ConsumeField(b []byte) (Number, Type, int) {
}
// ConsumeFieldValue parses a field value and returns its length.
-// This assumes that the field Number and wire Type have already been parsed.
-// This returns a negative length upon an error (see ParseError).
+// This assumes that the field [Number] and wire [Type] have already been parsed.
+// This returns a negative length upon an error (see [ParseError]).
//
// When parsing a group, the length includes the end group marker and
// the end group is verified to match the starting field number.
@@ -164,7 +164,7 @@ func AppendTag(b []byte, num Number, typ Type) []byte {
}
// ConsumeTag parses b as a varint-encoded tag, reporting its length.
-// This returns a negative length upon an error (see ParseError).
+// This returns a negative length upon an error (see [ParseError]).
func ConsumeTag(b []byte) (Number, Type, int) {
v, n := ConsumeVarint(b)
if n < 0 {
@@ -263,7 +263,7 @@ func AppendVarint(b []byte, v uint64) []byte {
}
// ConsumeVarint parses b as a varint-encoded uint64, reporting its length.
-// This returns a negative length upon an error (see ParseError).
+// This returns a negative length upon an error (see [ParseError]).
func ConsumeVarint(b []byte) (v uint64, n int) {
var y uint64
if len(b) <= 0 {
@@ -384,7 +384,7 @@ func AppendFixed32(b []byte, v uint32) []byte {
}
// ConsumeFixed32 parses b as a little-endian uint32, reporting its length.
-// This returns a negative length upon an error (see ParseError).
+// This returns a negative length upon an error (see [ParseError]).
func ConsumeFixed32(b []byte) (v uint32, n int) {
if len(b) < 4 {
return 0, errCodeTruncated
@@ -412,7 +412,7 @@ func AppendFixed64(b []byte, v uint64) []byte {
}
// ConsumeFixed64 parses b as a little-endian uint64, reporting its length.
-// This returns a negative length upon an error (see ParseError).
+// This returns a negative length upon an error (see [ParseError]).
func ConsumeFixed64(b []byte) (v uint64, n int) {
if len(b) < 8 {
return 0, errCodeTruncated
@@ -432,7 +432,7 @@ func AppendBytes(b []byte, v []byte) []byte {
}
// ConsumeBytes parses b as a length-prefixed bytes value, reporting its length.
-// This returns a negative length upon an error (see ParseError).
+// This returns a negative length upon an error (see [ParseError]).
func ConsumeBytes(b []byte) (v []byte, n int) {
m, n := ConsumeVarint(b)
if n < 0 {
@@ -456,7 +456,7 @@ func AppendString(b []byte, v string) []byte {
}
// ConsumeString parses b as a length-prefixed bytes value, reporting its length.
-// This returns a negative length upon an error (see ParseError).
+// This returns a negative length upon an error (see [ParseError]).
func ConsumeString(b []byte) (v string, n int) {
bb, n := ConsumeBytes(b)
return string(bb), n
@@ -471,7 +471,7 @@ func AppendGroup(b []byte, num Number, v []byte) []byte {
// ConsumeGroup parses b as a group value until the trailing end group marker,
// and verifies that the end marker matches the provided num. The value v
// does not contain the end marker, while the length does contain the end marker.
-// This returns a negative length upon an error (see ParseError).
+// This returns a negative length upon an error (see [ParseError]).
func ConsumeGroup(num Number, b []byte) (v []byte, n int) {
n = ConsumeFieldValue(num, StartGroupType, b)
if n < 0 {
@@ -495,8 +495,8 @@ func SizeGroup(num Number, n int) int {
return n + SizeTag(num)
}
-// DecodeTag decodes the field Number and wire Type from its unified form.
-// The Number is -1 if the decoded field number overflows int32.
+// DecodeTag decodes the field [Number] and wire [Type] from its unified form.
+// The [Number] is -1 if the decoded field number overflows int32.
// Other than overflow, this does not check for field number validity.
func DecodeTag(x uint64) (Number, Type) {
// NOTE: MessageSet allows for larger field numbers than normal.
@@ -506,7 +506,7 @@ func DecodeTag(x uint64) (Number, Type) {
return Number(x >> 3), Type(x & 7)
}
-// EncodeTag encodes the field Number and wire Type into its unified form.
+// EncodeTag encodes the field [Number] and wire [Type] into its unified form.
func EncodeTag(num Number, typ Type) uint64 {
return uint64(num)<<3 | uint64(typ&7)
}
diff --git a/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go b/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
index 136f1b21..8f94230e 100644
--- a/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
+++ b/vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
@@ -12,6 +12,12 @@ import (
const File_google_protobuf_descriptor_proto = "google/protobuf/descriptor.proto"
+// Full and short names for google.protobuf.Edition.
+const (
+ Edition_enum_fullname = "google.protobuf.Edition"
+ Edition_enum_name = "Edition"
+)
+
// Names for google.protobuf.FileDescriptorSet.
const (
FileDescriptorSet_message_name protoreflect.Name = "FileDescriptorSet"
@@ -81,7 +87,7 @@ const (
FileDescriptorProto_Options_field_number protoreflect.FieldNumber = 8
FileDescriptorProto_SourceCodeInfo_field_number protoreflect.FieldNumber = 9
FileDescriptorProto_Syntax_field_number protoreflect.FieldNumber = 12
- FileDescriptorProto_Edition_field_number protoreflect.FieldNumber = 13
+ FileDescriptorProto_Edition_field_number protoreflect.FieldNumber = 14
)
// Names for google.protobuf.DescriptorProto.
@@ -184,10 +190,12 @@ const (
const (
ExtensionRangeOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
ExtensionRangeOptions_Declaration_field_name protoreflect.Name = "declaration"
+ ExtensionRangeOptions_Features_field_name protoreflect.Name = "features"
ExtensionRangeOptions_Verification_field_name protoreflect.Name = "verification"
ExtensionRangeOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.uninterpreted_option"
ExtensionRangeOptions_Declaration_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.declaration"
+ ExtensionRangeOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.features"
ExtensionRangeOptions_Verification_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.verification"
)
@@ -195,6 +203,7 @@ const (
const (
ExtensionRangeOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
ExtensionRangeOptions_Declaration_field_number protoreflect.FieldNumber = 2
+ ExtensionRangeOptions_Features_field_number protoreflect.FieldNumber = 50
ExtensionRangeOptions_Verification_field_number protoreflect.FieldNumber = 3
)
@@ -212,29 +221,26 @@ const (
// Field names for google.protobuf.ExtensionRangeOptions.Declaration.
const (
- ExtensionRangeOptions_Declaration_Number_field_name protoreflect.Name = "number"
- ExtensionRangeOptions_Declaration_FullName_field_name protoreflect.Name = "full_name"
- ExtensionRangeOptions_Declaration_Type_field_name protoreflect.Name = "type"
- ExtensionRangeOptions_Declaration_IsRepeated_field_name protoreflect.Name = "is_repeated"
- ExtensionRangeOptions_Declaration_Reserved_field_name protoreflect.Name = "reserved"
- ExtensionRangeOptions_Declaration_Repeated_field_name protoreflect.Name = "repeated"
+ ExtensionRangeOptions_Declaration_Number_field_name protoreflect.Name = "number"
+ ExtensionRangeOptions_Declaration_FullName_field_name protoreflect.Name = "full_name"
+ ExtensionRangeOptions_Declaration_Type_field_name protoreflect.Name = "type"
+ ExtensionRangeOptions_Declaration_Reserved_field_name protoreflect.Name = "reserved"
+ ExtensionRangeOptions_Declaration_Repeated_field_name protoreflect.Name = "repeated"
- ExtensionRangeOptions_Declaration_Number_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.number"
- ExtensionRangeOptions_Declaration_FullName_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.full_name"
- ExtensionRangeOptions_Declaration_Type_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.type"
- ExtensionRangeOptions_Declaration_IsRepeated_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.is_repeated"
- ExtensionRangeOptions_Declaration_Reserved_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.reserved"
- ExtensionRangeOptions_Declaration_Repeated_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.repeated"
+ ExtensionRangeOptions_Declaration_Number_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.number"
+ ExtensionRangeOptions_Declaration_FullName_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.full_name"
+ ExtensionRangeOptions_Declaration_Type_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.type"
+ ExtensionRangeOptions_Declaration_Reserved_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.reserved"
+ ExtensionRangeOptions_Declaration_Repeated_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.repeated"
)
// Field numbers for google.protobuf.ExtensionRangeOptions.Declaration.
const (
- ExtensionRangeOptions_Declaration_Number_field_number protoreflect.FieldNumber = 1
- ExtensionRangeOptions_Declaration_FullName_field_number protoreflect.FieldNumber = 2
- ExtensionRangeOptions_Declaration_Type_field_number protoreflect.FieldNumber = 3
- ExtensionRangeOptions_Declaration_IsRepeated_field_number protoreflect.FieldNumber = 4
- ExtensionRangeOptions_Declaration_Reserved_field_number protoreflect.FieldNumber = 5
- ExtensionRangeOptions_Declaration_Repeated_field_number protoreflect.FieldNumber = 6
+ ExtensionRangeOptions_Declaration_Number_field_number protoreflect.FieldNumber = 1
+ ExtensionRangeOptions_Declaration_FullName_field_number protoreflect.FieldNumber = 2
+ ExtensionRangeOptions_Declaration_Type_field_number protoreflect.FieldNumber = 3
+ ExtensionRangeOptions_Declaration_Reserved_field_number protoreflect.FieldNumber = 5
+ ExtensionRangeOptions_Declaration_Repeated_field_number protoreflect.FieldNumber = 6
)
// Names for google.protobuf.FieldDescriptorProto.
@@ -478,6 +484,7 @@ const (
FileOptions_PhpNamespace_field_name protoreflect.Name = "php_namespace"
FileOptions_PhpMetadataNamespace_field_name protoreflect.Name = "php_metadata_namespace"
FileOptions_RubyPackage_field_name protoreflect.Name = "ruby_package"
+ FileOptions_Features_field_name protoreflect.Name = "features"
FileOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
FileOptions_JavaPackage_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_package"
@@ -500,6 +507,7 @@ const (
FileOptions_PhpNamespace_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_namespace"
FileOptions_PhpMetadataNamespace_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_metadata_namespace"
FileOptions_RubyPackage_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.ruby_package"
+ FileOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.features"
FileOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.uninterpreted_option"
)
@@ -525,6 +533,7 @@ const (
FileOptions_PhpNamespace_field_number protoreflect.FieldNumber = 41
FileOptions_PhpMetadataNamespace_field_number protoreflect.FieldNumber = 44
FileOptions_RubyPackage_field_number protoreflect.FieldNumber = 45
+ FileOptions_Features_field_number protoreflect.FieldNumber = 50
FileOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)
@@ -547,6 +556,7 @@ const (
MessageOptions_Deprecated_field_name protoreflect.Name = "deprecated"
MessageOptions_MapEntry_field_name protoreflect.Name = "map_entry"
MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_name protoreflect.Name = "deprecated_legacy_json_field_conflicts"
+ MessageOptions_Features_field_name protoreflect.Name = "features"
MessageOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
MessageOptions_MessageSetWireFormat_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.message_set_wire_format"
@@ -554,6 +564,7 @@ const (
MessageOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.deprecated"
MessageOptions_MapEntry_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.map_entry"
MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.deprecated_legacy_json_field_conflicts"
+ MessageOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.features"
MessageOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.uninterpreted_option"
)
@@ -564,6 +575,7 @@ const (
MessageOptions_Deprecated_field_number protoreflect.FieldNumber = 3
MessageOptions_MapEntry_field_number protoreflect.FieldNumber = 7
MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_number protoreflect.FieldNumber = 11
+ MessageOptions_Features_field_number protoreflect.FieldNumber = 12
MessageOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)
@@ -584,8 +596,9 @@ const (
FieldOptions_Weak_field_name protoreflect.Name = "weak"
FieldOptions_DebugRedact_field_name protoreflect.Name = "debug_redact"
FieldOptions_Retention_field_name protoreflect.Name = "retention"
- FieldOptions_Target_field_name protoreflect.Name = "target"
FieldOptions_Targets_field_name protoreflect.Name = "targets"
+ FieldOptions_EditionDefaults_field_name protoreflect.Name = "edition_defaults"
+ FieldOptions_Features_field_name protoreflect.Name = "features"
FieldOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
FieldOptions_Ctype_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.ctype"
@@ -597,8 +610,9 @@ const (
FieldOptions_Weak_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.weak"
FieldOptions_DebugRedact_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.debug_redact"
FieldOptions_Retention_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.retention"
- FieldOptions_Target_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.target"
FieldOptions_Targets_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.targets"
+ FieldOptions_EditionDefaults_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.edition_defaults"
+ FieldOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.features"
FieldOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.uninterpreted_option"
)
@@ -613,8 +627,9 @@ const (
FieldOptions_Weak_field_number protoreflect.FieldNumber = 10
FieldOptions_DebugRedact_field_number protoreflect.FieldNumber = 16
FieldOptions_Retention_field_number protoreflect.FieldNumber = 17
- FieldOptions_Target_field_number protoreflect.FieldNumber = 18
FieldOptions_Targets_field_number protoreflect.FieldNumber = 19
+ FieldOptions_EditionDefaults_field_number protoreflect.FieldNumber = 20
+ FieldOptions_Features_field_number protoreflect.FieldNumber = 21
FieldOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)
@@ -642,6 +657,27 @@ const (
FieldOptions_OptionTargetType_enum_name = "OptionTargetType"
)
+// Names for google.protobuf.FieldOptions.EditionDefault.
+const (
+ FieldOptions_EditionDefault_message_name protoreflect.Name = "EditionDefault"
+ FieldOptions_EditionDefault_message_fullname protoreflect.FullName = "google.protobuf.FieldOptions.EditionDefault"
+)
+
+// Field names for google.protobuf.FieldOptions.EditionDefault.
+const (
+ FieldOptions_EditionDefault_Edition_field_name protoreflect.Name = "edition"
+ FieldOptions_EditionDefault_Value_field_name protoreflect.Name = "value"
+
+ FieldOptions_EditionDefault_Edition_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.EditionDefault.edition"
+ FieldOptions_EditionDefault_Value_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.EditionDefault.value"
+)
+
+// Field numbers for google.protobuf.FieldOptions.EditionDefault.
+const (
+ FieldOptions_EditionDefault_Edition_field_number protoreflect.FieldNumber = 3
+ FieldOptions_EditionDefault_Value_field_number protoreflect.FieldNumber = 2
+)
+
// Names for google.protobuf.OneofOptions.
const (
OneofOptions_message_name protoreflect.Name = "OneofOptions"
@@ -650,13 +686,16 @@ const (
// Field names for google.protobuf.OneofOptions.
const (
+ OneofOptions_Features_field_name protoreflect.Name = "features"
OneofOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
+ OneofOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.OneofOptions.features"
OneofOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.OneofOptions.uninterpreted_option"
)
// Field numbers for google.protobuf.OneofOptions.
const (
+ OneofOptions_Features_field_number protoreflect.FieldNumber = 1
OneofOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)
@@ -671,11 +710,13 @@ const (
EnumOptions_AllowAlias_field_name protoreflect.Name = "allow_alias"
EnumOptions_Deprecated_field_name protoreflect.Name = "deprecated"
EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_name protoreflect.Name = "deprecated_legacy_json_field_conflicts"
+ EnumOptions_Features_field_name protoreflect.Name = "features"
EnumOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
EnumOptions_AllowAlias_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.allow_alias"
EnumOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.deprecated"
EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.deprecated_legacy_json_field_conflicts"
+ EnumOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.features"
EnumOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.uninterpreted_option"
)
@@ -684,6 +725,7 @@ const (
EnumOptions_AllowAlias_field_number protoreflect.FieldNumber = 2
EnumOptions_Deprecated_field_number protoreflect.FieldNumber = 3
EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_number protoreflect.FieldNumber = 6
+ EnumOptions_Features_field_number protoreflect.FieldNumber = 7
EnumOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)
@@ -696,15 +738,21 @@ const (
// Field names for google.protobuf.EnumValueOptions.
const (
EnumValueOptions_Deprecated_field_name protoreflect.Name = "deprecated"
+ EnumValueOptions_Features_field_name protoreflect.Name = "features"
+ EnumValueOptions_DebugRedact_field_name protoreflect.Name = "debug_redact"
EnumValueOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
EnumValueOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.deprecated"
+ EnumValueOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.features"
+ EnumValueOptions_DebugRedact_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.debug_redact"
EnumValueOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.uninterpreted_option"
)
// Field numbers for google.protobuf.EnumValueOptions.
const (
EnumValueOptions_Deprecated_field_number protoreflect.FieldNumber = 1
+ EnumValueOptions_Features_field_number protoreflect.FieldNumber = 2
+ EnumValueOptions_DebugRedact_field_number protoreflect.FieldNumber = 3
EnumValueOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)
@@ -716,15 +764,18 @@ const (
// Field names for google.protobuf.ServiceOptions.
const (
+ ServiceOptions_Features_field_name protoreflect.Name = "features"
ServiceOptions_Deprecated_field_name protoreflect.Name = "deprecated"
ServiceOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
+ ServiceOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.ServiceOptions.features"
ServiceOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.ServiceOptions.deprecated"
ServiceOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.ServiceOptions.uninterpreted_option"
)
// Field numbers for google.protobuf.ServiceOptions.
const (
+ ServiceOptions_Features_field_number protoreflect.FieldNumber = 34
ServiceOptions_Deprecated_field_number protoreflect.FieldNumber = 33
ServiceOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)
@@ -739,10 +790,12 @@ const (
const (
MethodOptions_Deprecated_field_name protoreflect.Name = "deprecated"
MethodOptions_IdempotencyLevel_field_name protoreflect.Name = "idempotency_level"
+ MethodOptions_Features_field_name protoreflect.Name = "features"
MethodOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option"
MethodOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.deprecated"
MethodOptions_IdempotencyLevel_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.idempotency_level"
+ MethodOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.features"
MethodOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.uninterpreted_option"
)
@@ -750,6 +803,7 @@ const (
const (
MethodOptions_Deprecated_field_number protoreflect.FieldNumber = 33
MethodOptions_IdempotencyLevel_field_number protoreflect.FieldNumber = 34
+ MethodOptions_Features_field_number protoreflect.FieldNumber = 35
MethodOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999
)
@@ -816,6 +870,120 @@ const (
UninterpretedOption_NamePart_IsExtension_field_number protoreflect.FieldNumber = 2
)
+// Names for google.protobuf.FeatureSet.
+const (
+ FeatureSet_message_name protoreflect.Name = "FeatureSet"
+ FeatureSet_message_fullname protoreflect.FullName = "google.protobuf.FeatureSet"
+)
+
+// Field names for google.protobuf.FeatureSet.
+const (
+ FeatureSet_FieldPresence_field_name protoreflect.Name = "field_presence"
+ FeatureSet_EnumType_field_name protoreflect.Name = "enum_type"
+ FeatureSet_RepeatedFieldEncoding_field_name protoreflect.Name = "repeated_field_encoding"
+ FeatureSet_Utf8Validation_field_name protoreflect.Name = "utf8_validation"
+ FeatureSet_MessageEncoding_field_name protoreflect.Name = "message_encoding"
+ FeatureSet_JsonFormat_field_name protoreflect.Name = "json_format"
+
+ FeatureSet_FieldPresence_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.field_presence"
+ FeatureSet_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enum_type"
+ FeatureSet_RepeatedFieldEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.repeated_field_encoding"
+ FeatureSet_Utf8Validation_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.utf8_validation"
+ FeatureSet_MessageEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.message_encoding"
+ FeatureSet_JsonFormat_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.json_format"
+)
+
+// Field numbers for google.protobuf.FeatureSet.
+const (
+ FeatureSet_FieldPresence_field_number protoreflect.FieldNumber = 1
+ FeatureSet_EnumType_field_number protoreflect.FieldNumber = 2
+ FeatureSet_RepeatedFieldEncoding_field_number protoreflect.FieldNumber = 3
+ FeatureSet_Utf8Validation_field_number protoreflect.FieldNumber = 4
+ FeatureSet_MessageEncoding_field_number protoreflect.FieldNumber = 5
+ FeatureSet_JsonFormat_field_number protoreflect.FieldNumber = 6
+)
+
+// Full and short names for google.protobuf.FeatureSet.FieldPresence.
+const (
+ FeatureSet_FieldPresence_enum_fullname = "google.protobuf.FeatureSet.FieldPresence"
+ FeatureSet_FieldPresence_enum_name = "FieldPresence"
+)
+
+// Full and short names for google.protobuf.FeatureSet.EnumType.
+const (
+ FeatureSet_EnumType_enum_fullname = "google.protobuf.FeatureSet.EnumType"
+ FeatureSet_EnumType_enum_name = "EnumType"
+)
+
+// Full and short names for google.protobuf.FeatureSet.RepeatedFieldEncoding.
+const (
+ FeatureSet_RepeatedFieldEncoding_enum_fullname = "google.protobuf.FeatureSet.RepeatedFieldEncoding"
+ FeatureSet_RepeatedFieldEncoding_enum_name = "RepeatedFieldEncoding"
+)
+
+// Full and short names for google.protobuf.FeatureSet.Utf8Validation.
+const (
+ FeatureSet_Utf8Validation_enum_fullname = "google.protobuf.FeatureSet.Utf8Validation"
+ FeatureSet_Utf8Validation_enum_name = "Utf8Validation"
+)
+
+// Full and short names for google.protobuf.FeatureSet.MessageEncoding.
+const (
+ FeatureSet_MessageEncoding_enum_fullname = "google.protobuf.FeatureSet.MessageEncoding"
+ FeatureSet_MessageEncoding_enum_name = "MessageEncoding"
+)
+
+// Full and short names for google.protobuf.FeatureSet.JsonFormat.
+const (
+ FeatureSet_JsonFormat_enum_fullname = "google.protobuf.FeatureSet.JsonFormat"
+ FeatureSet_JsonFormat_enum_name = "JsonFormat"
+)
+
+// Names for google.protobuf.FeatureSetDefaults.
+const (
+ FeatureSetDefaults_message_name protoreflect.Name = "FeatureSetDefaults"
+ FeatureSetDefaults_message_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults"
+)
+
+// Field names for google.protobuf.FeatureSetDefaults.
+const (
+ FeatureSetDefaults_Defaults_field_name protoreflect.Name = "defaults"
+ FeatureSetDefaults_MinimumEdition_field_name protoreflect.Name = "minimum_edition"
+ FeatureSetDefaults_MaximumEdition_field_name protoreflect.Name = "maximum_edition"
+
+ FeatureSetDefaults_Defaults_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.defaults"
+ FeatureSetDefaults_MinimumEdition_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.minimum_edition"
+ FeatureSetDefaults_MaximumEdition_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.maximum_edition"
+)
+
+// Field numbers for google.protobuf.FeatureSetDefaults.
+const (
+ FeatureSetDefaults_Defaults_field_number protoreflect.FieldNumber = 1
+ FeatureSetDefaults_MinimumEdition_field_number protoreflect.FieldNumber = 4
+ FeatureSetDefaults_MaximumEdition_field_number protoreflect.FieldNumber = 5
+)
+
+// Names for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.
+const (
+ FeatureSetDefaults_FeatureSetEditionDefault_message_name protoreflect.Name = "FeatureSetEditionDefault"
+ FeatureSetDefaults_FeatureSetEditionDefault_message_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault"
+)
+
+// Field names for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.
+const (
+ FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_name protoreflect.Name = "edition"
+ FeatureSetDefaults_FeatureSetEditionDefault_Features_field_name protoreflect.Name = "features"
+
+ FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition"
+ FeatureSetDefaults_FeatureSetEditionDefault_Features_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features"
+)
+
+// Field numbers for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.
+const (
+ FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_number protoreflect.FieldNumber = 3
+ FeatureSetDefaults_FeatureSetEditionDefault_Features_field_number protoreflect.FieldNumber = 2
+)
+
// Names for google.protobuf.SourceCodeInfo.
const (
SourceCodeInfo_message_name protoreflect.Name = "SourceCodeInfo"
diff --git a/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go b/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go120.go
similarity index 96%
rename from vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go
rename to vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go120.go
index 61a84d34..a008acd0 100644
--- a/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe.go
+++ b/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go120.go
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//go:build !purego && !appengine
-// +build !purego,!appengine
+//go:build !purego && !appengine && !go1.21
+// +build !purego,!appengine,!go1.21
package strs
diff --git a/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go121.go b/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go121.go
new file mode 100644
index 00000000..60166f2b
--- /dev/null
+++ b/vendor/google.golang.org/protobuf/internal/strs/strings_unsafe_go121.go
@@ -0,0 +1,74 @@
+// 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 !purego && !appengine && go1.21
+// +build !purego,!appengine,go1.21
+
+package strs
+
+import (
+ "unsafe"
+
+ "google.golang.org/protobuf/reflect/protoreflect"
+)
+
+// UnsafeString returns an unsafe string reference of b.
+// The caller must treat the input slice as immutable.
+//
+// WARNING: Use carefully. The returned result must not leak to the end user
+// unless the input slice is provably immutable.
+func UnsafeString(b []byte) string {
+ return unsafe.String(unsafe.SliceData(b), len(b))
+}
+
+// UnsafeBytes returns an unsafe bytes slice reference of s.
+// The caller must treat returned slice as immutable.
+//
+// WARNING: Use carefully. The returned result must not leak to the end user.
+func UnsafeBytes(s string) []byte {
+ return unsafe.Slice(unsafe.StringData(s), len(s))
+}
+
+// Builder builds a set of strings with shared lifetime.
+// This differs from strings.Builder, which is for building a single string.
+type Builder struct {
+ buf []byte
+}
+
+// AppendFullName is equivalent to protoreflect.FullName.Append,
+// but optimized for large batches where each name has a shared lifetime.
+func (sb *Builder) AppendFullName(prefix protoreflect.FullName, name protoreflect.Name) protoreflect.FullName {
+ n := len(prefix) + len(".") + len(name)
+ if len(prefix) == 0 {
+ n -= len(".")
+ }
+ sb.grow(n)
+ sb.buf = append(sb.buf, prefix...)
+ sb.buf = append(sb.buf, '.')
+ sb.buf = append(sb.buf, name...)
+ return protoreflect.FullName(sb.last(n))
+}
+
+// MakeString is equivalent to string(b), but optimized for large batches
+// with a shared lifetime.
+func (sb *Builder) MakeString(b []byte) string {
+ sb.grow(len(b))
+ sb.buf = append(sb.buf, b...)
+ return sb.last(len(b))
+}
+
+func (sb *Builder) grow(n int) {
+ if cap(sb.buf)-len(sb.buf) >= n {
+ return
+ }
+
+ // Unlike strings.Builder, we do not need to copy over the contents
+ // of the old buffer since our builder provides no API for
+ // retrieving previously created strings.
+ sb.buf = make([]byte, 0, 2*(cap(sb.buf)+n))
+}
+
+func (sb *Builder) last(n int) string {
+ return UnsafeString(sb.buf[len(sb.buf)-n:])
+}
diff --git a/vendor/google.golang.org/protobuf/proto/decode.go b/vendor/google.golang.org/protobuf/proto/decode.go
index 48d47946..e5b03b56 100644
--- a/vendor/google.golang.org/protobuf/proto/decode.go
+++ b/vendor/google.golang.org/protobuf/proto/decode.go
@@ -69,7 +69,7 @@ func (o UnmarshalOptions) Unmarshal(b []byte, m Message) error {
// UnmarshalState parses a wire-format message and places the result in m.
//
// This method permits fine-grained control over the unmarshaler.
-// Most users should use Unmarshal instead.
+// Most users should use [Unmarshal] instead.
func (o UnmarshalOptions) UnmarshalState(in protoiface.UnmarshalInput) (protoiface.UnmarshalOutput, error) {
if o.RecursionLimit == 0 {
o.RecursionLimit = protowire.DefaultRecursionLimit
diff --git a/vendor/google.golang.org/protobuf/proto/doc.go b/vendor/google.golang.org/protobuf/proto/doc.go
index ec71e717..80ed16a0 100644
--- a/vendor/google.golang.org/protobuf/proto/doc.go
+++ b/vendor/google.golang.org/protobuf/proto/doc.go
@@ -18,27 +18,27 @@
// This package contains functions to convert to and from the wire format,
// an efficient binary serialization of protocol buffers.
//
-// • Size reports the size of a message in the wire format.
+// - [Size] reports the size of a message in the wire format.
//
-// • Marshal converts a message to the wire format.
-// The MarshalOptions type provides more control over wire marshaling.
+// - [Marshal] converts a message to the wire format.
+// The [MarshalOptions] type provides more control over wire marshaling.
//
-// • Unmarshal converts a message from the wire format.
-// The UnmarshalOptions type provides more control over wire unmarshaling.
+// - [Unmarshal] converts a message from the wire format.
+// The [UnmarshalOptions] type provides more control over wire unmarshaling.
//
// # Basic message operations
//
-// • Clone makes a deep copy of a message.
+// - [Clone] makes a deep copy of a message.
//
-// • Merge merges the content of a message into another.
+// - [Merge] merges the content of a message into another.
//
-// • Equal compares two messages. For more control over comparisons
-// and detailed reporting of differences, see package
-// "google.golang.org/protobuf/testing/protocmp".
+// - [Equal] compares two messages. For more control over comparisons
+// and detailed reporting of differences, see package
+// [google.golang.org/protobuf/testing/protocmp].
//
-// • Reset clears the content of a message.
+// - [Reset] clears the content of a message.
//
-// • CheckInitialized reports whether all required fields in a message are set.
+// - [CheckInitialized] reports whether all required fields in a message are set.
//
// # Optional scalar constructors
//
@@ -46,9 +46,9 @@
// as pointers to a value. For example, an optional string field has the
// Go type *string.
//
-// • Bool, Int32, Int64, Uint32, Uint64, Float32, Float64, and String
-// take a value and return a pointer to a new instance of it,
-// to simplify construction of optional field values.
+// - [Bool], [Int32], [Int64], [Uint32], [Uint64], [Float32], [Float64], and [String]
+// take a value and return a pointer to a new instance of it,
+// to simplify construction of optional field values.
//
// Generated enum types usually have an Enum method which performs the
// same operation.
@@ -57,29 +57,29 @@
//
// # Extension accessors
//
-// • HasExtension, GetExtension, SetExtension, and ClearExtension
-// access extension field values in a protocol buffer message.
+// - [HasExtension], [GetExtension], [SetExtension], and [ClearExtension]
+// access extension field values in a protocol buffer message.
//
// Extension fields are only supported in proto2.
//
// # Related packages
//
-// • Package "google.golang.org/protobuf/encoding/protojson" converts messages to
-// and from JSON.
+// - Package [google.golang.org/protobuf/encoding/protojson] converts messages to
+// and from JSON.
//
-// • Package "google.golang.org/protobuf/encoding/prototext" converts messages to
-// and from the text format.
+// - Package [google.golang.org/protobuf/encoding/prototext] converts messages to
+// and from the text format.
//
-// • Package "google.golang.org/protobuf/reflect/protoreflect" provides a
-// reflection interface for protocol buffer data types.
+// - Package [google.golang.org/protobuf/reflect/protoreflect] provides a
+// reflection interface for protocol buffer data types.
//
-// • Package "google.golang.org/protobuf/testing/protocmp" provides features
-// to compare protocol buffer messages with the "github.com/google/go-cmp/cmp"
-// package.
+// - Package [google.golang.org/protobuf/testing/protocmp] provides features
+// to compare protocol buffer messages with the [github.com/google/go-cmp/cmp]
+// package.
//
-// • Package "google.golang.org/protobuf/types/dynamicpb" provides a dynamic
-// message type, suitable for working with messages where the protocol buffer
-// type is only known at runtime.
+// - Package [google.golang.org/protobuf/types/dynamicpb] provides a dynamic
+// message type, suitable for working with messages where the protocol buffer
+// type is only known at runtime.
//
// This module contains additional packages for more specialized use cases.
// Consult the individual package documentation for details.
diff --git a/vendor/google.golang.org/protobuf/proto/encode.go b/vendor/google.golang.org/protobuf/proto/encode.go
index bf7f816d..4fed202f 100644
--- a/vendor/google.golang.org/protobuf/proto/encode.go
+++ b/vendor/google.golang.org/protobuf/proto/encode.go
@@ -129,7 +129,7 @@ func (o MarshalOptions) MarshalAppend(b []byte, m Message) ([]byte, error) {
// MarshalState returns the wire-format encoding of a message.
//
// This method permits fine-grained control over the marshaler.
-// Most users should use Marshal instead.
+// Most users should use [Marshal] instead.
func (o MarshalOptions) MarshalState(in protoiface.MarshalInput) (protoiface.MarshalOutput, error) {
return o.marshal(in.Buf, in.Message)
}
diff --git a/vendor/google.golang.org/protobuf/proto/extension.go b/vendor/google.golang.org/protobuf/proto/extension.go
index 5f293cda..17899a3a 100644
--- a/vendor/google.golang.org/protobuf/proto/extension.go
+++ b/vendor/google.golang.org/protobuf/proto/extension.go
@@ -26,7 +26,7 @@ func HasExtension(m Message, xt protoreflect.ExtensionType) bool {
}
// ClearExtension clears an extension field such that subsequent
-// HasExtension calls return false.
+// [HasExtension] calls return false.
// It panics if m is invalid or if xt does not extend m.
func ClearExtension(m Message, xt protoreflect.ExtensionType) {
m.ProtoReflect().Clear(xt.TypeDescriptor())
diff --git a/vendor/google.golang.org/protobuf/proto/merge.go b/vendor/google.golang.org/protobuf/proto/merge.go
index d761ab33..3c6fe578 100644
--- a/vendor/google.golang.org/protobuf/proto/merge.go
+++ b/vendor/google.golang.org/protobuf/proto/merge.go
@@ -21,7 +21,7 @@ import (
// The unknown fields of src are appended to the unknown fields of dst.
//
// It is semantically equivalent to unmarshaling the encoded form of src
-// into dst with the UnmarshalOptions.Merge option specified.
+// into dst with the [UnmarshalOptions.Merge] option specified.
func Merge(dst, src Message) {
// TODO: Should nil src be treated as semantically equivalent to a
// untyped, read-only, empty message? What about a nil dst?
diff --git a/vendor/google.golang.org/protobuf/proto/proto.go b/vendor/google.golang.org/protobuf/proto/proto.go
index 1f0d183b..7543ee6b 100644
--- a/vendor/google.golang.org/protobuf/proto/proto.go
+++ b/vendor/google.golang.org/protobuf/proto/proto.go
@@ -15,18 +15,20 @@ import (
// protobuf module that accept a Message, except where otherwise specified.
//
// This is the v2 interface definition for protobuf messages.
-// The v1 interface definition is "github.com/golang/protobuf/proto".Message.
+// The v1 interface definition is [github.com/golang/protobuf/proto.Message].
//
-// To convert a v1 message to a v2 message,
-// use "github.com/golang/protobuf/proto".MessageV2.
-// To convert a v2 message to a v1 message,
-// use "github.com/golang/protobuf/proto".MessageV1.
+// - To convert a v1 message to a v2 message,
+// use [google.golang.org/protobuf/protoadapt.MessageV2Of].
+// - To convert a v2 message to a v1 message,
+// use [google.golang.org/protobuf/protoadapt.MessageV1Of].
type Message = protoreflect.ProtoMessage
-// Error matches all errors produced by packages in the protobuf module.
+// Error matches all errors produced by packages in the protobuf module
+// according to [errors.Is].
//
-// That is, errors.Is(err, Error) reports whether an error is produced
-// by this module.
+// Example usage:
+//
+// if errors.Is(err, proto.Error) { ... }
var Error error
func init() {
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go
index 55aa1492..ec6572df 100644
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go
+++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go
@@ -10,46 +10,46 @@
//
// # Protocol Buffer Descriptors
//
-// Protobuf descriptors (e.g., EnumDescriptor or MessageDescriptor)
+// Protobuf descriptors (e.g., [EnumDescriptor] or [MessageDescriptor])
// are immutable objects that represent protobuf type information.
// They are wrappers around the messages declared in descriptor.proto.
// Protobuf descriptors alone lack any information regarding Go types.
//
-// Enums and messages generated by this module implement Enum and ProtoMessage,
+// Enums and messages generated by this module implement [Enum] and [ProtoMessage],
// where the Descriptor and ProtoReflect.Descriptor accessors respectively
// return the protobuf descriptor for the values.
//
// The protobuf descriptor interfaces are not meant to be implemented by
// user code since they might need to be extended in the future to support
// additions to the protobuf language.
-// The "google.golang.org/protobuf/reflect/protodesc" package converts between
+// The [google.golang.org/protobuf/reflect/protodesc] package converts between
// google.protobuf.DescriptorProto messages and protobuf descriptors.
//
// # Go Type Descriptors
//
-// A type descriptor (e.g., EnumType or MessageType) is a constructor for
+// A type descriptor (e.g., [EnumType] or [MessageType]) is a constructor for
// a concrete Go type that represents the associated protobuf descriptor.
// There is commonly a one-to-one relationship between protobuf descriptors and
// Go type descriptors, but it can potentially be a one-to-many relationship.
//
-// Enums and messages generated by this module implement Enum and ProtoMessage,
+// Enums and messages generated by this module implement [Enum] and [ProtoMessage],
// where the Type and ProtoReflect.Type accessors respectively
// return the protobuf descriptor for the values.
//
-// The "google.golang.org/protobuf/types/dynamicpb" package can be used to
+// The [google.golang.org/protobuf/types/dynamicpb] package can be used to
// create Go type descriptors from protobuf descriptors.
//
// # Value Interfaces
//
-// The Enum and Message interfaces provide a reflective view over an
+// The [Enum] and [Message] interfaces provide a reflective view over an
// enum or message instance. For enums, it provides the ability to retrieve
// the enum value number for any concrete enum type. For messages, it provides
// the ability to access or manipulate fields of the message.
//
-// To convert a proto.Message to a protoreflect.Message, use the
+// To convert a [google.golang.org/protobuf/proto.Message] to a [protoreflect.Message], use the
// former's ProtoReflect method. Since the ProtoReflect method is new to the
// v2 message interface, it may not be present on older message implementations.
-// The "github.com/golang/protobuf/proto".MessageReflect function can be used
+// The [github.com/golang/protobuf/proto.MessageReflect] function can be used
// to obtain a reflective view on older messages.
//
// # Relationships
@@ -71,12 +71,12 @@
// │ │
// └────────────────── Type() ───────┘
//
-// • An EnumType describes a concrete Go enum type.
+// • An [EnumType] describes a concrete Go enum type.
// It has an EnumDescriptor and can construct an Enum instance.
//
-// • An EnumDescriptor describes an abstract protobuf enum type.
+// • An [EnumDescriptor] describes an abstract protobuf enum type.
//
-// • An Enum is a concrete enum instance. Generated enums implement Enum.
+// • An [Enum] is a concrete enum instance. Generated enums implement Enum.
//
// ┌──────────────── New() ─────────────────┐
// │ │
@@ -90,24 +90,26 @@
// │ │
// └─────────────────── Type() ─────────┘
//
-// • A MessageType describes a concrete Go message type.
-// It has a MessageDescriptor and can construct a Message instance.
-// Just as how Go's reflect.Type is a reflective description of a Go type,
-// a MessageType is a reflective description of a Go type for a protobuf message.
+// • A [MessageType] describes a concrete Go message type.
+// It has a [MessageDescriptor] and can construct a [Message] instance.
+// Just as how Go's [reflect.Type] is a reflective description of a Go type,
+// a [MessageType] is a reflective description of a Go type for a protobuf message.
//
-// • A MessageDescriptor describes an abstract protobuf message type.
-// It has no understanding of Go types. In order to construct a MessageType
-// from just a MessageDescriptor, you can consider looking up the message type
-// in the global registry using protoregistry.GlobalTypes.FindMessageByName
-// or constructing a dynamic MessageType using dynamicpb.NewMessageType.
+// • A [MessageDescriptor] describes an abstract protobuf message type.
+// It has no understanding of Go types. In order to construct a [MessageType]
+// from just a [MessageDescriptor], you can consider looking up the message type
+// in the global registry using the FindMessageByName method on
+// [google.golang.org/protobuf/reflect/protoregistry.GlobalTypes]
+// or constructing a dynamic [MessageType] using
+// [google.golang.org/protobuf/types/dynamicpb.NewMessageType].
//
-// • A Message is a reflective view over a concrete message instance.
-// Generated messages implement ProtoMessage, which can convert to a Message.
-// Just as how Go's reflect.Value is a reflective view over a Go value,
-// a Message is a reflective view over a concrete protobuf message instance.
-// Using Go reflection as an analogy, the ProtoReflect method is similar to
-// calling reflect.ValueOf, and the Message.Interface method is similar to
-// calling reflect.Value.Interface.
+// • A [Message] is a reflective view over a concrete message instance.
+// Generated messages implement [ProtoMessage], which can convert to a [Message].
+// Just as how Go's [reflect.Value] is a reflective view over a Go value,
+// a [Message] is a reflective view over a concrete protobuf message instance.
+// Using Go reflection as an analogy, the [ProtoMessage.ProtoReflect] method is similar to
+// calling [reflect.ValueOf], and the [Message.Interface] method is similar to
+// calling [reflect.Value.Interface].
//
// ┌── TypeDescriptor() ──┐ ┌───── Descriptor() ─────┐
// │ V │ V
@@ -119,15 +121,15 @@
// │ │
// └────── implements ────────┘
//
-// • An ExtensionType describes a concrete Go implementation of an extension.
-// It has an ExtensionTypeDescriptor and can convert to/from
-// abstract Values and Go values.
+// • An [ExtensionType] describes a concrete Go implementation of an extension.
+// It has an [ExtensionTypeDescriptor] and can convert to/from
+// an abstract [Value] and a Go value.
//
-// • An ExtensionTypeDescriptor is an ExtensionDescriptor
-// which also has an ExtensionType.
+// • An [ExtensionTypeDescriptor] is an [ExtensionDescriptor]
+// which also has an [ExtensionType].
//
-// • An ExtensionDescriptor describes an abstract protobuf extension field and
-// may not always be an ExtensionTypeDescriptor.
+// • An [ExtensionDescriptor] describes an abstract protobuf extension field and
+// may not always be an [ExtensionTypeDescriptor].
package protoreflect
import (
@@ -142,7 +144,7 @@ type doNotImplement pragma.DoNotImplement
// ProtoMessage is the top-level interface that all proto messages implement.
// This is declared in the protoreflect package to avoid a cyclic dependency;
-// use the proto.Message type instead, which aliases this type.
+// use the [google.golang.org/protobuf/proto.Message] type instead, which aliases this type.
type ProtoMessage interface{ ProtoReflect() Message }
// Syntax is the language version of the proto file.
@@ -151,8 +153,9 @@ type Syntax syntax
type syntax int8 // keep exact type opaque as the int type may change
const (
- Proto2 Syntax = 2
- Proto3 Syntax = 3
+ Proto2 Syntax = 2
+ Proto3 Syntax = 3
+ Editions Syntax = 4
)
// IsValid reports whether the syntax is valid.
@@ -436,7 +439,7 @@ type Names interface {
// FullName is a qualified name that uniquely identifies a proto declaration.
// A qualified name is the concatenation of the proto package along with the
// fully-declared name (i.e., name of parent preceding the name of the child),
-// with a '.' delimiter placed between each Name.
+// with a '.' delimiter placed between each [Name].
//
// This should not have any leading or trailing dots.
type FullName string // e.g., "google.protobuf.Field.Kind"
@@ -480,7 +483,7 @@ func isLetterDigit(c byte) bool {
}
// Name returns the short name, which is the last identifier segment.
-// A single segment FullName is the Name itself.
+// A single segment FullName is the [Name] itself.
func (n FullName) Name() Name {
if i := strings.LastIndexByte(string(n), '.'); i >= 0 {
return Name(n[i+1:])
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
index 717b106f..0c045db6 100644
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
+++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/source_gen.go
@@ -35,7 +35,7 @@ func (p *SourcePath) appendFileDescriptorProto(b []byte) []byte {
b = p.appendSingularField(b, "source_code_info", (*SourcePath).appendSourceCodeInfo)
case 12:
b = p.appendSingularField(b, "syntax", nil)
- case 13:
+ case 14:
b = p.appendSingularField(b, "edition", nil)
}
return b
@@ -180,6 +180,8 @@ func (p *SourcePath) appendFileOptions(b []byte) []byte {
b = p.appendSingularField(b, "php_metadata_namespace", nil)
case 45:
b = p.appendSingularField(b, "ruby_package", nil)
+ case 50:
+ b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
case 999:
b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
}
@@ -240,6 +242,8 @@ func (p *SourcePath) appendMessageOptions(b []byte) []byte {
b = p.appendSingularField(b, "map_entry", nil)
case 11:
b = p.appendSingularField(b, "deprecated_legacy_json_field_conflicts", nil)
+ case 12:
+ b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
case 999:
b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
}
@@ -285,6 +289,8 @@ func (p *SourcePath) appendEnumOptions(b []byte) []byte {
b = p.appendSingularField(b, "deprecated", nil)
case 6:
b = p.appendSingularField(b, "deprecated_legacy_json_field_conflicts", nil)
+ case 7:
+ b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
case 999:
b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
}
@@ -330,6 +336,8 @@ func (p *SourcePath) appendServiceOptions(b []byte) []byte {
return b
}
switch (*p)[0] {
+ case 34:
+ b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
case 33:
b = p.appendSingularField(b, "deprecated", nil)
case 999:
@@ -361,16 +369,39 @@ func (p *SourcePath) appendFieldOptions(b []byte) []byte {
b = p.appendSingularField(b, "debug_redact", nil)
case 17:
b = p.appendSingularField(b, "retention", nil)
- case 18:
- b = p.appendSingularField(b, "target", nil)
case 19:
b = p.appendRepeatedField(b, "targets", nil)
+ case 20:
+ b = p.appendRepeatedField(b, "edition_defaults", (*SourcePath).appendFieldOptions_EditionDefault)
+ case 21:
+ b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
case 999:
b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
}
return b
}
+func (p *SourcePath) appendFeatureSet(b []byte) []byte {
+ if len(*p) == 0 {
+ return b
+ }
+ switch (*p)[0] {
+ case 1:
+ b = p.appendSingularField(b, "field_presence", nil)
+ case 2:
+ b = p.appendSingularField(b, "enum_type", nil)
+ case 3:
+ b = p.appendSingularField(b, "repeated_field_encoding", nil)
+ case 4:
+ b = p.appendSingularField(b, "utf8_validation", nil)
+ case 5:
+ b = p.appendSingularField(b, "message_encoding", nil)
+ case 6:
+ b = p.appendSingularField(b, "json_format", nil)
+ }
+ return b
+}
+
func (p *SourcePath) appendUninterpretedOption(b []byte) []byte {
if len(*p) == 0 {
return b
@@ -422,6 +453,8 @@ func (p *SourcePath) appendExtensionRangeOptions(b []byte) []byte {
b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
case 2:
b = p.appendRepeatedField(b, "declaration", (*SourcePath).appendExtensionRangeOptions_Declaration)
+ case 50:
+ b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
case 3:
b = p.appendSingularField(b, "verification", nil)
}
@@ -433,6 +466,8 @@ func (p *SourcePath) appendOneofOptions(b []byte) []byte {
return b
}
switch (*p)[0] {
+ case 1:
+ b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
case 999:
b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
}
@@ -446,6 +481,10 @@ func (p *SourcePath) appendEnumValueOptions(b []byte) []byte {
switch (*p)[0] {
case 1:
b = p.appendSingularField(b, "deprecated", nil)
+ case 2:
+ b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
+ case 3:
+ b = p.appendSingularField(b, "debug_redact", nil)
case 999:
b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
}
@@ -461,12 +500,27 @@ func (p *SourcePath) appendMethodOptions(b []byte) []byte {
b = p.appendSingularField(b, "deprecated", nil)
case 34:
b = p.appendSingularField(b, "idempotency_level", nil)
+ case 35:
+ b = p.appendSingularField(b, "features", (*SourcePath).appendFeatureSet)
case 999:
b = p.appendRepeatedField(b, "uninterpreted_option", (*SourcePath).appendUninterpretedOption)
}
return b
}
+func (p *SourcePath) appendFieldOptions_EditionDefault(b []byte) []byte {
+ if len(*p) == 0 {
+ return b
+ }
+ switch (*p)[0] {
+ case 3:
+ b = p.appendSingularField(b, "edition", nil)
+ case 2:
+ b = p.appendSingularField(b, "value", nil)
+ }
+ return b
+}
+
func (p *SourcePath) appendUninterpretedOption_NamePart(b []byte) []byte {
if len(*p) == 0 {
return b
@@ -491,8 +545,6 @@ func (p *SourcePath) appendExtensionRangeOptions_Declaration(b []byte) []byte {
b = p.appendSingularField(b, "full_name", nil)
case 3:
b = p.appendSingularField(b, "type", nil)
- case 4:
- b = p.appendSingularField(b, "is_repeated", nil)
case 5:
b = p.appendSingularField(b, "reserved", nil)
case 6:
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go
index 3867470d..60ff62b4 100644
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go
+++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/type.go
@@ -12,7 +12,7 @@ package protoreflect
// exactly identical. However, it is possible for the same semantically
// identical proto type to be represented by multiple type descriptors.
//
-// For example, suppose we have t1 and t2 which are both MessageDescriptors.
+// For example, suppose we have t1 and t2 which are both an [MessageDescriptor].
// If t1 == t2, then the types are definitely equal and all accessors return
// the same information. However, if t1 != t2, then it is still possible that
// they still represent the same proto type (e.g., t1.FullName == t2.FullName).
@@ -115,7 +115,7 @@ type Descriptor interface {
// corresponds with the google.protobuf.FileDescriptorProto message.
//
// Top-level declarations:
-// EnumDescriptor, MessageDescriptor, FieldDescriptor, and/or ServiceDescriptor.
+// [EnumDescriptor], [MessageDescriptor], [FieldDescriptor], and/or [ServiceDescriptor].
type FileDescriptor interface {
Descriptor // Descriptor.FullName is identical to Package
@@ -180,8 +180,8 @@ type FileImport struct {
// corresponds with the google.protobuf.DescriptorProto message.
//
// Nested declarations:
-// FieldDescriptor, OneofDescriptor, FieldDescriptor, EnumDescriptor,
-// and/or MessageDescriptor.
+// [FieldDescriptor], [OneofDescriptor], [FieldDescriptor], [EnumDescriptor],
+// and/or [MessageDescriptor].
type MessageDescriptor interface {
Descriptor
@@ -214,7 +214,7 @@ type MessageDescriptor interface {
ExtensionRanges() FieldRanges
// ExtensionRangeOptions returns the ith extension range options.
//
- // To avoid a dependency cycle, this method returns a proto.Message value,
+ // To avoid a dependency cycle, this method returns a proto.Message] value,
// which always contains a google.protobuf.ExtensionRangeOptions message.
// This method returns a typed nil-pointer if no options are present.
// The caller must import the descriptorpb package to use this.
@@ -231,9 +231,9 @@ type MessageDescriptor interface {
}
type isMessageDescriptor interface{ ProtoType(MessageDescriptor) }
-// MessageType encapsulates a MessageDescriptor with a concrete Go implementation.
+// MessageType encapsulates a [MessageDescriptor] with a concrete Go implementation.
// It is recommended that implementations of this interface also implement the
-// MessageFieldTypes interface.
+// [MessageFieldTypes] interface.
type MessageType interface {
// New returns a newly allocated empty message.
// It may return nil for synthetic messages representing a map entry.
@@ -249,19 +249,19 @@ type MessageType interface {
Descriptor() MessageDescriptor
}
-// MessageFieldTypes extends a MessageType by providing type information
+// MessageFieldTypes extends a [MessageType] by providing type information
// regarding enums and messages referenced by the message fields.
type MessageFieldTypes interface {
MessageType
- // Enum returns the EnumType for the ith field in Descriptor.Fields.
+ // Enum returns the EnumType for the ith field in MessageDescriptor.Fields.
// It returns nil if the ith field is not an enum kind.
// It panics if out of bounds.
//
// Invariant: mt.Enum(i).Descriptor() == mt.Descriptor().Fields(i).Enum()
Enum(i int) EnumType
- // Message returns the MessageType for the ith field in Descriptor.Fields.
+ // Message returns the MessageType for the ith field in MessageDescriptor.Fields.
// It returns nil if the ith field is not a message or group kind.
// It panics if out of bounds.
//
@@ -286,8 +286,8 @@ type MessageDescriptors interface {
// corresponds with the google.protobuf.FieldDescriptorProto message.
//
// It is used for both normal fields defined within the parent message
-// (e.g., MessageDescriptor.Fields) and fields that extend some remote message
-// (e.g., FileDescriptor.Extensions or MessageDescriptor.Extensions).
+// (e.g., [MessageDescriptor.Fields]) and fields that extend some remote message
+// (e.g., [FileDescriptor.Extensions] or [MessageDescriptor.Extensions]).
type FieldDescriptor interface {
Descriptor
@@ -344,7 +344,7 @@ type FieldDescriptor interface {
// IsMap reports whether this field represents a map,
// where the value type for the associated field is a Map.
// It is equivalent to checking whether Cardinality is Repeated,
- // that the Kind is MessageKind, and that Message.IsMapEntry reports true.
+ // that the Kind is MessageKind, and that MessageDescriptor.IsMapEntry reports true.
IsMap() bool
// MapKey returns the field descriptor for the key in the map entry.
@@ -419,7 +419,7 @@ type OneofDescriptor interface {
// IsSynthetic reports whether this is a synthetic oneof created to support
// proto3 optional semantics. If true, Fields contains exactly one field
- // with HasOptionalKeyword specified.
+ // with FieldDescriptor.HasOptionalKeyword specified.
IsSynthetic() bool
// Fields is a list of fields belonging to this oneof.
@@ -442,10 +442,10 @@ type OneofDescriptors interface {
doNotImplement
}
-// ExtensionDescriptor is an alias of FieldDescriptor for documentation.
+// ExtensionDescriptor is an alias of [FieldDescriptor] for documentation.
type ExtensionDescriptor = FieldDescriptor
-// ExtensionTypeDescriptor is an ExtensionDescriptor with an associated ExtensionType.
+// ExtensionTypeDescriptor is an [ExtensionDescriptor] with an associated [ExtensionType].
type ExtensionTypeDescriptor interface {
ExtensionDescriptor
@@ -470,12 +470,12 @@ type ExtensionDescriptors interface {
doNotImplement
}
-// ExtensionType encapsulates an ExtensionDescriptor with a concrete
+// ExtensionType encapsulates an [ExtensionDescriptor] with a concrete
// Go implementation. The nested field descriptor must be for a extension field.
//
// While a normal field is a member of the parent message that it is declared
-// within (see Descriptor.Parent), an extension field is a member of some other
-// target message (see ExtensionDescriptor.Extendee) and may have no
+// within (see [Descriptor.Parent]), an extension field is a member of some other
+// target message (see [FieldDescriptor.ContainingMessage]) and may have no
// relationship with the parent. However, the full name of an extension field is
// relative to the parent that it is declared within.
//
@@ -532,7 +532,7 @@ type ExtensionType interface {
// corresponds with the google.protobuf.EnumDescriptorProto message.
//
// Nested declarations:
-// EnumValueDescriptor.
+// [EnumValueDescriptor].
type EnumDescriptor interface {
Descriptor
@@ -548,7 +548,7 @@ type EnumDescriptor interface {
}
type isEnumDescriptor interface{ ProtoType(EnumDescriptor) }
-// EnumType encapsulates an EnumDescriptor with a concrete Go implementation.
+// EnumType encapsulates an [EnumDescriptor] with a concrete Go implementation.
type EnumType interface {
// New returns an instance of this enum type with its value set to n.
New(n EnumNumber) Enum
@@ -610,7 +610,7 @@ type EnumValueDescriptors interface {
// ServiceDescriptor describes a service and
// corresponds with the google.protobuf.ServiceDescriptorProto message.
//
-// Nested declarations: MethodDescriptor.
+// Nested declarations: [MethodDescriptor].
type ServiceDescriptor interface {
Descriptor
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go
index 37601b78..a7b0d06f 100644
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go
+++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/value.go
@@ -27,16 +27,16 @@ type Enum interface {
// Message is a reflective interface for a concrete message value,
// encapsulating both type and value information for the message.
//
-// Accessor/mutators for individual fields are keyed by FieldDescriptor.
+// Accessor/mutators for individual fields are keyed by [FieldDescriptor].
// For non-extension fields, the descriptor must exactly match the
// field known by the parent message.
-// For extension fields, the descriptor must implement ExtensionTypeDescriptor,
-// extend the parent message (i.e., have the same message FullName), and
+// For extension fields, the descriptor must implement [ExtensionTypeDescriptor],
+// extend the parent message (i.e., have the same message [FullName]), and
// be within the parent's extension range.
//
-// Each field Value can be a scalar or a composite type (Message, List, or Map).
-// See Value for the Go types associated with a FieldDescriptor.
-// Providing a Value that is invalid or of an incorrect type panics.
+// Each field [Value] can be a scalar or a composite type ([Message], [List], or [Map]).
+// See [Value] for the Go types associated with a [FieldDescriptor].
+// Providing a [Value] that is invalid or of an incorrect type panics.
type Message interface {
// Descriptor returns message descriptor, which contains only the protobuf
// type information for the message.
@@ -152,7 +152,7 @@ type Message interface {
// This method may return nil.
//
// The returned methods type is identical to
- // "google.golang.org/protobuf/runtime/protoiface".Methods.
+ // google.golang.org/protobuf/runtime/protoiface.Methods.
// Consult the protoiface package documentation for details.
ProtoMethods() *methods
}
@@ -175,8 +175,8 @@ func (b RawFields) IsValid() bool {
}
// List is a zero-indexed, ordered list.
-// The element Value type is determined by FieldDescriptor.Kind.
-// Providing a Value that is invalid or of an incorrect type panics.
+// The element [Value] type is determined by [FieldDescriptor.Kind].
+// Providing a [Value] that is invalid or of an incorrect type panics.
type List interface {
// Len reports the number of entries in the List.
// Get, Set, and Truncate panic with out of bound indexes.
@@ -226,9 +226,9 @@ type List interface {
}
// Map is an unordered, associative map.
-// The entry MapKey type is determined by FieldDescriptor.MapKey.Kind.
-// The entry Value type is determined by FieldDescriptor.MapValue.Kind.
-// Providing a MapKey or Value that is invalid or of an incorrect type panics.
+// The entry [MapKey] type is determined by [FieldDescriptor.MapKey].Kind.
+// The entry [Value] type is determined by [FieldDescriptor.MapValue].Kind.
+// Providing a [MapKey] or [Value] that is invalid or of an incorrect type panics.
type Map interface {
// Len reports the number of elements in the map.
Len() int
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go
index 59165254..654599d4 100644
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go
+++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_equal.go
@@ -24,19 +24,19 @@ import (
// Unlike the == operator, a NaN is equal to another NaN.
//
// - Enums are equal if they contain the same number.
-// Since Value does not contain an enum descriptor,
+// Since [Value] does not contain an enum descriptor,
// enum values do not consider the type of the enum.
//
// - Other scalar values are equal if they contain the same value.
//
-// - Message values are equal if they belong to the same message descriptor,
+// - [Message] values are equal if they belong to the same message descriptor,
// have the same set of populated known and extension field values,
// and the same set of unknown fields values.
//
-// - Lists are equal if they are the same length and
+// - [List] values are equal if they are the same length and
// each corresponding element is equal.
//
-// - Maps are equal if they have the same set of keys and
+// - [Map] values are equal if they have the same set of keys and
// the corresponding value for each key is equal.
func (v1 Value) Equal(v2 Value) bool {
return equalValue(v1, v2)
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go
index 08e5ef73..16030973 100644
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go
+++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go
@@ -11,7 +11,7 @@ import (
// Value is a union where only one Go type may be set at a time.
// The Value is used to represent all possible values a field may take.
-// The following shows which Go type is used to represent each proto Kind:
+// The following shows which Go type is used to represent each proto [Kind]:
//
// ╔════════════╤═════════════════════════════════════╗
// ║ Go type │ Protobuf kind ║
@@ -31,22 +31,22 @@ import (
//
// Multiple protobuf Kinds may be represented by a single Go type if the type
// can losslessly represent the information for the proto kind. For example,
-// Int64Kind, Sint64Kind, and Sfixed64Kind are all represented by int64,
+// [Int64Kind], [Sint64Kind], and [Sfixed64Kind] are all represented by int64,
// but use different integer encoding methods.
//
-// The List or Map types are used if the field cardinality is repeated.
-// A field is a List if FieldDescriptor.IsList reports true.
-// A field is a Map if FieldDescriptor.IsMap reports true.
+// The [List] or [Map] types are used if the field cardinality is repeated.
+// A field is a [List] if [FieldDescriptor.IsList] reports true.
+// A field is a [Map] if [FieldDescriptor.IsMap] reports true.
//
// Converting to/from a Value and a concrete Go value panics on type mismatch.
-// For example, ValueOf("hello").Int() panics because this attempts to
+// For example, [ValueOf]("hello").Int() panics because this attempts to
// retrieve an int64 from a string.
//
-// List, Map, and Message Values are called "composite" values.
+// [List], [Map], and [Message] Values are called "composite" values.
//
// A composite Value may alias (reference) memory at some location,
// such that changes to the Value updates the that location.
-// A composite value acquired with a Mutable method, such as Message.Mutable,
+// A composite value acquired with a Mutable method, such as [Message.Mutable],
// always references the source object.
//
// For example:
@@ -65,7 +65,7 @@ import (
// // appending to the List here may or may not modify the message.
// list.Append(protoreflect.ValueOfInt32(0))
//
-// Some operations, such as Message.Get, may return an "empty, read-only"
+// Some operations, such as [Message.Get], may return an "empty, read-only"
// composite Value. Modifying an empty, read-only value panics.
type Value value
@@ -306,7 +306,7 @@ func (v Value) Float() float64 {
}
}
-// String returns v as a string. Since this method implements fmt.Stringer,
+// String returns v as a string. Since this method implements [fmt.Stringer],
// this returns the formatted string value for any non-string type.
func (v Value) String() string {
switch v.typ {
@@ -327,7 +327,7 @@ func (v Value) Bytes() []byte {
}
}
-// Enum returns v as a EnumNumber and panics if the type is not a EnumNumber.
+// Enum returns v as a [EnumNumber] and panics if the type is not a [EnumNumber].
func (v Value) Enum() EnumNumber {
switch v.typ {
case enumType:
@@ -337,7 +337,7 @@ func (v Value) Enum() EnumNumber {
}
}
-// Message returns v as a Message and panics if the type is not a Message.
+// Message returns v as a [Message] and panics if the type is not a [Message].
func (v Value) Message() Message {
switch vi := v.getIface().(type) {
case Message:
@@ -347,7 +347,7 @@ func (v Value) Message() Message {
}
}
-// List returns v as a List and panics if the type is not a List.
+// List returns v as a [List] and panics if the type is not a [List].
func (v Value) List() List {
switch vi := v.getIface().(type) {
case List:
@@ -357,7 +357,7 @@ func (v Value) List() List {
}
}
-// Map returns v as a Map and panics if the type is not a Map.
+// Map returns v as a [Map] and panics if the type is not a [Map].
func (v Value) Map() Map {
switch vi := v.getIface().(type) {
case Map:
@@ -367,7 +367,7 @@ func (v Value) Map() Map {
}
}
-// MapKey returns v as a MapKey and panics for invalid MapKey types.
+// MapKey returns v as a [MapKey] and panics for invalid [MapKey] types.
func (v Value) MapKey() MapKey {
switch v.typ {
case boolType, int32Type, int64Type, uint32Type, uint64Type, stringType:
@@ -378,8 +378,8 @@ func (v Value) MapKey() MapKey {
}
// MapKey is used to index maps, where the Go type of the MapKey must match
-// the specified key Kind (see MessageDescriptor.IsMapEntry).
-// The following shows what Go type is used to represent each proto Kind:
+// the specified key [Kind] (see [MessageDescriptor.IsMapEntry]).
+// The following shows what Go type is used to represent each proto [Kind]:
//
// ╔═════════╤═════════════════════════════════════╗
// ║ Go type │ Protobuf kind ║
@@ -392,13 +392,13 @@ func (v Value) MapKey() MapKey {
// ║ string │ StringKind ║
// ╚═════════╧═════════════════════════════════════╝
//
-// A MapKey is constructed and accessed through a Value:
+// A MapKey is constructed and accessed through a [Value]:
//
// k := ValueOf("hash").MapKey() // convert string to MapKey
// s := k.String() // convert MapKey to string
//
-// The MapKey is a strict subset of valid types used in Value;
-// converting a Value to a MapKey with an invalid type panics.
+// The MapKey is a strict subset of valid types used in [Value];
+// converting a [Value] to a MapKey with an invalid type panics.
type MapKey value
// IsValid reports whether k is populated with a value.
@@ -426,13 +426,13 @@ func (k MapKey) Uint() uint64 {
return Value(k).Uint()
}
-// String returns k as a string. Since this method implements fmt.Stringer,
+// String returns k as a string. Since this method implements [fmt.Stringer],
// this returns the formatted string value for any non-string type.
func (k MapKey) String() string {
return Value(k).String()
}
-// Value returns k as a Value.
+// Value returns k as a [Value].
func (k MapKey) Value() Value {
return Value(k)
}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go120.go
similarity index 97%
rename from vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go
rename to vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go120.go
index 702ddf22..b1fdbe3e 100644
--- a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe.go
+++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go120.go
@@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
-//go:build !purego && !appengine
-// +build !purego,!appengine
+//go:build !purego && !appengine && !go1.21
+// +build !purego,!appengine,!go1.21
package protoreflect
diff --git a/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go121.go b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go121.go
new file mode 100644
index 00000000..43547011
--- /dev/null
+++ b/vendor/google.golang.org/protobuf/reflect/protoreflect/value_unsafe_go121.go
@@ -0,0 +1,87 @@
+// 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 !purego && !appengine && go1.21
+// +build !purego,!appengine,go1.21
+
+package protoreflect
+
+import (
+ "unsafe"
+
+ "google.golang.org/protobuf/internal/pragma"
+)
+
+type (
+ ifaceHeader struct {
+ _ [0]interface{} // if interfaces have greater alignment than unsafe.Pointer, this will enforce it.
+ Type unsafe.Pointer
+ Data unsafe.Pointer
+ }
+)
+
+var (
+ nilType = typeOf(nil)
+ boolType = typeOf(*new(bool))
+ int32Type = typeOf(*new(int32))
+ int64Type = typeOf(*new(int64))
+ uint32Type = typeOf(*new(uint32))
+ uint64Type = typeOf(*new(uint64))
+ float32Type = typeOf(*new(float32))
+ float64Type = typeOf(*new(float64))
+ stringType = typeOf(*new(string))
+ bytesType = typeOf(*new([]byte))
+ enumType = typeOf(*new(EnumNumber))
+)
+
+// typeOf returns a pointer to the Go type information.
+// The pointer is comparable and equal if and only if the types are identical.
+func typeOf(t interface{}) unsafe.Pointer {
+ return (*ifaceHeader)(unsafe.Pointer(&t)).Type
+}
+
+// value is a union where only one type can be represented at a time.
+// The struct is 24B large on 64-bit systems and requires the minimum storage
+// necessary to represent each possible type.
+//
+// The Go GC needs to be able to scan variables containing pointers.
+// As such, pointers and non-pointers cannot be intermixed.
+type value struct {
+ pragma.DoNotCompare // 0B
+
+ // typ stores the type of the value as a pointer to the Go type.
+ typ unsafe.Pointer // 8B
+
+ // ptr stores the data pointer for a String, Bytes, or interface value.
+ ptr unsafe.Pointer // 8B
+
+ // num stores a Bool, Int32, Int64, Uint32, Uint64, Float32, Float64, or
+ // Enum value as a raw uint64.
+ //
+ // It is also used to store the length of a String or Bytes value;
+ // the capacity is ignored.
+ num uint64 // 8B
+}
+
+func valueOfString(v string) Value {
+ return Value{typ: stringType, ptr: unsafe.Pointer(unsafe.StringData(v)), num: uint64(len(v))}
+}
+func valueOfBytes(v []byte) Value {
+ return Value{typ: bytesType, ptr: unsafe.Pointer(unsafe.SliceData(v)), num: uint64(len(v))}
+}
+func valueOfIface(v interface{}) Value {
+ p := (*ifaceHeader)(unsafe.Pointer(&v))
+ return Value{typ: p.Type, ptr: p.Data}
+}
+
+func (v Value) getString() string {
+ return unsafe.String((*byte)(v.ptr), v.num)
+}
+func (v Value) getBytes() []byte {
+ return unsafe.Slice((*byte)(v.ptr), v.num)
+}
+func (v Value) getIface() (x interface{}) {
+ *(*ifaceHeader)(unsafe.Pointer(&x)) = ifaceHeader{Type: v.typ, Data: v.ptr}
+ return x
+}
diff --git a/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go b/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go
index aeb55977..6267dc52 100644
--- a/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go
+++ b/vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go
@@ -5,12 +5,12 @@
// Package protoregistry provides data structures to register and lookup
// protobuf descriptor types.
//
-// The Files registry contains file descriptors and provides the ability
+// The [Files] registry contains file descriptors and provides the ability
// to iterate over the files or lookup a specific descriptor within the files.
-// Files only contains protobuf descriptors and has no understanding of Go
+// [Files] only contains protobuf descriptors and has no understanding of Go
// type information that may be associated with each descriptor.
//
-// The Types registry contains descriptor types for which there is a known
+// The [Types] registry contains descriptor types for which there is a known
// Go type associated with that descriptor. It provides the ability to iterate
// over the registered types or lookup a type by name.
package protoregistry
@@ -218,7 +218,7 @@ func (r *Files) checkGenProtoConflict(path string) {
// FindDescriptorByName looks up a descriptor by the full name.
//
-// This returns (nil, NotFound) if not found.
+// This returns (nil, [NotFound]) if not found.
func (r *Files) FindDescriptorByName(name protoreflect.FullName) (protoreflect.Descriptor, error) {
if r == nil {
return nil, NotFound
@@ -310,7 +310,7 @@ func (s *nameSuffix) Pop() (name protoreflect.Name) {
// FindFileByPath looks up a file by the path.
//
-// This returns (nil, NotFound) if not found.
+// This returns (nil, [NotFound]) if not found.
// This returns an error if multiple files have the same path.
func (r *Files) FindFileByPath(path string) (protoreflect.FileDescriptor, error) {
if r == nil {
@@ -431,7 +431,7 @@ func rangeTopLevelDescriptors(fd protoreflect.FileDescriptor, f func(protoreflec
// A compliant implementation must deterministically return the same type
// if no error is encountered.
//
-// The Types type implements this interface.
+// The [Types] type implements this interface.
type MessageTypeResolver interface {
// FindMessageByName looks up a message by its full name.
// E.g., "google.protobuf.Any"
@@ -451,7 +451,7 @@ type MessageTypeResolver interface {
// A compliant implementation must deterministically return the same type
// if no error is encountered.
//
-// The Types type implements this interface.
+// The [Types] type implements this interface.
type ExtensionTypeResolver interface {
// FindExtensionByName looks up a extension field by the field's full name.
// Note that this is the full name of the field as determined by
@@ -590,7 +590,7 @@ func (r *Types) register(kind string, desc protoreflect.Descriptor, typ interfac
// FindEnumByName looks up an enum by its full name.
// E.g., "google.protobuf.Field.Kind".
//
-// This returns (nil, NotFound) if not found.
+// This returns (nil, [NotFound]) if not found.
func (r *Types) FindEnumByName(enum protoreflect.FullName) (protoreflect.EnumType, error) {
if r == nil {
return nil, NotFound
@@ -611,7 +611,7 @@ func (r *Types) FindEnumByName(enum protoreflect.FullName) (protoreflect.EnumTyp
// FindMessageByName looks up a message by its full name,
// e.g. "google.protobuf.Any".
//
-// This returns (nil, NotFound) if not found.
+// This returns (nil, [NotFound]) if not found.
func (r *Types) FindMessageByName(message protoreflect.FullName) (protoreflect.MessageType, error) {
if r == nil {
return nil, NotFound
@@ -632,7 +632,7 @@ func (r *Types) FindMessageByName(message protoreflect.FullName) (protoreflect.M
// FindMessageByURL looks up a message by a URL identifier.
// See documentation on google.protobuf.Any.type_url for the URL format.
//
-// This returns (nil, NotFound) if not found.
+// This returns (nil, [NotFound]) if not found.
func (r *Types) FindMessageByURL(url string) (protoreflect.MessageType, error) {
// This function is similar to FindMessageByName but
// truncates anything before and including '/' in the URL.
@@ -662,7 +662,7 @@ func (r *Types) FindMessageByURL(url string) (protoreflect.MessageType, error) {
// where the extension is declared and is unrelated to the full name of the
// message being extended.
//
-// This returns (nil, NotFound) if not found.
+// This returns (nil, [NotFound]) if not found.
func (r *Types) FindExtensionByName(field protoreflect.FullName) (protoreflect.ExtensionType, error) {
if r == nil {
return nil, NotFound
@@ -703,7 +703,7 @@ func (r *Types) FindExtensionByName(field protoreflect.FullName) (protoreflect.E
// FindExtensionByNumber looks up a extension field by the field number
// within some parent message, identified by full name.
//
-// This returns (nil, NotFound) if not found.
+// This returns (nil, [NotFound]) if not found.
func (r *Types) FindExtensionByNumber(message protoreflect.FullName, field protoreflect.FieldNumber) (protoreflect.ExtensionType, error) {
if r == nil {
return nil, NotFound
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 708de1b1..3b06ad83 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -1,17 +1,17 @@
-# github.com/99designs/gqlgen v0.17.40
+# github.com/99designs/gqlgen v0.17.42
## explicit; go 1.18
github.com/99designs/gqlgen/graphql
-# github.com/Yamashou/gqlgenc v0.15.1
+# github.com/Yamashou/gqlgenc v0.16.2
## explicit; go 1.19
github.com/Yamashou/gqlgenc/clientv2
github.com/Yamashou/gqlgenc/graphqljson
-# github.com/aws/aws-sdk-go-v2 v1.22.1
+# github.com/aws/aws-sdk-go-v2 v1.24.1
## explicit; go 1.19
-github.com/aws/aws-sdk-go-v2
github.com/aws/aws-sdk-go-v2/aws
github.com/aws/aws-sdk-go-v2/aws/arn
github.com/aws/aws-sdk-go-v2/aws/defaults
github.com/aws/aws-sdk-go-v2/aws/middleware
+github.com/aws/aws-sdk-go-v2/aws/middleware/private/metrics
github.com/aws/aws-sdk-go-v2/aws/protocol/query
github.com/aws/aws-sdk-go-v2/aws/protocol/restjson
github.com/aws/aws-sdk-go-v2/aws/protocol/xml
@@ -21,6 +21,9 @@ github.com/aws/aws-sdk-go-v2/aws/signer/internal/v4
github.com/aws/aws-sdk-go-v2/aws/signer/v4
github.com/aws/aws-sdk-go-v2/aws/transport/http
github.com/aws/aws-sdk-go-v2/internal/auth
+github.com/aws/aws-sdk-go-v2/internal/auth/smithy
+github.com/aws/aws-sdk-go-v2/internal/context
+github.com/aws/aws-sdk-go-v2/internal/endpoints
github.com/aws/aws-sdk-go-v2/internal/endpoints/awsrulesfn
github.com/aws/aws-sdk-go-v2/internal/rand
github.com/aws/aws-sdk-go-v2/internal/sdk
@@ -29,14 +32,14 @@ github.com/aws/aws-sdk-go-v2/internal/shareddefaults
github.com/aws/aws-sdk-go-v2/internal/strings
github.com/aws/aws-sdk-go-v2/internal/sync/singleflight
github.com/aws/aws-sdk-go-v2/internal/timeconv
-# github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.0
+# github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.5.4
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi
-# github.com/aws/aws-sdk-go-v2/config v1.22.2
+# github.com/aws/aws-sdk-go-v2/config v1.26.3
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/config
-# github.com/aws/aws-sdk-go-v2/credentials v1.15.1
+# github.com/aws/aws-sdk-go-v2/credentials v1.16.14
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/credentials
github.com/aws/aws-sdk-go-v2/credentials/ec2rolecreds
@@ -45,64 +48,67 @@ github.com/aws/aws-sdk-go-v2/credentials/endpointcreds/internal/client
github.com/aws/aws-sdk-go-v2/credentials/processcreds
github.com/aws/aws-sdk-go-v2/credentials/ssocreds
github.com/aws/aws-sdk-go-v2/credentials/stscreds
-# github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.2
+# github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.14.11
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/feature/ec2/imds
github.com/aws/aws-sdk-go-v2/feature/ec2/imds/internal/config
-# github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.1
+# github.com/aws/aws-sdk-go-v2/internal/configsources v1.2.10
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/internal/configsources
-# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.1
+# github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.5.10
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/internal/endpoints/v2
-# github.com/aws/aws-sdk-go-v2/internal/ini v1.5.1
+# github.com/aws/aws-sdk-go-v2/internal/ini v1.7.2
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/internal/ini
-# github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.1
+# github.com/aws/aws-sdk-go-v2/internal/v4a v1.2.10
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/internal/v4a
github.com/aws/aws-sdk-go-v2/internal/v4a/internal/crypto
github.com/aws/aws-sdk-go-v2/internal/v4a/internal/v4
-# github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.0
+# github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.10.4
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding
-# github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.1
+# github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.2.10
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/service/internal/checksum
-# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.1
+# github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.10.10
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/service/internal/presigned-url
-# github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.1
+# github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.16.10
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/service/internal/s3shared
github.com/aws/aws-sdk-go-v2/service/internal/s3shared/arn
github.com/aws/aws-sdk-go-v2/service/internal/s3shared/config
-# github.com/aws/aws-sdk-go-v2/service/s3 v1.42.0
+# github.com/aws/aws-sdk-go-v2/service/s3 v1.48.0
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/service/s3
github.com/aws/aws-sdk-go-v2/service/s3/internal/arn
github.com/aws/aws-sdk-go-v2/service/s3/internal/customizations
github.com/aws/aws-sdk-go-v2/service/s3/internal/endpoints
github.com/aws/aws-sdk-go-v2/service/s3/types
-# github.com/aws/aws-sdk-go-v2/service/sso v1.17.0
+# github.com/aws/aws-sdk-go-v2/service/sso v1.18.6
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/service/sso
github.com/aws/aws-sdk-go-v2/service/sso/internal/endpoints
github.com/aws/aws-sdk-go-v2/service/sso/types
-# github.com/aws/aws-sdk-go-v2/service/ssooidc v1.19.0
+# github.com/aws/aws-sdk-go-v2/service/ssooidc v1.21.6
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/service/ssooidc
github.com/aws/aws-sdk-go-v2/service/ssooidc/internal/endpoints
github.com/aws/aws-sdk-go-v2/service/ssooidc/types
-# github.com/aws/aws-sdk-go-v2/service/sts v1.25.0
+# github.com/aws/aws-sdk-go-v2/service/sts v1.26.7
## explicit; go 1.19
github.com/aws/aws-sdk-go-v2/service/sts
github.com/aws/aws-sdk-go-v2/service/sts/internal/endpoints
github.com/aws/aws-sdk-go-v2/service/sts/types
-# github.com/aws/smithy-go v1.16.0
+# github.com/aws/smithy-go v1.19.0
## explicit; go 1.19
github.com/aws/smithy-go
+github.com/aws/smithy-go/auth
github.com/aws/smithy-go/auth/bearer
+github.com/aws/smithy-go/container/private/cache
+github.com/aws/smithy-go/container/private/cache/lru
github.com/aws/smithy-go/context
github.com/aws/smithy-go/document
github.com/aws/smithy-go/encoding
@@ -115,6 +121,7 @@ github.com/aws/smithy-go/internal/sync/singleflight
github.com/aws/smithy-go/io
github.com/aws/smithy-go/logging
github.com/aws/smithy-go/middleware
+github.com/aws/smithy-go/private/requestcompression
github.com/aws/smithy-go/ptr
github.com/aws/smithy-go/rand
github.com/aws/smithy-go/sync
@@ -148,7 +155,7 @@ github.com/bytedance/sonic/utf8
# github.com/chenzhuoyu/base64x v0.0.0-20230717121745-296ad89f973d
## explicit; go 1.16
github.com/chenzhuoyu/base64x
-# github.com/chenzhuoyu/iasm v0.9.0
+# github.com/chenzhuoyu/iasm v0.9.1
## explicit; go 1.16
github.com/chenzhuoyu/iasm/expr
github.com/chenzhuoyu/iasm/x86_64
@@ -161,8 +168,8 @@ github.com/gabriel-vasile/mimetype
github.com/gabriel-vasile/mimetype/internal/charset
github.com/gabriel-vasile/mimetype/internal/json
github.com/gabriel-vasile/mimetype/internal/magic
-# github.com/gin-contrib/cors v1.4.0
-## explicit; go 1.13
+# github.com/gin-contrib/cors v1.5.0
+## explicit; go 1.18
github.com/gin-contrib/cors
# github.com/gin-contrib/sse v0.1.0
## explicit; go 1.12
@@ -181,7 +188,7 @@ github.com/go-playground/locales/currency
# github.com/go-playground/universal-translator v0.18.1
## explicit; go 1.18
github.com/go-playground/universal-translator
-# github.com/go-playground/validator/v10 v10.15.5
+# github.com/go-playground/validator/v10 v10.16.0
## explicit; go 1.18
github.com/go-playground/validator/v10
# github.com/goccy/go-json v0.10.2
@@ -195,10 +202,10 @@ github.com/goccy/go-json/internal/encoder/vm_color_indent
github.com/goccy/go-json/internal/encoder/vm_indent
github.com/goccy/go-json/internal/errors
github.com/goccy/go-json/internal/runtime
-# github.com/golang-jwt/jwt/v5 v5.0.0
+# github.com/golang-jwt/jwt/v5 v5.2.0
## explicit; go 1.18
github.com/golang-jwt/jwt/v5
-# github.com/golang-migrate/migrate/v4 v4.16.2
+# github.com/golang-migrate/migrate/v4 v4.17.0
## explicit; go 1.18
github.com/golang-migrate/migrate/v4
github.com/golang-migrate/migrate/v4/database
@@ -207,9 +214,6 @@ github.com/golang-migrate/migrate/v4/database/postgres
github.com/golang-migrate/migrate/v4/internal/url
github.com/golang-migrate/migrate/v4/source
github.com/golang-migrate/migrate/v4/source/iofs
-# github.com/golang/mock v1.6.0
-## explicit; go 1.11
-github.com/golang/mock/gomock
# github.com/google/go-cmp v0.6.0
## explicit; go 1.13
github.com/google/go-cmp/cmp
@@ -218,7 +222,7 @@ github.com/google/go-cmp/cmp/internal/diff
github.com/google/go-cmp/cmp/internal/flags
github.com/google/go-cmp/cmp/internal/function
github.com/google/go-cmp/cmp/internal/value
-# github.com/google/uuid v1.3.1
+# github.com/google/uuid v1.5.0
## explicit
github.com/google/uuid
# github.com/hashicorp/errwrap v1.1.0
@@ -245,7 +249,7 @@ github.com/inconshreveable/mousetrap
# github.com/json-iterator/go v1.1.12
## explicit; go 1.12
github.com/json-iterator/go
-# github.com/klauspost/cpuid/v2 v2.2.5
+# github.com/klauspost/cpuid/v2 v2.2.6
## explicit; go 1.15
github.com/klauspost/cpuid/v2
# github.com/leodido/go-urn v1.2.4
@@ -273,14 +277,14 @@ github.com/modern-go/concurrent
github.com/modern-go/reflect2
# github.com/opencontainers/image-spec v1.1.0-rc2
## explicit; go 1.17
-# github.com/pelletier/go-toml/v2 v2.1.0
+# github.com/pelletier/go-toml/v2 v2.1.1
## explicit; go 1.16
github.com/pelletier/go-toml/v2
github.com/pelletier/go-toml/v2/internal/characters
github.com/pelletier/go-toml/v2/internal/danger
github.com/pelletier/go-toml/v2/internal/tracker
github.com/pelletier/go-toml/v2/unstable
-# github.com/sagikazarmark/locafero v0.3.0
+# github.com/sagikazarmark/locafero v0.4.0
## explicit; go 1.20
github.com/sagikazarmark/locafero
# github.com/sagikazarmark/slog-shim v0.1.0
@@ -298,21 +302,21 @@ github.com/sourcegraph/conc
github.com/sourcegraph/conc/internal/multierror
github.com/sourcegraph/conc/iter
github.com/sourcegraph/conc/panics
-# github.com/spf13/afero v1.10.0
-## explicit; go 1.16
+# github.com/spf13/afero v1.11.0
+## explicit; go 1.19
github.com/spf13/afero
github.com/spf13/afero/internal/common
github.com/spf13/afero/mem
-# github.com/spf13/cast v1.5.1
-## explicit; go 1.18
+# github.com/spf13/cast v1.6.0
+## explicit; go 1.19
github.com/spf13/cast
-# github.com/spf13/cobra v1.7.0
+# github.com/spf13/cobra v1.8.0
## explicit; go 1.15
github.com/spf13/cobra
# github.com/spf13/pflag v1.0.5
## explicit; go 1.12
github.com/spf13/pflag
-# github.com/spf13/viper v1.17.0
+# github.com/spf13/viper v1.18.2
## explicit; go 1.18
github.com/spf13/viper
github.com/spf13/viper/internal/encoding
@@ -323,6 +327,7 @@ github.com/spf13/viper/internal/encoding/javaproperties
github.com/spf13/viper/internal/encoding/json
github.com/spf13/viper/internal/encoding/toml
github.com/spf13/viper/internal/encoding/yaml
+github.com/spf13/viper/internal/features
# github.com/subosito/gotenv v1.6.0
## explicit; go 1.18
github.com/subosito/gotenv
@@ -345,7 +350,7 @@ github.com/twitchyliquid64/golang-asm/objabi
github.com/twitchyliquid64/golang-asm/src
github.com/twitchyliquid64/golang-asm/sys
github.com/twitchyliquid64/golang-asm/unsafeheader
-# github.com/ugorji/go/codec v1.2.11
+# github.com/ugorji/go/codec v1.2.12
## explicit; go 1.11
github.com/ugorji/go/codec
# github.com/vektah/gqlparser/v2 v2.5.10
@@ -355,24 +360,27 @@ github.com/vektah/gqlparser/v2/gqlerror
# go.uber.org/atomic v1.11.0
## explicit; go 1.18
go.uber.org/atomic
+# go.uber.org/mock v0.4.0
+## explicit; go 1.20
+go.uber.org/mock/gomock
# go.uber.org/multierr v1.11.0
## explicit; go 1.19
go.uber.org/multierr
-# golang.org/x/arch v0.5.0
-## explicit; go 1.17
+# golang.org/x/arch v0.7.0
+## explicit; go 1.18
golang.org/x/arch/x86/x86asm
-# golang.org/x/crypto v0.14.0
-## explicit; go 1.17
+# golang.org/x/crypto v0.18.0
+## explicit; go 1.18
golang.org/x/crypto/sha3
-# golang.org/x/exp v0.0.0-20231006140011-7918f672742d
+# golang.org/x/exp v0.0.0-20240110193028-0dcbfd608b1e
## explicit; go 1.20
golang.org/x/exp/constraints
golang.org/x/exp/slices
golang.org/x/exp/slog
golang.org/x/exp/slog/internal
golang.org/x/exp/slog/internal/buffer
-# golang.org/x/net v0.17.0
-## explicit; go 1.17
+# golang.org/x/net v0.20.0
+## explicit; go 1.18
golang.org/x/net/context
golang.org/x/net/html
golang.org/x/net/html/atom
@@ -381,13 +389,13 @@ golang.org/x/net/http2
golang.org/x/net/http2/h2c
golang.org/x/net/http2/hpack
golang.org/x/net/idna
-# golang.org/x/sys v0.13.0
-## explicit; go 1.17
+# golang.org/x/sys v0.16.0
+## explicit; go 1.18
golang.org/x/sys/cpu
golang.org/x/sys/unix
golang.org/x/sys/windows
-# golang.org/x/text v0.13.0
-## explicit; go 1.17
+# golang.org/x/text v0.14.0
+## explicit; go 1.18
golang.org/x/text/encoding
golang.org/x/text/encoding/internal
golang.org/x/text/encoding/internal/identifier
@@ -402,8 +410,8 @@ golang.org/x/text/secure/bidirule
golang.org/x/text/transform
golang.org/x/text/unicode/bidi
golang.org/x/text/unicode/norm
-# google.golang.org/protobuf v1.31.0
-## explicit; go 1.11
+# google.golang.org/protobuf v1.32.0
+## explicit; go 1.17
google.golang.org/protobuf/encoding/protowire
google.golang.org/protobuf/internal/detrand
google.golang.org/protobuf/internal/encoding/messageset