chore(aws): upgrade aws dependencies

This commit is contained in:
2021-11-24 19:10:52 +01:00
parent 165108d1c3
commit b13ff06b36
229 changed files with 13263 additions and 1613 deletions

View File

@@ -1,3 +1,25 @@
# v1.19.0 (2021-11-12)
* **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.
# v1.18.0 (2021-11-06)
* **Feature**: Support has been added for the SelectObjectContent API.
* **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
* **Feature**: Updated service to latest API model.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.17.0 (2021-10-21)
* **Feature**: Updated to latest version
* **Feature**: Updates S3 streaming operations - PutObject, UploadPart, WriteGetObjectResponse to use unsigned payload signing auth when TLS is enabled.
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.1 (2021-10-11)
* **Dependency Update**: Updated to the latest SDK module versions
# v1.16.0 (2021-09-17)
* **Feature**: Updated API client and endpoints to latest revision.

View File

@@ -10,6 +10,7 @@ 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"
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"
"github.com/aws/aws-sdk-go-v2/service/internal/s3shared"
@@ -110,7 +111,11 @@ type Options struct {
// DNS compatible to work with accelerate.
UseAccelerate bool
// Allows you to enable Dualstack endpoint support for the service.
// 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.,
@@ -161,6 +166,10 @@ func (c *Client) invokeOperation(ctx context.Context, opID string, params interf
fn(&options)
}
setSafeEventStreamClientLogMode(&options, opID)
finalizeClientEndpointResolverOptions(&options)
resolveCredentialProvider(&options)
for _, fn := range stackFns {
@@ -213,6 +222,8 @@ func NewFromConfig(cfg aws.Config, optFns ...func(*Options)) *Client {
resolveAWSRetryerProvider(cfg, &opts)
resolveAWSEndpointResolver(cfg, &opts)
resolveUseARNRegion(cfg, &opts)
resolveUseDualStackEndpoint(cfg, &opts)
resolveUseFIPSEndpoint(cfg, &opts)
return New(opts, optFns...)
}
@@ -241,7 +252,7 @@ func resolveAWSEndpointResolver(cfg aws.Config, o *Options) {
if cfg.EndpointResolver == nil {
return
}
o.EndpointResolver = withEndpointResolver(cfg.EndpointResolver, NewDefaultEndpointResolver())
o.EndpointResolver = withEndpointResolver(cfg.EndpointResolver, cfg.EndpointResolverWithOptions, NewDefaultEndpointResolver())
}
func addClientUserAgent(stack *middleware.Stack) error {
@@ -299,6 +310,36 @@ func resolveUseARNRegion(cfg aws.Config, o *Options) error {
return nil
}
// resolves dual-stack endpoint configuration
func resolveUseDualStackEndpoint(cfg aws.Config, o *Options) error {
if len(cfg.ConfigSources) == 0 {
return nil
}
value, found, err := internalConfig.ResolveUseDualStackEndpoint(context.Background(), cfg.ConfigSources)
if err != nil {
return err
}
if found {
o.EndpointOptions.UseDualStackEndpoint = value
}
return nil
}
// resolves FIPS endpoint configuration
func resolveUseFIPSEndpoint(cfg aws.Config, o *Options) error {
if len(cfg.ConfigSources) == 0 {
return nil
}
value, found, err := internalConfig.ResolveUseFIPSEndpoint(context.Background(), cfg.ConfigSources)
if err != nil {
return err
}
if found {
o.EndpointOptions.UseFIPSEndpoint = value
}
return nil
}
func resolveCredentialProvider(o *Options) {
if o.Credentials == nil {
return

View File

@@ -225,7 +225,6 @@ func addAbortMultipartUploadUpdateEndpoint(stack *middleware.Stack, options Opti
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -338,7 +338,6 @@ func addCompleteMultipartUploadUpdateEndpoint(stack *middleware.Stack, options O
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -547,7 +547,6 @@ func addCopyObjectUpdateEndpoint(stack *middleware.Stack, options Options) error
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -281,7 +281,6 @@ func addCreateBucketUpdateEndpoint(stack *middleware.Stack, options Options) err
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -588,7 +588,6 @@ func addCreateMultipartUploadUpdateEndpoint(stack *middleware.Stack, options Opt
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -162,7 +162,6 @@ func addDeleteBucketUpdateEndpoint(stack *middleware.Stack, options Options) err
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -182,7 +182,6 @@ func addDeleteBucketAnalyticsConfigurationUpdateEndpoint(stack *middleware.Stack
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -165,7 +165,6 @@ func addDeleteBucketCorsUpdateEndpoint(stack *middleware.Stack, options Options)
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -173,7 +173,6 @@ func addDeleteBucketEncryptionUpdateEndpoint(stack *middleware.Stack, options Op
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -182,7 +182,6 @@ func addDeleteBucketIntelligentTieringConfigurationUpdateEndpoint(stack *middlew
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -181,7 +181,6 @@ func addDeleteBucketInventoryConfigurationUpdateEndpoint(stack *middleware.Stack
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -171,7 +171,6 @@ func addDeleteBucketLifecycleUpdateEndpoint(stack *middleware.Stack, options Opt
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -187,7 +187,6 @@ func addDeleteBucketMetricsConfigurationUpdateEndpoint(stack *middleware.Stack,
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -164,7 +164,6 @@ func addDeleteBucketOwnershipControlsUpdateEndpoint(stack *middleware.Stack, opt
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -174,7 +174,6 @@ func addDeleteBucketPolicyUpdateEndpoint(stack *middleware.Stack, options Option
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -172,7 +172,6 @@ func addDeleteBucketReplicationUpdateEndpoint(stack *middleware.Stack, options O
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -163,7 +163,6 @@ func addDeleteBucketTaggingUpdateEndpoint(stack *middleware.Stack, options Optio
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -172,7 +172,6 @@ func addDeleteBucketWebsiteUpdateEndpoint(stack *middleware.Stack, options Optio
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -232,7 +232,6 @@ func addDeleteObjectUpdateEndpoint(stack *middleware.Stack, options Options) err
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -195,7 +195,6 @@ func addDeleteObjectTaggingUpdateEndpoint(stack *middleware.Stack, options Optio
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -193,6 +193,9 @@ func (c *Client) addOperationDeleteObjectsMiddlewares(stack *middleware.Stack, o
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpDeleteObjectsValidationMiddleware(stack); err != nil {
return err
}
@@ -217,9 +220,6 @@ func (c *Client) addOperationDeleteObjectsMiddlewares(stack *middleware.Stack, o
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -253,7 +253,6 @@ func addDeleteObjectsUpdateEndpoint(stack *middleware.Stack, options Options) er
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -176,7 +176,6 @@ func addDeletePublicAccessBlockUpdateEndpoint(stack *middleware.Stack, options O
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -181,7 +181,6 @@ func addGetBucketAccelerateConfigurationUpdateEndpoint(stack *middleware.Stack,
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -168,7 +168,6 @@ func addGetBucketAclUpdateEndpoint(stack *middleware.Stack, options Options) err
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -187,7 +187,6 @@ func addGetBucketAnalyticsConfigurationUpdateEndpoint(stack *middleware.Stack, o
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -171,7 +171,6 @@ func addGetBucketCorsUpdateEndpoint(stack *middleware.Stack, options Options) er
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -181,7 +181,6 @@ func addGetBucketEncryptionUpdateEndpoint(stack *middleware.Stack, options Optio
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -187,7 +187,6 @@ func addGetBucketIntelligentTieringConfigurationUpdateEndpoint(stack *middleware
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -185,7 +185,6 @@ func addGetBucketInventoryConfigurationUpdateEndpoint(stack *middleware.Stack, o
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -202,7 +202,6 @@ func addGetBucketLifecycleConfigurationUpdateEndpoint(stack *middleware.Stack, o
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -241,7 +241,6 @@ func addGetBucketLocationUpdateEndpoint(stack *middleware.Stack, options Options
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -170,7 +170,6 @@ func addGetBucketLoggingUpdateEndpoint(stack *middleware.Stack, options Options)
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -192,7 +192,6 @@ func addGetBucketMetricsConfigurationUpdateEndpoint(stack *middleware.Stack, opt
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -183,7 +183,6 @@ func addGetBucketNotificationConfigurationUpdateEndpoint(stack *middleware.Stack
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -170,7 +170,6 @@ func addGetBucketOwnershipControlsUpdateEndpoint(stack *middleware.Stack, option
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -173,7 +173,6 @@ func addGetBucketPolicyUpdateEndpoint(stack *middleware.Stack, options Options)
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -182,7 +182,6 @@ func addGetBucketPolicyStatusUpdateEndpoint(stack *middleware.Stack, options Opt
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -181,7 +181,6 @@ func addGetBucketReplicationUpdateEndpoint(stack *middleware.Stack, options Opti
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -165,7 +165,6 @@ func addGetBucketRequestPaymentUpdateEndpoint(stack *middleware.Stack, options O
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -179,7 +179,6 @@ func addGetBucketTaggingUpdateEndpoint(stack *middleware.Stack, options Options)
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -179,7 +179,6 @@ func addGetBucketVersioningUpdateEndpoint(stack *middleware.Stack, options Optio
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -183,7 +183,6 @@ func addGetBucketWebsiteUpdateEndpoint(stack *middleware.Stack, options Options)
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -496,7 +496,6 @@ func addGetObjectUpdateEndpoint(stack *middleware.Stack, options Options) error
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -204,7 +204,6 @@ func addGetObjectAclUpdateEndpoint(stack *middleware.Stack, options Options) err
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -184,7 +184,6 @@ func addGetObjectLegalHoldUpdateEndpoint(stack *middleware.Stack, options Option
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -169,7 +169,6 @@ func addGetObjectLockConfigurationUpdateEndpoint(stack *middleware.Stack, option
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -184,7 +184,6 @@ func addGetObjectRetentionUpdateEndpoint(stack *middleware.Stack, options Option
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -212,7 +212,6 @@ func addGetObjectTaggingUpdateEndpoint(stack *middleware.Stack, options Options)
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -184,7 +184,6 @@ func addGetObjectTorrentUpdateEndpoint(stack *middleware.Stack, options Options)
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -189,7 +189,6 @@ func addGetPublicAccessBlockUpdateEndpoint(stack *middleware.Stack, options Opti
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -230,8 +230,16 @@ func NewBucketExistsWaiter(client HeadBucketAPIClient, optFns ...func(*BucketExi
// maximum wait duration the waiter will wait. The maxWaitDur is required and must
// be greater than zero.
func (w *BucketExistsWaiter) Wait(ctx context.Context, params *HeadBucketInput, maxWaitDur time.Duration, optFns ...func(*BucketExistsWaiterOptions)) error {
_, err := w.WaitForOutput(ctx, params, maxWaitDur, optFns...)
return err
}
// WaitForOutput calls the waiter function for BucketExists waiter and returns the
// output of the successful operation. The maxWaitDur is the maximum wait duration
// the waiter will wait. The maxWaitDur is required and must be greater than zero.
func (w *BucketExistsWaiter) WaitForOutput(ctx context.Context, params *HeadBucketInput, maxWaitDur time.Duration, optFns ...func(*BucketExistsWaiterOptions)) (*HeadBucketOutput, error) {
if maxWaitDur <= 0 {
return fmt.Errorf("maximum wait time for waiter must be greater than zero")
return nil, fmt.Errorf("maximum wait time for waiter must be greater than zero")
}
options := w.options
@@ -244,7 +252,7 @@ func (w *BucketExistsWaiter) Wait(ctx context.Context, params *HeadBucketInput,
}
if options.MinDelay > options.MaxDelay {
return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay)
return nil, fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay)
}
ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur)
@@ -272,10 +280,10 @@ func (w *BucketExistsWaiter) Wait(ctx context.Context, params *HeadBucketInput,
retryable, err := options.Retryable(ctx, params, out, err)
if err != nil {
return err
return nil, err
}
if !retryable {
return nil
return out, nil
}
remainingTime -= time.Since(start)
@@ -288,16 +296,16 @@ func (w *BucketExistsWaiter) Wait(ctx context.Context, params *HeadBucketInput,
attempt, options.MinDelay, options.MaxDelay, remainingTime,
)
if err != nil {
return fmt.Errorf("error computing waiter delay, %w", err)
return nil, fmt.Errorf("error computing waiter delay, %w", err)
}
remainingTime -= delay
// sleep for the delay amount before invoking a request
if err := smithytime.SleepWithContext(ctx, delay); err != nil {
return fmt.Errorf("request cancelled while waiting, %w", err)
return nil, fmt.Errorf("request cancelled while waiting, %w", err)
}
}
return fmt.Errorf("exceeded max wait time for BucketExists waiter")
return nil, fmt.Errorf("exceeded max wait time for BucketExists waiter")
}
func bucketExistsStateRetryable(ctx context.Context, input *HeadBucketInput, output *HeadBucketOutput, err error) (bool, error) {
@@ -375,8 +383,17 @@ func NewBucketNotExistsWaiter(client HeadBucketAPIClient, optFns ...func(*Bucket
// maximum wait duration the waiter will wait. The maxWaitDur is required and must
// be greater than zero.
func (w *BucketNotExistsWaiter) Wait(ctx context.Context, params *HeadBucketInput, maxWaitDur time.Duration, optFns ...func(*BucketNotExistsWaiterOptions)) error {
_, err := w.WaitForOutput(ctx, params, maxWaitDur, optFns...)
return err
}
// WaitForOutput calls the waiter function for BucketNotExists waiter and returns
// the output of the successful operation. The maxWaitDur is the maximum wait
// duration the waiter will wait. The maxWaitDur is required and must be greater
// than zero.
func (w *BucketNotExistsWaiter) WaitForOutput(ctx context.Context, params *HeadBucketInput, maxWaitDur time.Duration, optFns ...func(*BucketNotExistsWaiterOptions)) (*HeadBucketOutput, error) {
if maxWaitDur <= 0 {
return fmt.Errorf("maximum wait time for waiter must be greater than zero")
return nil, fmt.Errorf("maximum wait time for waiter must be greater than zero")
}
options := w.options
@@ -389,7 +406,7 @@ func (w *BucketNotExistsWaiter) Wait(ctx context.Context, params *HeadBucketInpu
}
if options.MinDelay > options.MaxDelay {
return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay)
return nil, fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay)
}
ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur)
@@ -417,10 +434,10 @@ func (w *BucketNotExistsWaiter) Wait(ctx context.Context, params *HeadBucketInpu
retryable, err := options.Retryable(ctx, params, out, err)
if err != nil {
return err
return nil, err
}
if !retryable {
return nil
return out, nil
}
remainingTime -= time.Since(start)
@@ -433,16 +450,16 @@ func (w *BucketNotExistsWaiter) Wait(ctx context.Context, params *HeadBucketInpu
attempt, options.MinDelay, options.MaxDelay, remainingTime,
)
if err != nil {
return fmt.Errorf("error computing waiter delay, %w", err)
return nil, fmt.Errorf("error computing waiter delay, %w", err)
}
remainingTime -= delay
// sleep for the delay amount before invoking a request
if err := smithytime.SleepWithContext(ctx, delay); err != nil {
return fmt.Errorf("request cancelled while waiting, %w", err)
return nil, fmt.Errorf("request cancelled while waiting, %w", err)
}
}
return fmt.Errorf("exceeded max wait time for BucketNotExists waiter")
return nil, fmt.Errorf("exceeded max wait time for BucketNotExists waiter")
}
func bucketNotExistsStateRetryable(ctx context.Context, input *HeadBucketInput, output *HeadBucketOutput, err error) (bool, error) {
@@ -486,7 +503,6 @@ func addHeadBucketUpdateEndpoint(stack *middleware.Stack, options Options) error
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -523,8 +523,16 @@ func NewObjectExistsWaiter(client HeadObjectAPIClient, optFns ...func(*ObjectExi
// maximum wait duration the waiter will wait. The maxWaitDur is required and must
// be greater than zero.
func (w *ObjectExistsWaiter) Wait(ctx context.Context, params *HeadObjectInput, maxWaitDur time.Duration, optFns ...func(*ObjectExistsWaiterOptions)) error {
_, err := w.WaitForOutput(ctx, params, maxWaitDur, optFns...)
return err
}
// WaitForOutput calls the waiter function for ObjectExists waiter and returns the
// output of the successful operation. The maxWaitDur is the maximum wait duration
// the waiter will wait. The maxWaitDur is required and must be greater than zero.
func (w *ObjectExistsWaiter) WaitForOutput(ctx context.Context, params *HeadObjectInput, maxWaitDur time.Duration, optFns ...func(*ObjectExistsWaiterOptions)) (*HeadObjectOutput, error) {
if maxWaitDur <= 0 {
return fmt.Errorf("maximum wait time for waiter must be greater than zero")
return nil, fmt.Errorf("maximum wait time for waiter must be greater than zero")
}
options := w.options
@@ -537,7 +545,7 @@ func (w *ObjectExistsWaiter) Wait(ctx context.Context, params *HeadObjectInput,
}
if options.MinDelay > options.MaxDelay {
return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay)
return nil, fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay)
}
ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur)
@@ -565,10 +573,10 @@ func (w *ObjectExistsWaiter) Wait(ctx context.Context, params *HeadObjectInput,
retryable, err := options.Retryable(ctx, params, out, err)
if err != nil {
return err
return nil, err
}
if !retryable {
return nil
return out, nil
}
remainingTime -= time.Since(start)
@@ -581,16 +589,16 @@ func (w *ObjectExistsWaiter) Wait(ctx context.Context, params *HeadObjectInput,
attempt, options.MinDelay, options.MaxDelay, remainingTime,
)
if err != nil {
return fmt.Errorf("error computing waiter delay, %w", err)
return nil, fmt.Errorf("error computing waiter delay, %w", err)
}
remainingTime -= delay
// sleep for the delay amount before invoking a request
if err := smithytime.SleepWithContext(ctx, delay); err != nil {
return fmt.Errorf("request cancelled while waiting, %w", err)
return nil, fmt.Errorf("request cancelled while waiting, %w", err)
}
}
return fmt.Errorf("exceeded max wait time for ObjectExists waiter")
return nil, fmt.Errorf("exceeded max wait time for ObjectExists waiter")
}
func objectExistsStateRetryable(ctx context.Context, input *HeadObjectInput, output *HeadObjectOutput, err error) (bool, error) {
@@ -673,8 +681,17 @@ func NewObjectNotExistsWaiter(client HeadObjectAPIClient, optFns ...func(*Object
// maximum wait duration the waiter will wait. The maxWaitDur is required and must
// be greater than zero.
func (w *ObjectNotExistsWaiter) Wait(ctx context.Context, params *HeadObjectInput, maxWaitDur time.Duration, optFns ...func(*ObjectNotExistsWaiterOptions)) error {
_, err := w.WaitForOutput(ctx, params, maxWaitDur, optFns...)
return err
}
// WaitForOutput calls the waiter function for ObjectNotExists waiter and returns
// the output of the successful operation. The maxWaitDur is the maximum wait
// duration the waiter will wait. The maxWaitDur is required and must be greater
// than zero.
func (w *ObjectNotExistsWaiter) WaitForOutput(ctx context.Context, params *HeadObjectInput, maxWaitDur time.Duration, optFns ...func(*ObjectNotExistsWaiterOptions)) (*HeadObjectOutput, error) {
if maxWaitDur <= 0 {
return fmt.Errorf("maximum wait time for waiter must be greater than zero")
return nil, fmt.Errorf("maximum wait time for waiter must be greater than zero")
}
options := w.options
@@ -687,7 +704,7 @@ func (w *ObjectNotExistsWaiter) Wait(ctx context.Context, params *HeadObjectInpu
}
if options.MinDelay > options.MaxDelay {
return fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay)
return nil, fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay)
}
ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur)
@@ -715,10 +732,10 @@ func (w *ObjectNotExistsWaiter) Wait(ctx context.Context, params *HeadObjectInpu
retryable, err := options.Retryable(ctx, params, out, err)
if err != nil {
return err
return nil, err
}
if !retryable {
return nil
return out, nil
}
remainingTime -= time.Since(start)
@@ -731,16 +748,16 @@ func (w *ObjectNotExistsWaiter) Wait(ctx context.Context, params *HeadObjectInpu
attempt, options.MinDelay, options.MaxDelay, remainingTime,
)
if err != nil {
return fmt.Errorf("error computing waiter delay, %w", err)
return nil, fmt.Errorf("error computing waiter delay, %w", err)
}
remainingTime -= delay
// sleep for the delay amount before invoking a request
if err := smithytime.SleepWithContext(ctx, delay); err != nil {
return fmt.Errorf("request cancelled while waiting, %w", err)
return nil, fmt.Errorf("request cancelled while waiting, %w", err)
}
}
return fmt.Errorf("exceeded max wait time for ObjectNotExists waiter")
return nil, fmt.Errorf("exceeded max wait time for ObjectNotExists waiter")
}
func objectNotExistsStateRetryable(ctx context.Context, input *HeadObjectInput, output *HeadObjectOutput, err error) (bool, error) {
@@ -789,7 +806,6 @@ func addHeadObjectUpdateEndpoint(stack *middleware.Stack, options Options) error
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -207,7 +207,6 @@ func addListBucketAnalyticsConfigurationsUpdateEndpoint(stack *middleware.Stack,
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -200,7 +200,6 @@ func addListBucketIntelligentTieringConfigurationsUpdateEndpoint(stack *middlewa
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -208,7 +208,6 @@ func addListBucketInventoryConfigurationsUpdateEndpoint(stack *middleware.Stack,
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -211,7 +211,6 @@ func addListBucketMetricsConfigurationsUpdateEndpoint(stack *middleware.Stack, o
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -138,7 +138,6 @@ func addListBucketsUpdateEndpoint(stack *middleware.Stack, options Options) erro
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -303,7 +303,6 @@ func addListMultipartUploadsUpdateEndpoint(stack *middleware.Stack, options Opti
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -269,7 +269,6 @@ func addListObjectVersionsUpdateEndpoint(stack *middleware.Stack, options Option
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -277,7 +277,6 @@ func addListObjectsUpdateEndpoint(stack *middleware.Stack, options Options) erro
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -397,7 +397,6 @@ func addListObjectsV2UpdateEndpoint(stack *middleware.Stack, options Options) er
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -383,7 +383,6 @@ func addListPartsUpdateEndpoint(stack *middleware.Stack, options Options) error
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -195,7 +195,6 @@ func addPutBucketAccelerateConfigurationUpdateEndpoint(stack *middleware.Stack,
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -262,6 +262,9 @@ func (c *Client) addOperationPutBucketAclMiddlewares(stack *middleware.Stack, op
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketAclValidationMiddleware(stack); err != nil {
return err
}
@@ -286,9 +289,6 @@ func (c *Client) addOperationPutBucketAclMiddlewares(stack *middleware.Stack, op
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -322,7 +322,6 @@ func addPutBucketAclUpdateEndpoint(stack *middleware.Stack, options Options) err
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -227,7 +227,6 @@ func addPutBucketAnalyticsConfigurationUpdateEndpoint(stack *middleware.Stack, o
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -154,6 +154,9 @@ func (c *Client) addOperationPutBucketCorsMiddlewares(stack *middleware.Stack, o
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketCorsValidationMiddleware(stack); err != nil {
return err
}
@@ -178,9 +181,6 @@ func (c *Client) addOperationPutBucketCorsMiddlewares(stack *middleware.Stack, o
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -214,7 +214,6 @@ func addPutBucketCorsUpdateEndpoint(stack *middleware.Stack, options Options) er
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -141,6 +141,9 @@ func (c *Client) addOperationPutBucketEncryptionMiddlewares(stack *middleware.St
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketEncryptionValidationMiddleware(stack); err != nil {
return err
}
@@ -165,9 +168,6 @@ func (c *Client) addOperationPutBucketEncryptionMiddlewares(stack *middleware.St
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -201,7 +201,6 @@ func addPutBucketEncryptionUpdateEndpoint(stack *middleware.Stack, options Optio
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -219,7 +219,6 @@ func addPutBucketIntelligentTieringConfigurationUpdateEndpoint(stack *middleware
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -228,7 +228,6 @@ func addPutBucketInventoryConfigurationUpdateEndpoint(stack *middleware.Stack, o
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -166,6 +166,9 @@ func (c *Client) addOperationPutBucketLifecycleConfigurationMiddlewares(stack *m
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketLifecycleConfigurationValidationMiddleware(stack); err != nil {
return err
}
@@ -190,9 +193,6 @@ func (c *Client) addOperationPutBucketLifecycleConfigurationMiddlewares(stack *m
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -226,7 +226,6 @@ func addPutBucketLifecycleConfigurationUpdateEndpoint(stack *middleware.Stack, o
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -152,6 +152,9 @@ func (c *Client) addOperationPutBucketLoggingMiddlewares(stack *middleware.Stack
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketLoggingValidationMiddleware(stack); err != nil {
return err
}
@@ -176,9 +179,6 @@ func (c *Client) addOperationPutBucketLoggingMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -212,7 +212,6 @@ func addPutBucketLoggingUpdateEndpoint(stack *middleware.Stack, options Options)
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -202,7 +202,6 @@ func addPutBucketMetricsConfigurationUpdateEndpoint(stack *middleware.Stack, opt
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -194,7 +194,6 @@ func addPutBucketNotificationConfigurationUpdateEndpoint(stack *middleware.Stack
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -119,6 +119,9 @@ func (c *Client) addOperationPutBucketOwnershipControlsMiddlewares(stack *middle
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketOwnershipControlsValidationMiddleware(stack); err != nil {
return err
}
@@ -143,9 +146,6 @@ func (c *Client) addOperationPutBucketOwnershipControlsMiddlewares(stack *middle
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -179,7 +179,6 @@ func addPutBucketOwnershipControlsUpdateEndpoint(stack *middleware.Stack, option
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -129,6 +129,9 @@ func (c *Client) addOperationPutBucketPolicyMiddlewares(stack *middleware.Stack,
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketPolicyValidationMiddleware(stack); err != nil {
return err
}
@@ -153,9 +156,6 @@ func (c *Client) addOperationPutBucketPolicyMiddlewares(stack *middleware.Stack,
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -189,7 +189,6 @@ func addPutBucketPolicyUpdateEndpoint(stack *middleware.Stack, options Options)
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -165,6 +165,9 @@ func (c *Client) addOperationPutBucketReplicationMiddlewares(stack *middleware.S
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketReplicationValidationMiddleware(stack); err != nil {
return err
}
@@ -189,9 +192,6 @@ func (c *Client) addOperationPutBucketReplicationMiddlewares(stack *middleware.S
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -225,7 +225,6 @@ func addPutBucketReplicationUpdateEndpoint(stack *middleware.Stack, options Opti
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -122,6 +122,9 @@ func (c *Client) addOperationPutBucketRequestPaymentMiddlewares(stack *middlewar
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketRequestPaymentValidationMiddleware(stack); err != nil {
return err
}
@@ -146,9 +149,6 @@ func (c *Client) addOperationPutBucketRequestPaymentMiddlewares(stack *middlewar
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -182,7 +182,6 @@ func addPutBucketRequestPaymentUpdateEndpoint(stack *middleware.Stack, options O
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -167,6 +167,9 @@ func (c *Client) addOperationPutBucketTaggingMiddlewares(stack *middleware.Stack
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketTaggingValidationMiddleware(stack); err != nil {
return err
}
@@ -191,9 +194,6 @@ func (c *Client) addOperationPutBucketTaggingMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -227,7 +227,6 @@ func addPutBucketTaggingUpdateEndpoint(stack *middleware.Stack, options Options)
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -144,6 +144,9 @@ func (c *Client) addOperationPutBucketVersioningMiddlewares(stack *middleware.St
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketVersioningValidationMiddleware(stack); err != nil {
return err
}
@@ -168,9 +171,6 @@ func (c *Client) addOperationPutBucketVersioningMiddlewares(stack *middleware.St
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -204,7 +204,6 @@ func addPutBucketVersioningUpdateEndpoint(stack *middleware.Stack, options Optio
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -180,6 +180,9 @@ func (c *Client) addOperationPutBucketWebsiteMiddlewares(stack *middleware.Stack
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutBucketWebsiteValidationMiddleware(stack); err != nil {
return err
}
@@ -204,9 +207,6 @@ func (c *Client) addOperationPutBucketWebsiteMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -240,7 +240,6 @@ func addPutBucketWebsiteUpdateEndpoint(stack *middleware.Stack, options Options)
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -419,6 +419,9 @@ func (c *Client) addOperationPutObjectMiddlewares(stack *middleware.Stack, optio
if err = v4.AddContentSHA256HeaderMiddleware(stack); err != nil {
return err
}
if err = v4.UseDynamicPayloadSigningMiddleware(stack); err != nil {
return err
}
if err = disableAcceptEncodingGzip(stack); err != nil {
return err
}
@@ -457,7 +460,6 @@ func addPutObjectUpdateEndpoint(stack *middleware.Stack, options Options) error
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -304,6 +304,9 @@ func (c *Client) addOperationPutObjectAclMiddlewares(stack *middleware.Stack, op
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutObjectAclValidationMiddleware(stack); err != nil {
return err
}
@@ -328,9 +331,6 @@ func (c *Client) addOperationPutObjectAclMiddlewares(stack *middleware.Stack, op
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -364,7 +364,6 @@ func addPutObjectAclUpdateEndpoint(stack *middleware.Stack, options Options) err
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -138,6 +138,9 @@ func (c *Client) addOperationPutObjectLegalHoldMiddlewares(stack *middleware.Sta
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutObjectLegalHoldValidationMiddleware(stack); err != nil {
return err
}
@@ -162,9 +165,6 @@ func (c *Client) addOperationPutObjectLegalHoldMiddlewares(stack *middleware.Sta
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -198,7 +198,6 @@ func addPutObjectLegalHoldUpdateEndpoint(stack *middleware.Stack, options Option
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -135,6 +135,9 @@ func (c *Client) addOperationPutObjectLockConfigurationMiddlewares(stack *middle
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutObjectLockConfigurationValidationMiddleware(stack); err != nil {
return err
}
@@ -159,9 +162,6 @@ func (c *Client) addOperationPutObjectLockConfigurationMiddlewares(stack *middle
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -195,7 +195,6 @@ func addPutObjectLockConfigurationUpdateEndpoint(stack *middleware.Stack, option
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -148,6 +148,9 @@ func (c *Client) addOperationPutObjectRetentionMiddlewares(stack *middleware.Sta
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutObjectRetentionValidationMiddleware(stack); err != nil {
return err
}
@@ -172,9 +175,6 @@ func (c *Client) addOperationPutObjectRetentionMiddlewares(stack *middleware.Sta
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -208,7 +208,6 @@ func addPutObjectRetentionUpdateEndpoint(stack *middleware.Stack, options Option
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -192,6 +192,9 @@ func (c *Client) addOperationPutObjectTaggingMiddlewares(stack *middleware.Stack
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutObjectTaggingValidationMiddleware(stack); err != nil {
return err
}
@@ -216,9 +219,6 @@ func (c *Client) addOperationPutObjectTaggingMiddlewares(stack *middleware.Stack
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -252,7 +252,6 @@ func addPutObjectTaggingUpdateEndpoint(stack *middleware.Stack, options Options)
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -141,6 +141,9 @@ func (c *Client) addOperationPutPublicAccessBlockMiddlewares(stack *middleware.S
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
if err = addOpPutPublicAccessBlockValidationMiddleware(stack); err != nil {
return err
}
@@ -165,9 +168,6 @@ func (c *Client) addOperationPutPublicAccessBlockMiddlewares(stack *middleware.S
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = smithyhttp.AddContentChecksumMiddleware(stack); err != nil {
return err
}
return nil
}
@@ -201,7 +201,6 @@ func addPutPublicAccessBlockUpdateEndpoint(stack *middleware.Stack, options Opti
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -415,7 +415,6 @@ func addRestoreObjectUpdateEndpoint(stack *middleware.Stack, options Options) er
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -0,0 +1,417 @@
// Code generated by smithy-go-codegen DO NOT EDIT.
package s3
import (
"context"
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"
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)
// in the Amazon S3 User Guide. For more information about using SQL with Amazon S3
// Select, see SQL Reference for Amazon S3 Select and S3 Glacier Select
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html)
// in the Amazon S3 User Guide. Permissions You must have s3:GetObject permission
// 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.
//
// * UTF-8 - UTF-8 is
// the only encoding type Amazon S3 Select supports.
//
// * GZIP or BZIP2 - CSV and
// JSON files can be compressed using GZIP or BZIP2. GZIP and BZIP2 are the only
// compression formats that Amazon S3 Select supports for CSV and JSON files.
// Amazon S3 Select supports columnar compression for Parquet using GZIP or Snappy.
// Amazon S3 Select does not support whole-object compression for Parquet
// objects.
//
// * Server-side encryption - Amazon S3 Select supports querying objects
// that are protected with server-side encryption. For objects that are encrypted
// with customer-provided encryption keys (SSE-C), you must use HTTPS, and you must
// use the headers that are documented in the GetObject
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.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)
// in the Amazon S3 User Guide. For objects that are encrypted with Amazon S3
// managed encryption keys (SSE-S3) and Amazon Web Services KMS keys (SSE-KMS),
// server-side encryption is handled transparently, so you don't need to specify
// anything. For more information about server-side encryption, including SSE-S3
// and SSE-KMS, see Protecting Data Using Server-Side Encryption
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html) in
// the Amazon S3 User Guide.
//
// Working with the Response Body Given the response
// size is unknown, Amazon S3 Select streams the response as a series of messages
// and includes a Transfer-Encoding header with chunked as its value in the
// response. For more information, see Appendix: SelectObjectContent Response
// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTSelectObjectAppendix.html).
// GetObject Support The SelectObjectContent action does not support the following
// GetObject functionality. For more information, see GetObject
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html).
//
// * Range:
// Although you can specify a scan range for an Amazon S3 Select request (see
// SelectObjectContentRequest - ScanRange
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_SelectObjectContent.html#AmazonS3-SelectObjectContent-request-ScanRange)
// in the request parameters), you cannot specify the range of bytes of an object
// to return.
//
// * GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You
// cannot specify the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY storage classes.
// For more information, about storage classes see Storage Classes
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html#storage-class-intro)
// in the Amazon S3 User Guide.
//
// Special Errors For a list of special errors for
// this operation, see List of SELECT Object Content Error Codes
// (https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#SelectObjectContentErrorCodeList)
// Related Resources
//
// * GetObject
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
//
// *
// GetBucketLifecycleConfiguration
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html)
//
// *
// PutBucketLifecycleConfiguration
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html)
func (c *Client) SelectObjectContent(ctx context.Context, params *SelectObjectContentInput, optFns ...func(*Options)) (*SelectObjectContentOutput, error) {
if params == nil {
params = &SelectObjectContentInput{}
}
result, metadata, err := c.invokeOperation(ctx, "SelectObjectContent", params, optFns, c.addOperationSelectObjectContentMiddlewares)
if err != nil {
return nil, err
}
out := result.(*SelectObjectContentOutput)
out.ResultMetadata = metadata
return out, nil
}
// Request to filter 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 specify a data serialization format (JSON or CSV) of the
// object. Amazon S3 uses this to parse object data into records. It returns only
// records that match the specified SQL expression. You must also specify the data
// serialization format for the response. For more information, see S3Select API
// Documentation
// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html).
type SelectObjectContentInput struct {
// The S3 bucket.
//
// This member is required.
Bucket *string
// The expression that is used to query the object.
//
// This member is required.
Expression *string
// The type of the provided expression (for example, SQL).
//
// This member is required.
ExpressionType types.ExpressionType
// Describes the format of the data in the object that is being queried.
//
// This member is required.
InputSerialization *types.InputSerialization
// The object key.
//
// This member is required.
Key *string
// Describes the format of the data that you want Amazon S3 to return in response.
//
// 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 will fail with an HTTP 403 (Access Denied) error.
ExpectedBucketOwner *string
// Specifies if periodic request progress information should be enabled.
RequestProgress *types.RequestProgress
// The SSE Algorithm used to encrypt the object. For more information, see
// Server-Side Encryption (Using Customer-Provided Encryption Keys
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
SSECustomerAlgorithm *string
// The SSE Customer Key. For more information, see Server-Side Encryption (Using
// Customer-Provided Encryption Keys
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
SSECustomerKey *string
// The SSE Customer Key MD5. For more information, see Server-Side Encryption
// (Using Customer-Provided Encryption Keys
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
SSECustomerKeyMD5 *string
// Specifies the byte range of the object to get the records from. A record is
// processed when its first byte is contained by the range. This parameter is
// optional, but when specified, it must not be empty. See RFC 2616, Section
// 14.35.1 about how to specify the start and end of the range. ScanRangemay be
// used in the following ways:
//
// * 50100 - process only the records starting between
// the bytes 50 and 100 (inclusive, counting from zero)
//
// * 50 - process only the
// records starting after the byte 50
//
// * 50 - process only the records within the
// last 50 bytes of the file.
ScanRange *types.ScanRange
noSmithyDocumentSerde
}
type SelectObjectContentOutput struct {
eventStream *SelectObjectContentEventStream
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
// GetStream returns the type to interact with the event stream.
func (o *SelectObjectContentOutput) GetStream() *SelectObjectContentEventStream {
return o.eventStream
}
func (c *Client) addOperationSelectObjectContentMiddlewares(stack *middleware.Stack, options Options) (err error) {
err = stack.Serialize.Add(&awsRestxml_serializeOpSelectObjectContent{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsRestxml_deserializeOpSelectObjectContent{}, middleware.After)
if err != nil {
return err
}
if err = addEventStreamSelectObjectContentMiddleware(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 = addHTTPSignerV4Middleware(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); err != nil {
return err
}
if err = swapWithCustomHTTPSignerMiddleware(stack, options); err != nil {
return err
}
if err = addOpSelectObjectContentValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opSelectObjectContent(options.Region), middleware.Before); err != nil {
return err
}
if err = addMetadataRetrieverMiddleware(stack); err != nil {
return err
}
if err = addSelectObjectContentUpdateEndpoint(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
}
return nil
}
func newServiceMetadataMiddleware_opSelectObjectContent(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
SigningName: "s3",
OperationName: "SelectObjectContent",
}
}
// getSelectObjectContentBucketMember returns a pointer to string denoting a
// provided bucket member valueand a boolean indicating if the input has a modeled
// bucket name,
func getSelectObjectContentBucketMember(input interface{}) (*string, bool) {
in := input.(*SelectObjectContentInput)
if in.Bucket == nil {
return nil, false
}
return in.Bucket, true
}
func addSelectObjectContentUpdateEndpoint(stack *middleware.Stack, options Options) error {
return s3cust.UpdateEndpoint(stack, s3cust.UpdateEndpointOptions{
Accessor: s3cust.UpdateEndpointParameterAccessor{
GetBucketFromInput: getSelectObjectContentBucketMember,
},
UsePathStyle: options.UsePathStyle,
UseAccelerate: options.UseAccelerate,
SupportsAccelerate: true,
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})
}
// SelectObjectContentEventStream provides the event stream handling for the SelectObjectContent operation.
//
// For testing and mocking the event stream this type should be initialized via
// the NewSelectObjectContentEventStream constructor function. Using the functional options
// to pass in nested mock behavior.
type SelectObjectContentEventStream struct {
// SelectObjectContentEventStreamReader is the EventStream reader for the
// SelectObjectContentEventStream events. This value is automatically set by the
// SDK when the API call is made Use this member when unit testing your code with
// the SDK to mock out the EventStream Reader.
//
// Must not be nil.
Reader SelectObjectContentEventStreamReader
done chan struct{}
closeOnce sync.Once
err *smithysync.OnceErr
}
// NewSelectObjectContentEventStream initializes an SelectObjectContentEventStream.
// This function should only be used for testing and mocking the SelectObjectContentEventStream
// stream within your application.
//
// The Reader member must be set before reading events from the stream.
func NewSelectObjectContentEventStream(optFns ...func(*SelectObjectContentEventStream)) *SelectObjectContentEventStream {
es := &SelectObjectContentEventStream{
done: make(chan struct{}),
err: smithysync.NewOnceErr(),
}
for _, fn := range optFns {
fn(es)
}
return es
}
// Events returns a channel to read events from.
func (es *SelectObjectContentEventStream) Events() <-chan types.SelectObjectContentEventStream {
return es.Reader.Events()
}
// Close closes the stream. This will also cause the stream to be closed.
// Close must be called when done using the stream API. Not calling Close
// may result in resource leaks.
//
// Will close the underlying EventStream writer and reader, and no more events can be
// sent or received.
func (es *SelectObjectContentEventStream) Close() error {
es.closeOnce.Do(es.safeClose)
return es.Err()
}
func (es *SelectObjectContentEventStream) safeClose() {
close(es.done)
es.Reader.Close()
}
// Err returns any error that occurred while reading or writing EventStream Events
// from the service API's response. Returns nil if there were no errors.
func (es *SelectObjectContentEventStream) Err() error {
if err := es.err.Err(); err != nil {
return err
}
if err := es.Reader.Err(); err != nil {
return err
}
return nil
}
func (es *SelectObjectContentEventStream) waitStreamClose() {
type errorSet interface {
ErrorSet() <-chan struct{}
}
var outputErrCh <-chan struct{}
if v, ok := es.Reader.(errorSet); ok {
outputErrCh = v.ErrorSet()
}
var outputClosedCh <-chan struct{}
if v, ok := es.Reader.(interface{ Closed() <-chan struct{} }); ok {
outputClosedCh = v.Closed()
}
select {
case <-es.done:
case <-outputErrCh:
es.err.SetError(es.Reader.Err())
es.Close()
case <-outputClosedCh:
if err := es.Reader.Err(); err != nil {
es.err.SetError(es.Reader.Err())
}
es.Close()
}
}

View File

@@ -311,6 +311,9 @@ func (c *Client) addOperationUploadPartMiddlewares(stack *middleware.Stack, opti
if err = v4.AddContentSHA256HeaderMiddleware(stack); err != nil {
return err
}
if err = v4.UseDynamicPayloadSigningMiddleware(stack); err != nil {
return err
}
if err = disableAcceptEncodingGzip(stack); err != nil {
return err
}
@@ -349,7 +352,6 @@ func addUploadPartUpdateEndpoint(stack *middleware.Stack, options Options) error
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -430,7 +430,6 @@ func addUploadPartCopyUpdateEndpoint(stack *middleware.Stack, options Options) e
TargetS3ObjectLambda: false,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -326,6 +326,9 @@ func (c *Client) addOperationWriteGetObjectResponseMiddlewares(stack *middleware
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = v4.UseDynamicPayloadSigningMiddleware(stack); err != nil {
return err
}
if err = disableAcceptEncodingGzip(stack); err != nil {
return err
}
@@ -396,7 +399,6 @@ func addWriteGetObjectResponseUpdateEndpoint(stack *middleware.Stack, options Op
TargetS3ObjectLambda: true,
EndpointResolver: options.EndpointResolver,
EndpointResolverOptions: options.EndpointOptions,
UseDualstack: options.UseDualstack,
UseARNRegion: options.UseARNRegion,
DisableMultiRegionAccessPoints: options.DisableMultiRegionAccessPoints,
})

View File

@@ -5,9 +5,13 @@ package s3
import (
"bytes"
"context"
"encoding/json"
"encoding/xml"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream"
"github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream/eventstreamapi"
awsxml "github.com/aws/aws-sdk-go-v2/aws/protocol/xml"
"github.com/aws/aws-sdk-go-v2/service/internal/s3shared"
"github.com/aws/aws-sdk-go-v2/service/s3/types"
smithy "github.com/aws/smithy-go"
@@ -11081,6 +11085,75 @@ func awsRestxml_deserializeOpHttpBindingsRestoreObjectOutput(v *RestoreObjectOut
return nil
}
type awsRestxml_deserializeOpSelectObjectContent struct {
}
func (*awsRestxml_deserializeOpSelectObjectContent) ID() string {
return "OperationDeserializer"
}
func (m *awsRestxml_deserializeOpSelectObjectContent) 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_deserializeOpErrorSelectObjectContent(response, &metadata)
}
output := &SelectObjectContentOutput{}
out.Result = output
return out, metadata, err
}
func awsRestxml_deserializeOpErrorSelectObjectContent(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
}
}
type awsRestxml_deserializeOpUploadPart struct {
}
@@ -11467,6 +11540,514 @@ func awsRestxml_deserializeOpErrorWriteGetObjectResponse(response *smithyhttp.Re
}
}
func awsRestxml_deserializeEventStreamSelectObjectContentEventStream(v *types.SelectObjectContentEventStream, msg *eventstream.Message) error {
if v == nil {
return fmt.Errorf("unexpected serialization of nil %T", v)
}
eventType := msg.Headers.Get(eventstreamapi.EventTypeHeader)
if eventType == nil {
return fmt.Errorf("%s event header not present", eventstreamapi.EventTypeHeader)
}
switch {
case strings.EqualFold("Cont", eventType.String()):
vv := &types.SelectObjectContentEventStreamMemberCont{}
if err := awsRestxml_deserializeEventMessageContinuationEvent(&vv.Value, msg); err != nil {
return err
}
*v = vv
return nil
case strings.EqualFold("End", eventType.String()):
vv := &types.SelectObjectContentEventStreamMemberEnd{}
if err := awsRestxml_deserializeEventMessageEndEvent(&vv.Value, msg); err != nil {
return err
}
*v = vv
return nil
case strings.EqualFold("Progress", eventType.String()):
vv := &types.SelectObjectContentEventStreamMemberProgress{}
if err := awsRestxml_deserializeEventMessageProgressEvent(&vv.Value, msg); err != nil {
return err
}
*v = vv
return nil
case strings.EqualFold("Records", eventType.String()):
vv := &types.SelectObjectContentEventStreamMemberRecords{}
if err := awsRestxml_deserializeEventMessageRecordsEvent(&vv.Value, msg); err != nil {
return err
}
*v = vv
return nil
case strings.EqualFold("Stats", eventType.String()):
vv := &types.SelectObjectContentEventStreamMemberStats{}
if err := awsRestxml_deserializeEventMessageStatsEvent(&vv.Value, msg); err != nil {
return err
}
*v = vv
return nil
default:
buffer := bytes.NewBuffer(nil)
eventstream.NewEncoder().Encode(buffer, *msg)
*v = &types.UnknownUnionMember{
Tag: eventType.String(),
Value: buffer.Bytes(),
}
return nil
}
}
func awsRestxml_deserializeEventStreamExceptionSelectObjectContentEventStream(msg *eventstream.Message) error {
exceptionType := msg.Headers.Get(eventstreamapi.ExceptionTypeHeader)
if exceptionType == nil {
return fmt.Errorf("%s event header not present", eventstreamapi.ExceptionTypeHeader)
}
switch {
default:
br := bytes.NewReader(msg.Payload)
var buff [1024]byte
ringBuffer := smithyio.NewRingBuffer(buff[:])
body := io.TeeReader(br, ringBuffer)
decoder := json.NewDecoder(body)
decoder.UseNumber()
errorComponents, err := awsxml.GetErrorResponseComponents(br, true)
if err != nil {
return err
}
errorCode := "UnknownError"
errorMessage := errorCode
if ev := exceptionType.String(); len(ev) > 0 {
errorCode = ev
} else if ev := errorComponents.Code; len(ev) > 0 {
errorCode = ev
}
if ev := errorComponents.Message; len(ev) > 0 {
errorMessage = ev
}
return &smithy.GenericAPIError{
Code: errorCode,
Message: errorMessage,
}
}
}
func awsRestxml_deserializeEventMessageRecordsEvent(v *types.RecordsEvent, msg *eventstream.Message) error {
if v == nil {
return fmt.Errorf("unexpected serialization of nil %T", v)
}
if msg.Payload != nil {
bsv := make([]byte, len(msg.Payload))
copy(bsv, msg.Payload)
v.Payload = bsv
}
return nil
}
func awsRestxml_deserializeEventMessageStatsEvent(v *types.StatsEvent, msg *eventstream.Message) error {
if v == nil {
return fmt.Errorf("unexpected serialization of nil %T", v)
}
br := bytes.NewReader(msg.Payload)
var buff [1024]byte
ringBuffer := smithyio.NewRingBuffer(buff[:])
body := io.TeeReader(br, ringBuffer)
rootDecoder := xml.NewDecoder(body)
t, err := smithyxml.FetchRootElement(rootDecoder)
if err == io.EOF {
return nil
}
if err != nil {
var snapshot bytes.Buffer
io.Copy(&snapshot, ringBuffer)
return &smithy.DeserializationError{
Err: fmt.Errorf("failed to decode response body, %w", err),
Snapshot: snapshot.Bytes(),
}
}
decoder := smithyxml.WrapNodeDecoder(rootDecoder, t)
err = awsRestxml_deserializeDocumentStats(&v.Details, decoder)
if err != nil {
var snapshot bytes.Buffer
io.Copy(&snapshot, ringBuffer)
return &smithy.DeserializationError{
Err: fmt.Errorf("failed to decode response body, %w", err),
Snapshot: snapshot.Bytes(),
}
}
return nil
}
func awsRestxml_deserializeEventMessageProgressEvent(v *types.ProgressEvent, msg *eventstream.Message) error {
if v == nil {
return fmt.Errorf("unexpected serialization of nil %T", v)
}
br := bytes.NewReader(msg.Payload)
var buff [1024]byte
ringBuffer := smithyio.NewRingBuffer(buff[:])
body := io.TeeReader(br, ringBuffer)
rootDecoder := xml.NewDecoder(body)
t, err := smithyxml.FetchRootElement(rootDecoder)
if err == io.EOF {
return nil
}
if err != nil {
var snapshot bytes.Buffer
io.Copy(&snapshot, ringBuffer)
return &smithy.DeserializationError{
Err: fmt.Errorf("failed to decode response body, %w", err),
Snapshot: snapshot.Bytes(),
}
}
decoder := smithyxml.WrapNodeDecoder(rootDecoder, t)
err = awsRestxml_deserializeDocumentProgress(&v.Details, decoder)
if err != nil {
var snapshot bytes.Buffer
io.Copy(&snapshot, ringBuffer)
return &smithy.DeserializationError{
Err: fmt.Errorf("failed to decode response body, %w", err),
Snapshot: snapshot.Bytes(),
}
}
return nil
}
func awsRestxml_deserializeEventMessageContinuationEvent(v *types.ContinuationEvent, msg *eventstream.Message) error {
if v == nil {
return fmt.Errorf("unexpected serialization of nil %T", v)
}
br := bytes.NewReader(msg.Payload)
var buff [1024]byte
ringBuffer := smithyio.NewRingBuffer(buff[:])
body := io.TeeReader(br, ringBuffer)
rootDecoder := xml.NewDecoder(body)
t, err := smithyxml.FetchRootElement(rootDecoder)
if err == io.EOF {
return nil
}
if err != nil {
var snapshot bytes.Buffer
io.Copy(&snapshot, ringBuffer)
return &smithy.DeserializationError{
Err: fmt.Errorf("failed to decode response body, %w", err),
Snapshot: snapshot.Bytes(),
}
}
decoder := smithyxml.WrapNodeDecoder(rootDecoder, t)
err = awsRestxml_deserializeDocumentContinuationEvent(&v, decoder)
if err != nil {
var snapshot bytes.Buffer
io.Copy(&snapshot, ringBuffer)
return &smithy.DeserializationError{
Err: fmt.Errorf("failed to decode response body, %w", err),
Snapshot: snapshot.Bytes(),
}
}
return nil
}
func awsRestxml_deserializeEventMessageEndEvent(v *types.EndEvent, msg *eventstream.Message) error {
if v == nil {
return fmt.Errorf("unexpected serialization of nil %T", v)
}
br := bytes.NewReader(msg.Payload)
var buff [1024]byte
ringBuffer := smithyio.NewRingBuffer(buff[:])
body := io.TeeReader(br, ringBuffer)
rootDecoder := xml.NewDecoder(body)
t, err := smithyxml.FetchRootElement(rootDecoder)
if err == io.EOF {
return nil
}
if err != nil {
var snapshot bytes.Buffer
io.Copy(&snapshot, ringBuffer)
return &smithy.DeserializationError{
Err: fmt.Errorf("failed to decode response body, %w", err),
Snapshot: snapshot.Bytes(),
}
}
decoder := smithyxml.WrapNodeDecoder(rootDecoder, t)
err = awsRestxml_deserializeDocumentEndEvent(&v, decoder)
if err != nil {
var snapshot bytes.Buffer
io.Copy(&snapshot, ringBuffer)
return &smithy.DeserializationError{
Err: fmt.Errorf("failed to decode response body, %w", err),
Snapshot: snapshot.Bytes(),
}
}
return nil
}
func awsRestxml_deserializeDocumentContinuationEvent(v **types.ContinuationEvent, decoder smithyxml.NodeDecoder) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
var sv *types.ContinuationEvent
if *v == nil {
sv = &types.ContinuationEvent{}
} 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_deserializeDocumentEndEvent(v **types.EndEvent, decoder smithyxml.NodeDecoder) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
var sv *types.EndEvent
if *v == nil {
sv = &types.EndEvent{}
} 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_deserializeDocumentProgress(v **types.Progress, decoder smithyxml.NodeDecoder) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
var sv *types.Progress
if *v == nil {
sv = &types.Progress{}
} 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("BytesProcessed", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.BytesProcessed = i64
}
case strings.EqualFold("BytesReturned", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.BytesReturned = i64
}
case strings.EqualFold("BytesScanned", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.BytesScanned = 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_deserializeDocumentStats(v **types.Stats, decoder smithyxml.NodeDecoder) error {
if v == nil {
return fmt.Errorf("unexpected nil of type %T", v)
}
var sv *types.Stats
if *v == nil {
sv = &types.Stats{}
} 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("BytesProcessed", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.BytesProcessed = i64
}
case strings.EqualFold("BytesReturned", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.BytesReturned = i64
}
case strings.EqualFold("BytesScanned", t.Name.Local):
val, err := decoder.Value()
if err != nil {
return err
}
if val == nil {
break
}
{
xtv := string(val)
i64, err := strconv.ParseInt(xtv, 10, 64)
if err != nil {
return err
}
sv.BytesScanned = 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_deserializeErrorBucketAlreadyExists(response *smithyhttp.Response, errorBody *bytes.Reader) error {
output := &types.BucketAlreadyExists{}
return output

View File

@@ -12,6 +12,7 @@ import (
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
"net/url"
"strings"
)
// EndpointResolverOptions is the service endpoint resolver options
@@ -87,8 +88,11 @@ func (m *ResolveEndpoint) HandleSerialize(ctx context.Context, in middleware.Ser
return out, metadata, fmt.Errorf("expected endpoint resolver to not be nil")
}
eo := m.Options
eo.Logger = middleware.GetLogger(ctx)
var endpoint aws.Endpoint
endpoint, err = m.Resolver.ResolveEndpoint(awsmiddleware.GetRegion(ctx), m.Options)
endpoint, err = m.Resolver.ResolveEndpoint(awsmiddleware.GetRegion(ctx), eo)
if err != nil {
return out, metadata, fmt.Errorf("failed to resolve service endpoint, %w", err)
}
@@ -124,7 +128,7 @@ func removeResolveEndpointMiddleware(stack *middleware.Stack) error {
}
type wrappedEndpointResolver struct {
awsResolver aws.EndpointResolver
awsResolver aws.EndpointResolverWithOptions
resolver EndpointResolver
}
@@ -132,7 +136,7 @@ func (w *wrappedEndpointResolver) ResolveEndpoint(region string, options Endpoin
if w.awsResolver == nil {
goto fallback
}
endpoint, err = w.awsResolver.ResolveEndpoint(ServiceID, region)
endpoint, err = w.awsResolver.ResolveEndpoint(ServiceID, region, options)
if err == nil {
return endpoint, nil
}
@@ -148,13 +152,57 @@ fallback:
return w.resolver.ResolveEndpoint(region, options)
}
// withEndpointResolver returns an EndpointResolver that first delegates endpoint
// resolution to the awsResolver. If awsResolver returns aws.EndpointNotFoundError
// error, the resolver will use the the provided fallbackResolver for resolution.
// awsResolver and fallbackResolver must not be nil
func withEndpointResolver(awsResolver aws.EndpointResolver, fallbackResolver EndpointResolver) EndpointResolver {
type awsEndpointResolverAdaptor func(service, region string) (aws.Endpoint, error)
func (a awsEndpointResolverAdaptor) ResolveEndpoint(service, region string, options ...interface{}) (aws.Endpoint, error) {
return a(service, region)
}
var _ aws.EndpointResolverWithOptions = awsEndpointResolverAdaptor(nil)
// withEndpointResolver returns an EndpointResolver that first delegates endpoint resolution to the awsResolver.
// If awsResolver returns aws.EndpointNotFoundError error, the resolver will use the the provided
// fallbackResolver for resolution.
//
// fallbackResolver must not be nil
func withEndpointResolver(awsResolver aws.EndpointResolver, awsResolverWithOptions aws.EndpointResolverWithOptions, fallbackResolver EndpointResolver) EndpointResolver {
var resolver aws.EndpointResolverWithOptions
if awsResolverWithOptions != nil {
resolver = awsResolverWithOptions
} else if awsResolver != nil {
resolver = awsEndpointResolverAdaptor(awsResolver.ResolveEndpoint)
}
return &wrappedEndpointResolver{
awsResolver: awsResolver,
awsResolver: resolver,
resolver: fallbackResolver,
}
}
func finalizeClientEndpointResolverOptions(options *Options) {
options.EndpointOptions.LogDeprecated = options.ClientLogMode.IsDeprecatedUsage()
if len(options.EndpointOptions.ResolvedRegion) == 0 {
const fipsInfix = "-fips-"
const fipsPrefix = "fips-"
const fipsSuffix = "-fips"
if strings.Contains(options.Region, fipsInfix) ||
strings.Contains(options.Region, fipsPrefix) ||
strings.Contains(options.Region, fipsSuffix) {
options.EndpointOptions.ResolvedRegion = strings.ReplaceAll(strings.ReplaceAll(strings.ReplaceAll(
options.Region, fipsInfix, "-"), fipsPrefix, ""), fipsSuffix, "")
options.EndpointOptions.UseFIPSEndpoint = aws.FIPSEndpointStateEnabled
}
}
if options.EndpointOptions.UseDualStackEndpoint == aws.DualStackEndpointStateUnset {
if options.UseDualstack {
options.EndpointOptions.UseDualStackEndpoint = aws.DualStackEndpointStateEnabled
} else {
options.EndpointOptions.UseDualStackEndpoint = aws.DualStackEndpointStateDisabled
}
}
}

View File

@@ -0,0 +1,281 @@
// Code generated by smithy-go-codegen DO NOT EDIT.
package s3
import (
"context"
"fmt"
"github.com/aws/aws-sdk-go-v2/aws"
"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/service/s3/types"
smithy "github.com/aws/smithy-go"
"github.com/aws/smithy-go/middleware"
smithysync "github.com/aws/smithy-go/sync"
smithyhttp "github.com/aws/smithy-go/transport/http"
"io"
"io/ioutil"
"sync"
)
// SelectObjectContentEventStreamReader provides the interface for reading events
// from a stream.
//
// The writer's Close method must allow multiple concurrent calls.
type SelectObjectContentEventStreamReader interface {
Events() <-chan types.SelectObjectContentEventStream
Close() error
Err() error
}
type selectObjectContentEventStream struct {
stream chan types.SelectObjectContentEventStream
decoder *eventstream.Decoder
eventStream io.ReadCloser
err *smithysync.OnceErr
payloadBuf []byte
done chan struct{}
closeOnce sync.Once
}
func newSelectObjectContentEventStream(readCloser io.ReadCloser, decoder *eventstream.Decoder) *selectObjectContentEventStream {
w := &selectObjectContentEventStream{
stream: make(chan types.SelectObjectContentEventStream),
decoder: decoder,
eventStream: readCloser,
err: smithysync.NewOnceErr(),
done: make(chan struct{}),
payloadBuf: make([]byte, 10*1024),
}
go w.readEventStream()
return w
}
func (r *selectObjectContentEventStream) Events() <-chan types.SelectObjectContentEventStream {
return r.stream
}
func (r *selectObjectContentEventStream) readEventStream() {
defer r.Close()
defer close(r.stream)
for {
r.payloadBuf = r.payloadBuf[0:0]
decodedMessage, err := r.decoder.Decode(r.eventStream, r.payloadBuf)
if err != nil {
if err == io.EOF {
return
}
select {
case <-r.done:
return
default:
r.err.SetError(err)
return
}
}
event, err := r.deserializeEventMessage(&decodedMessage)
if err != nil {
r.err.SetError(err)
return
}
select {
case r.stream <- event:
case <-r.done:
return
}
}
}
func (r *selectObjectContentEventStream) deserializeEventMessage(msg *eventstream.Message) (types.SelectObjectContentEventStream, error) {
messageType := msg.Headers.Get(eventstreamapi.MessageTypeHeader)
if messageType == nil {
return nil, fmt.Errorf("%s event header not present", eventstreamapi.MessageTypeHeader)
}
switch messageType.String() {
case eventstreamapi.EventMessageType:
var v types.SelectObjectContentEventStream
if err := awsRestxml_deserializeEventStreamSelectObjectContentEventStream(&v, msg); err != nil {
return nil, err
}
return v, nil
case eventstreamapi.ExceptionMessageType:
return nil, awsRestxml_deserializeEventStreamExceptionSelectObjectContentEventStream(msg)
case eventstreamapi.ErrorMessageType:
errorCode := "UnknownError"
errorMessage := errorCode
if header := msg.Headers.Get(eventstreamapi.ErrorCodeHeader); header != nil {
errorCode = header.String()
}
if header := msg.Headers.Get(eventstreamapi.ErrorMessageHeader); header != nil {
errorMessage = header.String()
}
return nil, &smithy.GenericAPIError{
Code: errorCode,
Message: errorMessage,
}
default:
mc := msg.Clone()
return nil, &UnknownEventMessageError{
Type: messageType.String(),
Message: &mc,
}
}
}
func (r *selectObjectContentEventStream) ErrorSet() <-chan struct{} {
return r.err.ErrorSet()
}
func (r *selectObjectContentEventStream) Close() error {
r.closeOnce.Do(r.safeClose)
return r.Err()
}
func (r *selectObjectContentEventStream) safeClose() {
close(r.done)
r.eventStream.Close()
}
func (r *selectObjectContentEventStream) Err() error {
return r.err.Err()
}
func (r *selectObjectContentEventStream) Closed() <-chan struct{} {
return r.done
}
type awsRestxml_deserializeOpEventStreamSelectObjectContent struct {
LogEventStreamWrites bool
LogEventStreamReads bool
}
func (*awsRestxml_deserializeOpEventStreamSelectObjectContent) ID() string {
return "OperationEventStreamDeserializer"
}
func (m *awsRestxml_deserializeOpEventStreamSelectObjectContent) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) (
out middleware.DeserializeOutput, metadata middleware.Metadata, err error,
) {
defer func() {
if err == nil {
return
}
m.closeResponseBody(out)
}()
logger := middleware.GetLogger(ctx)
request, ok := in.Request.(*smithyhttp.Request)
if !ok {
return out, metadata, fmt.Errorf("unknown transport type: %T", in.Request)
}
_ = request
out, metadata, err = next.HandleDeserialize(ctx, in)
if err != nil {
return out, metadata, err
}
deserializeOutput, ok := out.RawResponse.(*smithyhttp.Response)
if !ok {
return out, metadata, fmt.Errorf("unknown transport type: %T", out.RawResponse)
}
_ = deserializeOutput
output, ok := out.Result.(*SelectObjectContentOutput)
if out.Result != nil && !ok {
return out, metadata, fmt.Errorf("unexpected output result type: %T", out.Result)
} else if out.Result == nil {
output = &SelectObjectContentOutput{}
out.Result = output
}
eventReader := newSelectObjectContentEventStream(
deserializeOutput.Body,
eventstream.NewDecoder(func(options *eventstream.DecoderOptions) {
options.Logger = logger
options.LogMessages = m.LogEventStreamReads
}),
)
defer func() {
if err == nil {
return
}
_ = eventReader.Close()
}()
output.eventStream = NewSelectObjectContentEventStream(func(stream *SelectObjectContentEventStream) {
stream.Reader = eventReader
})
go output.eventStream.waitStreamClose()
return out, metadata, nil
}
func (*awsRestxml_deserializeOpEventStreamSelectObjectContent) closeResponseBody(out middleware.DeserializeOutput) {
if resp, ok := out.RawResponse.(*smithyhttp.Response); ok && resp != nil && resp.Body != nil {
_, _ = io.Copy(ioutil.Discard, resp.Body)
_ = resp.Body.Close()
}
}
func addEventStreamSelectObjectContentMiddleware(stack *middleware.Stack, options Options) error {
return stack.Deserialize.Insert(&awsRestxml_deserializeOpEventStreamSelectObjectContent{
LogEventStreamWrites: options.ClientLogMode.IsRequestEventMessage(),
LogEventStreamReads: options.ClientLogMode.IsResponseEventMessage(),
}, "OperationDeserializer", middleware.Before)
}
// UnknownEventMessageError provides an error when a message is received from the stream,
// but the reader is unable to determine what kind of message it is.
type UnknownEventMessageError struct {
Type string
Message *eventstream.Message
}
// Error retruns the error message string.
func (e *UnknownEventMessageError) Error() string {
return "unknown event stream message type, " + e.Type
}
func setSafeEventStreamClientLogMode(o *Options, operation string) {
switch operation {
case "SelectObjectContent":
toggleEventStreamClientLogMode(o, false, true)
return
default:
return
}
}
func toggleEventStreamClientLogMode(o *Options, request, response bool) {
mode := o.ClientLogMode
if request && mode.IsRequestWithBody() {
mode.ClearRequestWithBody()
mode |= aws.LogRequest
}
if response && mode.IsResponseWithBody() {
mode.ClearResponseWithBody()
mode |= aws.LogResponse
}
o.ClientLogMode = mode
}

View File

@@ -1,6 +1,9 @@
{
"dependencies": {
"github.com/aws/aws-sdk-go-v2": "v1.4.0",
"github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream": "v0.0.0-00010101000000-000000000000",
"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/aws-sdk-go-v2/service/internal/s3shared": "v1.2.3",
@@ -96,12 +99,14 @@
"api_op_PutObjectTagging.go",
"api_op_PutPublicAccessBlock.go",
"api_op_RestoreObject.go",
"api_op_SelectObjectContent.go",
"api_op_UploadPart.go",
"api_op_UploadPartCopy.go",
"api_op_WriteGetObjectResponse.go",
"deserializers.go",
"doc.go",
"endpoints.go",
"eventstream.go",
"generated.json",
"internal/endpoints/endpoints.go",
"internal/endpoints/endpoints_test.go",

View File

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

View File

@@ -20,7 +20,7 @@ false. This flag will be ignored if `UseAccelerate` option is set to true.
If UseAccelerate is not enabled, and the bucket name is not a valid hostname
label, they SDK will fallback to forcing the request to be made as if
UsePathStyle was enabled. This behavior is also used if UseDualStack is enabled.
UsePathStyle was enabled. This behavior is also used if UseDualStackEndpoint is enabled.
https://docs.aws.amazon.com/AmazonS3/latest/dev/dual-stack-endpoints.html#dual-stack-endpoints-description

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