aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go
diff options
context:
space:
mode:
authorvitalyisaev <vitalyisaev@ydb.tech>2023-12-12 21:55:07 +0300
committervitalyisaev <vitalyisaev@ydb.tech>2023-12-12 22:25:10 +0300
commit4967f99474a4040ba150eb04995de06342252718 (patch)
treec9c118836513a8fab6e9fcfb25be5d404338bca7 /vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go
parent2ce9cccb9b0bdd4cd7a3491dc5cbf8687cda51de (diff)
downloadydb-4967f99474a4040ba150eb04995de06342252718.tar.gz
YQ Connector: prepare code base for S3 integration
1. Кодовая база Коннектора переписана с помощью Go дженериков так, чтобы добавление нового источника данных (в частности S3 + csv) максимально переиспользовало имеющийся код (чтобы сохранялась логика нарезания на блоки данных, учёт трафика и пр.) 2. API Connector расширено для работы с S3, но ещё пока не протестировано.
Diffstat (limited to 'vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go')
-rw-r--r--vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go12602
1 files changed, 12602 insertions, 0 deletions
diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go
new file mode 100644
index 0000000000..463f6b706f
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/serializers.go
@@ -0,0 +1,12602 @@
+// Code generated by smithy-go-codegen DO NOT EDIT.
+
+package s3
+
+import (
+ "bytes"
+ "context"
+ "fmt"
+ "github.com/aws/aws-sdk-go-v2/service/s3/types"
+ smithy "github.com/aws/smithy-go"
+ "github.com/aws/smithy-go/encoding/httpbinding"
+ smithyxml "github.com/aws/smithy-go/encoding/xml"
+ "github.com/aws/smithy-go/middleware"
+ smithytime "github.com/aws/smithy-go/time"
+ smithyhttp "github.com/aws/smithy-go/transport/http"
+ "net/http"
+ "strconv"
+ "strings"
+)
+
+type awsRestxml_serializeOpAbortMultipartUpload struct {
+}
+
+func (*awsRestxml_serializeOpAbortMultipartUpload) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpAbortMultipartUpload) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*AbortMultipartUploadInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?x-id=AbortMultipartUpload")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsAbortMultipartUploadInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsAbortMultipartUploadInput(v *AbortMultipartUploadInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.UploadId != nil {
+ encoder.SetQuery("uploadId").String(*v.UploadId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpCompleteMultipartUpload struct {
+}
+
+func (*awsRestxml_serializeOpCompleteMultipartUpload) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpCompleteMultipartUpload) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*CompleteMultipartUploadInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?x-id=CompleteMultipartUpload")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "POST"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsCompleteMultipartUploadInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.MultipartUpload != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "CompleteMultipartUpload",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentCompletedMultipartUpload(input.MultipartUpload, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsCompleteMultipartUploadInput(v *CompleteMultipartUploadInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ChecksumCRC32 != nil && len(*v.ChecksumCRC32) > 0 {
+ locationName := "X-Amz-Checksum-Crc32"
+ encoder.SetHeader(locationName).String(*v.ChecksumCRC32)
+ }
+
+ if v.ChecksumCRC32C != nil && len(*v.ChecksumCRC32C) > 0 {
+ locationName := "X-Amz-Checksum-Crc32c"
+ encoder.SetHeader(locationName).String(*v.ChecksumCRC32C)
+ }
+
+ if v.ChecksumSHA1 != nil && len(*v.ChecksumSHA1) > 0 {
+ locationName := "X-Amz-Checksum-Sha1"
+ encoder.SetHeader(locationName).String(*v.ChecksumSHA1)
+ }
+
+ if v.ChecksumSHA256 != nil && len(*v.ChecksumSHA256) > 0 {
+ locationName := "X-Amz-Checksum-Sha256"
+ encoder.SetHeader(locationName).String(*v.ChecksumSHA256)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.SSECustomerAlgorithm != nil && len(*v.SSECustomerAlgorithm) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Algorithm"
+ encoder.SetHeader(locationName).String(*v.SSECustomerAlgorithm)
+ }
+
+ if v.SSECustomerKey != nil && len(*v.SSECustomerKey) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKey)
+ }
+
+ if v.SSECustomerKeyMD5 != nil && len(*v.SSECustomerKeyMD5) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key-Md5"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKeyMD5)
+ }
+
+ if v.UploadId != nil {
+ encoder.SetQuery("uploadId").String(*v.UploadId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpCopyObject struct {
+}
+
+func (*awsRestxml_serializeOpCopyObject) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpCopyObject) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*CopyObjectInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?x-id=CopyObject")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsCopyObjectInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsCopyObjectInput(v *CopyObjectInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ACL) > 0 {
+ locationName := "X-Amz-Acl"
+ encoder.SetHeader(locationName).String(string(v.ACL))
+ }
+
+ if v.BucketKeyEnabled {
+ locationName := "X-Amz-Server-Side-Encryption-Bucket-Key-Enabled"
+ encoder.SetHeader(locationName).Boolean(v.BucketKeyEnabled)
+ }
+
+ if v.CacheControl != nil && len(*v.CacheControl) > 0 {
+ locationName := "Cache-Control"
+ encoder.SetHeader(locationName).String(*v.CacheControl)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentDisposition != nil && len(*v.ContentDisposition) > 0 {
+ locationName := "Content-Disposition"
+ encoder.SetHeader(locationName).String(*v.ContentDisposition)
+ }
+
+ if v.ContentEncoding != nil && len(*v.ContentEncoding) > 0 {
+ locationName := "Content-Encoding"
+ encoder.SetHeader(locationName).String(*v.ContentEncoding)
+ }
+
+ if v.ContentLanguage != nil && len(*v.ContentLanguage) > 0 {
+ locationName := "Content-Language"
+ encoder.SetHeader(locationName).String(*v.ContentLanguage)
+ }
+
+ if v.ContentType != nil && len(*v.ContentType) > 0 {
+ locationName := "Content-Type"
+ encoder.SetHeader(locationName).String(*v.ContentType)
+ }
+
+ if v.CopySource != nil && len(*v.CopySource) > 0 {
+ locationName := "X-Amz-Copy-Source"
+ encoder.SetHeader(locationName).String(*v.CopySource)
+ }
+
+ if v.CopySourceIfMatch != nil && len(*v.CopySourceIfMatch) > 0 {
+ locationName := "X-Amz-Copy-Source-If-Match"
+ encoder.SetHeader(locationName).String(*v.CopySourceIfMatch)
+ }
+
+ if v.CopySourceIfModifiedSince != nil {
+ locationName := "X-Amz-Copy-Source-If-Modified-Since"
+ encoder.SetHeader(locationName).String(smithytime.FormatHTTPDate(*v.CopySourceIfModifiedSince))
+ }
+
+ if v.CopySourceIfNoneMatch != nil && len(*v.CopySourceIfNoneMatch) > 0 {
+ locationName := "X-Amz-Copy-Source-If-None-Match"
+ encoder.SetHeader(locationName).String(*v.CopySourceIfNoneMatch)
+ }
+
+ if v.CopySourceIfUnmodifiedSince != nil {
+ locationName := "X-Amz-Copy-Source-If-Unmodified-Since"
+ encoder.SetHeader(locationName).String(smithytime.FormatHTTPDate(*v.CopySourceIfUnmodifiedSince))
+ }
+
+ if v.CopySourceSSECustomerAlgorithm != nil && len(*v.CopySourceSSECustomerAlgorithm) > 0 {
+ locationName := "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm"
+ encoder.SetHeader(locationName).String(*v.CopySourceSSECustomerAlgorithm)
+ }
+
+ if v.CopySourceSSECustomerKey != nil && len(*v.CopySourceSSECustomerKey) > 0 {
+ locationName := "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key"
+ encoder.SetHeader(locationName).String(*v.CopySourceSSECustomerKey)
+ }
+
+ if v.CopySourceSSECustomerKeyMD5 != nil && len(*v.CopySourceSSECustomerKeyMD5) > 0 {
+ locationName := "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5"
+ encoder.SetHeader(locationName).String(*v.CopySourceSSECustomerKeyMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.ExpectedSourceBucketOwner != nil && len(*v.ExpectedSourceBucketOwner) > 0 {
+ locationName := "X-Amz-Source-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedSourceBucketOwner)
+ }
+
+ if v.Expires != nil {
+ locationName := "Expires"
+ encoder.SetHeader(locationName).String(smithytime.FormatHTTPDate(*v.Expires))
+ }
+
+ if v.GrantFullControl != nil && len(*v.GrantFullControl) > 0 {
+ locationName := "X-Amz-Grant-Full-Control"
+ encoder.SetHeader(locationName).String(*v.GrantFullControl)
+ }
+
+ if v.GrantRead != nil && len(*v.GrantRead) > 0 {
+ locationName := "X-Amz-Grant-Read"
+ encoder.SetHeader(locationName).String(*v.GrantRead)
+ }
+
+ if v.GrantReadACP != nil && len(*v.GrantReadACP) > 0 {
+ locationName := "X-Amz-Grant-Read-Acp"
+ encoder.SetHeader(locationName).String(*v.GrantReadACP)
+ }
+
+ if v.GrantWriteACP != nil && len(*v.GrantWriteACP) > 0 {
+ locationName := "X-Amz-Grant-Write-Acp"
+ encoder.SetHeader(locationName).String(*v.GrantWriteACP)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if v.Metadata != nil {
+ hv := encoder.Headers("X-Amz-Meta-")
+ for mapKey, mapVal := range v.Metadata {
+ if len(mapVal) > 0 {
+ hv.SetHeader(http.CanonicalHeaderKey(mapKey)).String(mapVal)
+ }
+ }
+ }
+
+ if len(v.MetadataDirective) > 0 {
+ locationName := "X-Amz-Metadata-Directive"
+ encoder.SetHeader(locationName).String(string(v.MetadataDirective))
+ }
+
+ if len(v.ObjectLockLegalHoldStatus) > 0 {
+ locationName := "X-Amz-Object-Lock-Legal-Hold"
+ encoder.SetHeader(locationName).String(string(v.ObjectLockLegalHoldStatus))
+ }
+
+ if len(v.ObjectLockMode) > 0 {
+ locationName := "X-Amz-Object-Lock-Mode"
+ encoder.SetHeader(locationName).String(string(v.ObjectLockMode))
+ }
+
+ if v.ObjectLockRetainUntilDate != nil {
+ locationName := "X-Amz-Object-Lock-Retain-Until-Date"
+ encoder.SetHeader(locationName).String(smithytime.FormatDateTime(*v.ObjectLockRetainUntilDate))
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if len(v.ServerSideEncryption) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption"
+ encoder.SetHeader(locationName).String(string(v.ServerSideEncryption))
+ }
+
+ if v.SSECustomerAlgorithm != nil && len(*v.SSECustomerAlgorithm) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Algorithm"
+ encoder.SetHeader(locationName).String(*v.SSECustomerAlgorithm)
+ }
+
+ if v.SSECustomerKey != nil && len(*v.SSECustomerKey) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKey)
+ }
+
+ if v.SSECustomerKeyMD5 != nil && len(*v.SSECustomerKeyMD5) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key-Md5"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKeyMD5)
+ }
+
+ if v.SSEKMSEncryptionContext != nil && len(*v.SSEKMSEncryptionContext) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Context"
+ encoder.SetHeader(locationName).String(*v.SSEKMSEncryptionContext)
+ }
+
+ if v.SSEKMSKeyId != nil && len(*v.SSEKMSKeyId) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Aws-Kms-Key-Id"
+ encoder.SetHeader(locationName).String(*v.SSEKMSKeyId)
+ }
+
+ if len(v.StorageClass) > 0 {
+ locationName := "X-Amz-Storage-Class"
+ encoder.SetHeader(locationName).String(string(v.StorageClass))
+ }
+
+ if v.Tagging != nil && len(*v.Tagging) > 0 {
+ locationName := "X-Amz-Tagging"
+ encoder.SetHeader(locationName).String(*v.Tagging)
+ }
+
+ if len(v.TaggingDirective) > 0 {
+ locationName := "X-Amz-Tagging-Directive"
+ encoder.SetHeader(locationName).String(string(v.TaggingDirective))
+ }
+
+ if v.WebsiteRedirectLocation != nil && len(*v.WebsiteRedirectLocation) > 0 {
+ locationName := "X-Amz-Website-Redirect-Location"
+ encoder.SetHeader(locationName).String(*v.WebsiteRedirectLocation)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpCreateBucket struct {
+}
+
+func (*awsRestxml_serializeOpCreateBucket) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpCreateBucket) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*CreateBucketInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsCreateBucketInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.CreateBucketConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "CreateBucketConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentCreateBucketConfiguration(input.CreateBucketConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsCreateBucketInput(v *CreateBucketInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ACL) > 0 {
+ locationName := "X-Amz-Acl"
+ encoder.SetHeader(locationName).String(string(v.ACL))
+ }
+
+ if v.GrantFullControl != nil && len(*v.GrantFullControl) > 0 {
+ locationName := "X-Amz-Grant-Full-Control"
+ encoder.SetHeader(locationName).String(*v.GrantFullControl)
+ }
+
+ if v.GrantRead != nil && len(*v.GrantRead) > 0 {
+ locationName := "X-Amz-Grant-Read"
+ encoder.SetHeader(locationName).String(*v.GrantRead)
+ }
+
+ if v.GrantReadACP != nil && len(*v.GrantReadACP) > 0 {
+ locationName := "X-Amz-Grant-Read-Acp"
+ encoder.SetHeader(locationName).String(*v.GrantReadACP)
+ }
+
+ if v.GrantWrite != nil && len(*v.GrantWrite) > 0 {
+ locationName := "X-Amz-Grant-Write"
+ encoder.SetHeader(locationName).String(*v.GrantWrite)
+ }
+
+ if v.GrantWriteACP != nil && len(*v.GrantWriteACP) > 0 {
+ locationName := "X-Amz-Grant-Write-Acp"
+ encoder.SetHeader(locationName).String(*v.GrantWriteACP)
+ }
+
+ if v.ObjectLockEnabledForBucket {
+ locationName := "X-Amz-Bucket-Object-Lock-Enabled"
+ encoder.SetHeader(locationName).Boolean(v.ObjectLockEnabledForBucket)
+ }
+
+ if len(v.ObjectOwnership) > 0 {
+ locationName := "X-Amz-Object-Ownership"
+ encoder.SetHeader(locationName).String(string(v.ObjectOwnership))
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpCreateMultipartUpload struct {
+}
+
+func (*awsRestxml_serializeOpCreateMultipartUpload) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpCreateMultipartUpload) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*CreateMultipartUploadInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?uploads&x-id=CreateMultipartUpload")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "POST"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsCreateMultipartUploadInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsCreateMultipartUploadInput(v *CreateMultipartUploadInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ACL) > 0 {
+ locationName := "X-Amz-Acl"
+ encoder.SetHeader(locationName).String(string(v.ACL))
+ }
+
+ if v.BucketKeyEnabled {
+ locationName := "X-Amz-Server-Side-Encryption-Bucket-Key-Enabled"
+ encoder.SetHeader(locationName).Boolean(v.BucketKeyEnabled)
+ }
+
+ if v.CacheControl != nil && len(*v.CacheControl) > 0 {
+ locationName := "Cache-Control"
+ encoder.SetHeader(locationName).String(*v.CacheControl)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentDisposition != nil && len(*v.ContentDisposition) > 0 {
+ locationName := "Content-Disposition"
+ encoder.SetHeader(locationName).String(*v.ContentDisposition)
+ }
+
+ if v.ContentEncoding != nil && len(*v.ContentEncoding) > 0 {
+ locationName := "Content-Encoding"
+ encoder.SetHeader(locationName).String(*v.ContentEncoding)
+ }
+
+ if v.ContentLanguage != nil && len(*v.ContentLanguage) > 0 {
+ locationName := "Content-Language"
+ encoder.SetHeader(locationName).String(*v.ContentLanguage)
+ }
+
+ if v.ContentType != nil && len(*v.ContentType) > 0 {
+ locationName := "Content-Type"
+ encoder.SetHeader(locationName).String(*v.ContentType)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Expires != nil {
+ locationName := "Expires"
+ encoder.SetHeader(locationName).String(smithytime.FormatHTTPDate(*v.Expires))
+ }
+
+ if v.GrantFullControl != nil && len(*v.GrantFullControl) > 0 {
+ locationName := "X-Amz-Grant-Full-Control"
+ encoder.SetHeader(locationName).String(*v.GrantFullControl)
+ }
+
+ if v.GrantRead != nil && len(*v.GrantRead) > 0 {
+ locationName := "X-Amz-Grant-Read"
+ encoder.SetHeader(locationName).String(*v.GrantRead)
+ }
+
+ if v.GrantReadACP != nil && len(*v.GrantReadACP) > 0 {
+ locationName := "X-Amz-Grant-Read-Acp"
+ encoder.SetHeader(locationName).String(*v.GrantReadACP)
+ }
+
+ if v.GrantWriteACP != nil && len(*v.GrantWriteACP) > 0 {
+ locationName := "X-Amz-Grant-Write-Acp"
+ encoder.SetHeader(locationName).String(*v.GrantWriteACP)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if v.Metadata != nil {
+ hv := encoder.Headers("X-Amz-Meta-")
+ for mapKey, mapVal := range v.Metadata {
+ if len(mapVal) > 0 {
+ hv.SetHeader(http.CanonicalHeaderKey(mapKey)).String(mapVal)
+ }
+ }
+ }
+
+ if len(v.ObjectLockLegalHoldStatus) > 0 {
+ locationName := "X-Amz-Object-Lock-Legal-Hold"
+ encoder.SetHeader(locationName).String(string(v.ObjectLockLegalHoldStatus))
+ }
+
+ if len(v.ObjectLockMode) > 0 {
+ locationName := "X-Amz-Object-Lock-Mode"
+ encoder.SetHeader(locationName).String(string(v.ObjectLockMode))
+ }
+
+ if v.ObjectLockRetainUntilDate != nil {
+ locationName := "X-Amz-Object-Lock-Retain-Until-Date"
+ encoder.SetHeader(locationName).String(smithytime.FormatDateTime(*v.ObjectLockRetainUntilDate))
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if len(v.ServerSideEncryption) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption"
+ encoder.SetHeader(locationName).String(string(v.ServerSideEncryption))
+ }
+
+ if v.SSECustomerAlgorithm != nil && len(*v.SSECustomerAlgorithm) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Algorithm"
+ encoder.SetHeader(locationName).String(*v.SSECustomerAlgorithm)
+ }
+
+ if v.SSECustomerKey != nil && len(*v.SSECustomerKey) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKey)
+ }
+
+ if v.SSECustomerKeyMD5 != nil && len(*v.SSECustomerKeyMD5) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key-Md5"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKeyMD5)
+ }
+
+ if v.SSEKMSEncryptionContext != nil && len(*v.SSEKMSEncryptionContext) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Context"
+ encoder.SetHeader(locationName).String(*v.SSEKMSEncryptionContext)
+ }
+
+ if v.SSEKMSKeyId != nil && len(*v.SSEKMSKeyId) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Aws-Kms-Key-Id"
+ encoder.SetHeader(locationName).String(*v.SSEKMSKeyId)
+ }
+
+ if len(v.StorageClass) > 0 {
+ locationName := "X-Amz-Storage-Class"
+ encoder.SetHeader(locationName).String(string(v.StorageClass))
+ }
+
+ if v.Tagging != nil && len(*v.Tagging) > 0 {
+ locationName := "X-Amz-Tagging"
+ encoder.SetHeader(locationName).String(*v.Tagging)
+ }
+
+ if v.WebsiteRedirectLocation != nil && len(*v.WebsiteRedirectLocation) > 0 {
+ locationName := "X-Amz-Website-Redirect-Location"
+ encoder.SetHeader(locationName).String(*v.WebsiteRedirectLocation)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteBucket struct {
+}
+
+func (*awsRestxml_serializeOpDeleteBucket) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteBucket) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteBucketInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteBucketInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteBucketInput(v *DeleteBucketInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteBucketAnalyticsConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpDeleteBucketAnalyticsConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteBucketAnalyticsConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteBucketAnalyticsConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?analytics")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteBucketAnalyticsConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteBucketAnalyticsConfigurationInput(v *DeleteBucketAnalyticsConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Id != nil {
+ encoder.SetQuery("id").String(*v.Id)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteBucketCors struct {
+}
+
+func (*awsRestxml_serializeOpDeleteBucketCors) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteBucketCors) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteBucketCorsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?cors")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteBucketCorsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteBucketCorsInput(v *DeleteBucketCorsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteBucketEncryption struct {
+}
+
+func (*awsRestxml_serializeOpDeleteBucketEncryption) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteBucketEncryption) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteBucketEncryptionInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?encryption")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteBucketEncryptionInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteBucketEncryptionInput(v *DeleteBucketEncryptionInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteBucketIntelligentTieringConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpDeleteBucketIntelligentTieringConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteBucketIntelligentTieringConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteBucketIntelligentTieringConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?intelligent-tiering")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteBucketIntelligentTieringConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteBucketIntelligentTieringConfigurationInput(v *DeleteBucketIntelligentTieringConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.Id != nil {
+ encoder.SetQuery("id").String(*v.Id)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteBucketInventoryConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpDeleteBucketInventoryConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteBucketInventoryConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteBucketInventoryConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?inventory")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteBucketInventoryConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteBucketInventoryConfigurationInput(v *DeleteBucketInventoryConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Id != nil {
+ encoder.SetQuery("id").String(*v.Id)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteBucketLifecycle struct {
+}
+
+func (*awsRestxml_serializeOpDeleteBucketLifecycle) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteBucketLifecycle) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteBucketLifecycleInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?lifecycle")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteBucketLifecycleInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteBucketLifecycleInput(v *DeleteBucketLifecycleInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteBucketMetricsConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpDeleteBucketMetricsConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteBucketMetricsConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteBucketMetricsConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?metrics")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteBucketMetricsConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteBucketMetricsConfigurationInput(v *DeleteBucketMetricsConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Id != nil {
+ encoder.SetQuery("id").String(*v.Id)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteBucketOwnershipControls struct {
+}
+
+func (*awsRestxml_serializeOpDeleteBucketOwnershipControls) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteBucketOwnershipControls) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteBucketOwnershipControlsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?ownershipControls")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteBucketOwnershipControlsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteBucketOwnershipControlsInput(v *DeleteBucketOwnershipControlsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteBucketPolicy struct {
+}
+
+func (*awsRestxml_serializeOpDeleteBucketPolicy) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteBucketPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteBucketPolicyInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?policy")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteBucketPolicyInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteBucketPolicyInput(v *DeleteBucketPolicyInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteBucketReplication struct {
+}
+
+func (*awsRestxml_serializeOpDeleteBucketReplication) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteBucketReplication) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteBucketReplicationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?replication")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteBucketReplicationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteBucketReplicationInput(v *DeleteBucketReplicationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteBucketTagging struct {
+}
+
+func (*awsRestxml_serializeOpDeleteBucketTagging) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteBucketTagging) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteBucketTaggingInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?tagging")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteBucketTaggingInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteBucketTaggingInput(v *DeleteBucketTaggingInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteBucketWebsite struct {
+}
+
+func (*awsRestxml_serializeOpDeleteBucketWebsite) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteBucketWebsite) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteBucketWebsiteInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?website")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteBucketWebsiteInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteBucketWebsiteInput(v *DeleteBucketWebsiteInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteObject struct {
+}
+
+func (*awsRestxml_serializeOpDeleteObject) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteObject) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteObjectInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?x-id=DeleteObject")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteObjectInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteObjectInput(v *DeleteObjectInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.BypassGovernanceRetention {
+ locationName := "X-Amz-Bypass-Governance-Retention"
+ encoder.SetHeader(locationName).Boolean(v.BypassGovernanceRetention)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if v.MFA != nil && len(*v.MFA) > 0 {
+ locationName := "X-Amz-Mfa"
+ encoder.SetHeader(locationName).String(*v.MFA)
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.VersionId != nil {
+ encoder.SetQuery("versionId").String(*v.VersionId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteObjects struct {
+}
+
+func (*awsRestxml_serializeOpDeleteObjects) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteObjects) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteObjectsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?delete&x-id=DeleteObjects")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "POST"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteObjectsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.Delete != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Delete",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentDelete(input.Delete, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteObjectsInput(v *DeleteObjectsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.BypassGovernanceRetention {
+ locationName := "X-Amz-Bypass-Governance-Retention"
+ encoder.SetHeader(locationName).Boolean(v.BypassGovernanceRetention)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.MFA != nil && len(*v.MFA) > 0 {
+ locationName := "X-Amz-Mfa"
+ encoder.SetHeader(locationName).String(*v.MFA)
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeleteObjectTagging struct {
+}
+
+func (*awsRestxml_serializeOpDeleteObjectTagging) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeleteObjectTagging) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeleteObjectTaggingInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?tagging")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeleteObjectTaggingInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeleteObjectTaggingInput(v *DeleteObjectTaggingInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if v.VersionId != nil {
+ encoder.SetQuery("versionId").String(*v.VersionId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpDeletePublicAccessBlock struct {
+}
+
+func (*awsRestxml_serializeOpDeletePublicAccessBlock) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpDeletePublicAccessBlock) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*DeletePublicAccessBlockInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?publicAccessBlock")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "DELETE"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsDeletePublicAccessBlockInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsDeletePublicAccessBlockInput(v *DeletePublicAccessBlockInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketAccelerateConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketAccelerateConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketAccelerateConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketAccelerateConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?accelerate")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketAccelerateConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketAccelerateConfigurationInput(v *GetBucketAccelerateConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketAcl struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketAcl) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketAcl) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketAclInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?acl")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketAclInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketAclInput(v *GetBucketAclInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketAnalyticsConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketAnalyticsConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketAnalyticsConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketAnalyticsConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?analytics&x-id=GetBucketAnalyticsConfiguration")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketAnalyticsConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketAnalyticsConfigurationInput(v *GetBucketAnalyticsConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Id != nil {
+ encoder.SetQuery("id").String(*v.Id)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketCors struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketCors) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketCors) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketCorsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?cors")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketCorsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketCorsInput(v *GetBucketCorsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketEncryption struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketEncryption) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketEncryption) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketEncryptionInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?encryption")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketEncryptionInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketEncryptionInput(v *GetBucketEncryptionInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketIntelligentTieringConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketIntelligentTieringConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketIntelligentTieringConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketIntelligentTieringConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?intelligent-tiering&x-id=GetBucketIntelligentTieringConfiguration")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketIntelligentTieringConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketIntelligentTieringConfigurationInput(v *GetBucketIntelligentTieringConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.Id != nil {
+ encoder.SetQuery("id").String(*v.Id)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketInventoryConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketInventoryConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketInventoryConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketInventoryConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?inventory&x-id=GetBucketInventoryConfiguration")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketInventoryConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketInventoryConfigurationInput(v *GetBucketInventoryConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Id != nil {
+ encoder.SetQuery("id").String(*v.Id)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketLifecycleConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketLifecycleConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketLifecycleConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketLifecycleConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?lifecycle")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketLifecycleConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketLifecycleConfigurationInput(v *GetBucketLifecycleConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketLocation struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketLocation) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketLocation) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketLocationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?location")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketLocationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketLocationInput(v *GetBucketLocationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketLogging struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketLogging) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketLogging) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketLoggingInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?logging")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketLoggingInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketLoggingInput(v *GetBucketLoggingInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketMetricsConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketMetricsConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketMetricsConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketMetricsConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?metrics&x-id=GetBucketMetricsConfiguration")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketMetricsConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketMetricsConfigurationInput(v *GetBucketMetricsConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Id != nil {
+ encoder.SetQuery("id").String(*v.Id)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketNotificationConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketNotificationConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketNotificationConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketNotificationConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?notification")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketNotificationConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketNotificationConfigurationInput(v *GetBucketNotificationConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketOwnershipControls struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketOwnershipControls) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketOwnershipControls) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketOwnershipControlsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?ownershipControls")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketOwnershipControlsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketOwnershipControlsInput(v *GetBucketOwnershipControlsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketPolicy struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketPolicy) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketPolicyInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?policy")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketPolicyInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketPolicyInput(v *GetBucketPolicyInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketPolicyStatus struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketPolicyStatus) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketPolicyStatus) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketPolicyStatusInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?policyStatus")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketPolicyStatusInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketPolicyStatusInput(v *GetBucketPolicyStatusInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketReplication struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketReplication) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketReplication) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketReplicationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?replication")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketReplicationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketReplicationInput(v *GetBucketReplicationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketRequestPayment struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketRequestPayment) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketRequestPayment) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketRequestPaymentInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?requestPayment")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketRequestPaymentInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketRequestPaymentInput(v *GetBucketRequestPaymentInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketTagging struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketTagging) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketTagging) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketTaggingInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?tagging")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketTaggingInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketTaggingInput(v *GetBucketTaggingInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketVersioning struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketVersioning) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketVersioning) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketVersioningInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?versioning")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketVersioningInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketVersioningInput(v *GetBucketVersioningInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetBucketWebsite struct {
+}
+
+func (*awsRestxml_serializeOpGetBucketWebsite) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetBucketWebsite) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetBucketWebsiteInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?website")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetBucketWebsiteInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetBucketWebsiteInput(v *GetBucketWebsiteInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetObject struct {
+}
+
+func (*awsRestxml_serializeOpGetObject) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetObject) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetObjectInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?x-id=GetObject")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetObjectInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetObjectInput(v *GetObjectInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumMode) > 0 {
+ locationName := "X-Amz-Checksum-Mode"
+ encoder.SetHeader(locationName).String(string(v.ChecksumMode))
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.IfMatch != nil && len(*v.IfMatch) > 0 {
+ locationName := "If-Match"
+ encoder.SetHeader(locationName).String(*v.IfMatch)
+ }
+
+ if v.IfModifiedSince != nil {
+ locationName := "If-Modified-Since"
+ encoder.SetHeader(locationName).String(smithytime.FormatHTTPDate(*v.IfModifiedSince))
+ }
+
+ if v.IfNoneMatch != nil && len(*v.IfNoneMatch) > 0 {
+ locationName := "If-None-Match"
+ encoder.SetHeader(locationName).String(*v.IfNoneMatch)
+ }
+
+ if v.IfUnmodifiedSince != nil {
+ locationName := "If-Unmodified-Since"
+ encoder.SetHeader(locationName).String(smithytime.FormatHTTPDate(*v.IfUnmodifiedSince))
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if v.PartNumber != 0 {
+ encoder.SetQuery("partNumber").Integer(v.PartNumber)
+ }
+
+ if v.Range != nil && len(*v.Range) > 0 {
+ locationName := "Range"
+ encoder.SetHeader(locationName).String(*v.Range)
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.ResponseCacheControl != nil {
+ encoder.SetQuery("response-cache-control").String(*v.ResponseCacheControl)
+ }
+
+ if v.ResponseContentDisposition != nil {
+ encoder.SetQuery("response-content-disposition").String(*v.ResponseContentDisposition)
+ }
+
+ if v.ResponseContentEncoding != nil {
+ encoder.SetQuery("response-content-encoding").String(*v.ResponseContentEncoding)
+ }
+
+ if v.ResponseContentLanguage != nil {
+ encoder.SetQuery("response-content-language").String(*v.ResponseContentLanguage)
+ }
+
+ if v.ResponseContentType != nil {
+ encoder.SetQuery("response-content-type").String(*v.ResponseContentType)
+ }
+
+ if v.ResponseExpires != nil {
+ encoder.SetQuery("response-expires").String(smithytime.FormatHTTPDate(*v.ResponseExpires))
+ }
+
+ if v.SSECustomerAlgorithm != nil && len(*v.SSECustomerAlgorithm) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Algorithm"
+ encoder.SetHeader(locationName).String(*v.SSECustomerAlgorithm)
+ }
+
+ if v.SSECustomerKey != nil && len(*v.SSECustomerKey) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKey)
+ }
+
+ if v.SSECustomerKeyMD5 != nil && len(*v.SSECustomerKeyMD5) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key-Md5"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKeyMD5)
+ }
+
+ if v.VersionId != nil {
+ encoder.SetQuery("versionId").String(*v.VersionId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetObjectAcl struct {
+}
+
+func (*awsRestxml_serializeOpGetObjectAcl) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetObjectAcl) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetObjectAclInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?acl")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetObjectAclInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetObjectAclInput(v *GetObjectAclInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.VersionId != nil {
+ encoder.SetQuery("versionId").String(*v.VersionId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetObjectAttributes struct {
+}
+
+func (*awsRestxml_serializeOpGetObjectAttributes) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetObjectAttributes) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetObjectAttributesInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?attributes")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetObjectAttributesInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetObjectAttributesInput(v *GetObjectAttributesInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if v.MaxParts != 0 {
+ locationName := "X-Amz-Max-Parts"
+ encoder.SetHeader(locationName).Integer(v.MaxParts)
+ }
+
+ if v.ObjectAttributes != nil {
+ locationName := "X-Amz-Object-Attributes"
+ for i := range v.ObjectAttributes {
+ if len(v.ObjectAttributes[i]) > 0 {
+ escaped := string(v.ObjectAttributes[i])
+ if strings.Index(string(v.ObjectAttributes[i]), `,`) != -1 || strings.Index(string(v.ObjectAttributes[i]), `"`) != -1 {
+ escaped = strconv.Quote(string(v.ObjectAttributes[i]))
+ }
+
+ encoder.AddHeader(locationName).String(string(escaped))
+ }
+ }
+ }
+
+ if v.PartNumberMarker != nil && len(*v.PartNumberMarker) > 0 {
+ locationName := "X-Amz-Part-Number-Marker"
+ encoder.SetHeader(locationName).String(*v.PartNumberMarker)
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.SSECustomerAlgorithm != nil && len(*v.SSECustomerAlgorithm) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Algorithm"
+ encoder.SetHeader(locationName).String(*v.SSECustomerAlgorithm)
+ }
+
+ if v.SSECustomerKey != nil && len(*v.SSECustomerKey) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKey)
+ }
+
+ if v.SSECustomerKeyMD5 != nil && len(*v.SSECustomerKeyMD5) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key-Md5"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKeyMD5)
+ }
+
+ if v.VersionId != nil {
+ encoder.SetQuery("versionId").String(*v.VersionId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetObjectLegalHold struct {
+}
+
+func (*awsRestxml_serializeOpGetObjectLegalHold) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetObjectLegalHold) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetObjectLegalHoldInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?legal-hold")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetObjectLegalHoldInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetObjectLegalHoldInput(v *GetObjectLegalHoldInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.VersionId != nil {
+ encoder.SetQuery("versionId").String(*v.VersionId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetObjectLockConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpGetObjectLockConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetObjectLockConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetObjectLockConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?object-lock")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetObjectLockConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetObjectLockConfigurationInput(v *GetObjectLockConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetObjectRetention struct {
+}
+
+func (*awsRestxml_serializeOpGetObjectRetention) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetObjectRetention) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetObjectRetentionInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?retention")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetObjectRetentionInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetObjectRetentionInput(v *GetObjectRetentionInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.VersionId != nil {
+ encoder.SetQuery("versionId").String(*v.VersionId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetObjectTagging struct {
+}
+
+func (*awsRestxml_serializeOpGetObjectTagging) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetObjectTagging) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetObjectTaggingInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?tagging")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetObjectTaggingInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetObjectTaggingInput(v *GetObjectTaggingInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.VersionId != nil {
+ encoder.SetQuery("versionId").String(*v.VersionId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetObjectTorrent struct {
+}
+
+func (*awsRestxml_serializeOpGetObjectTorrent) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetObjectTorrent) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetObjectTorrentInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?torrent")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetObjectTorrentInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetObjectTorrentInput(v *GetObjectTorrentInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpGetPublicAccessBlock struct {
+}
+
+func (*awsRestxml_serializeOpGetPublicAccessBlock) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpGetPublicAccessBlock) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*GetPublicAccessBlockInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?publicAccessBlock")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsGetPublicAccessBlockInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsGetPublicAccessBlockInput(v *GetPublicAccessBlockInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpHeadBucket struct {
+}
+
+func (*awsRestxml_serializeOpHeadBucket) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpHeadBucket) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*HeadBucketInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "HEAD"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsHeadBucketInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsHeadBucketInput(v *HeadBucketInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpHeadObject struct {
+}
+
+func (*awsRestxml_serializeOpHeadObject) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpHeadObject) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*HeadObjectInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "HEAD"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsHeadObjectInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsHeadObjectInput(v *HeadObjectInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumMode) > 0 {
+ locationName := "X-Amz-Checksum-Mode"
+ encoder.SetHeader(locationName).String(string(v.ChecksumMode))
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.IfMatch != nil && len(*v.IfMatch) > 0 {
+ locationName := "If-Match"
+ encoder.SetHeader(locationName).String(*v.IfMatch)
+ }
+
+ if v.IfModifiedSince != nil {
+ locationName := "If-Modified-Since"
+ encoder.SetHeader(locationName).String(smithytime.FormatHTTPDate(*v.IfModifiedSince))
+ }
+
+ if v.IfNoneMatch != nil && len(*v.IfNoneMatch) > 0 {
+ locationName := "If-None-Match"
+ encoder.SetHeader(locationName).String(*v.IfNoneMatch)
+ }
+
+ if v.IfUnmodifiedSince != nil {
+ locationName := "If-Unmodified-Since"
+ encoder.SetHeader(locationName).String(smithytime.FormatHTTPDate(*v.IfUnmodifiedSince))
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if v.PartNumber != 0 {
+ encoder.SetQuery("partNumber").Integer(v.PartNumber)
+ }
+
+ if v.Range != nil && len(*v.Range) > 0 {
+ locationName := "Range"
+ encoder.SetHeader(locationName).String(*v.Range)
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.SSECustomerAlgorithm != nil && len(*v.SSECustomerAlgorithm) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Algorithm"
+ encoder.SetHeader(locationName).String(*v.SSECustomerAlgorithm)
+ }
+
+ if v.SSECustomerKey != nil && len(*v.SSECustomerKey) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKey)
+ }
+
+ if v.SSECustomerKeyMD5 != nil && len(*v.SSECustomerKeyMD5) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key-Md5"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKeyMD5)
+ }
+
+ if v.VersionId != nil {
+ encoder.SetQuery("versionId").String(*v.VersionId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpListBucketAnalyticsConfigurations struct {
+}
+
+func (*awsRestxml_serializeOpListBucketAnalyticsConfigurations) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpListBucketAnalyticsConfigurations) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*ListBucketAnalyticsConfigurationsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?analytics&x-id=ListBucketAnalyticsConfigurations")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsListBucketAnalyticsConfigurationsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsListBucketAnalyticsConfigurationsInput(v *ListBucketAnalyticsConfigurationsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ContinuationToken != nil {
+ encoder.SetQuery("continuation-token").String(*v.ContinuationToken)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpListBucketIntelligentTieringConfigurations struct {
+}
+
+func (*awsRestxml_serializeOpListBucketIntelligentTieringConfigurations) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpListBucketIntelligentTieringConfigurations) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*ListBucketIntelligentTieringConfigurationsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?intelligent-tiering&x-id=ListBucketIntelligentTieringConfigurations")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsListBucketIntelligentTieringConfigurationsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsListBucketIntelligentTieringConfigurationsInput(v *ListBucketIntelligentTieringConfigurationsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ContinuationToken != nil {
+ encoder.SetQuery("continuation-token").String(*v.ContinuationToken)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpListBucketInventoryConfigurations struct {
+}
+
+func (*awsRestxml_serializeOpListBucketInventoryConfigurations) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpListBucketInventoryConfigurations) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*ListBucketInventoryConfigurationsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?inventory&x-id=ListBucketInventoryConfigurations")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsListBucketInventoryConfigurationsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsListBucketInventoryConfigurationsInput(v *ListBucketInventoryConfigurationsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ContinuationToken != nil {
+ encoder.SetQuery("continuation-token").String(*v.ContinuationToken)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpListBucketMetricsConfigurations struct {
+}
+
+func (*awsRestxml_serializeOpListBucketMetricsConfigurations) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpListBucketMetricsConfigurations) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*ListBucketMetricsConfigurationsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?metrics&x-id=ListBucketMetricsConfigurations")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsListBucketMetricsConfigurationsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsListBucketMetricsConfigurationsInput(v *ListBucketMetricsConfigurationsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ContinuationToken != nil {
+ encoder.SetQuery("continuation-token").String(*v.ContinuationToken)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpListBuckets struct {
+}
+
+func (*awsRestxml_serializeOpListBuckets) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpListBuckets) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*ListBucketsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsListBucketsInput(v *ListBucketsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpListMultipartUploads struct {
+}
+
+func (*awsRestxml_serializeOpListMultipartUploads) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpListMultipartUploads) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*ListMultipartUploadsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?uploads")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsListMultipartUploadsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsListMultipartUploadsInput(v *ListMultipartUploadsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.Delimiter != nil {
+ encoder.SetQuery("delimiter").String(*v.Delimiter)
+ }
+
+ if len(v.EncodingType) > 0 {
+ encoder.SetQuery("encoding-type").String(string(v.EncodingType))
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.KeyMarker != nil {
+ encoder.SetQuery("key-marker").String(*v.KeyMarker)
+ }
+
+ if v.MaxUploads != 0 {
+ encoder.SetQuery("max-uploads").Integer(v.MaxUploads)
+ }
+
+ if v.Prefix != nil {
+ encoder.SetQuery("prefix").String(*v.Prefix)
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.UploadIdMarker != nil {
+ encoder.SetQuery("upload-id-marker").String(*v.UploadIdMarker)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpListObjects struct {
+}
+
+func (*awsRestxml_serializeOpListObjects) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpListObjects) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*ListObjectsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsListObjectsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsListObjectsInput(v *ListObjectsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.Delimiter != nil {
+ encoder.SetQuery("delimiter").String(*v.Delimiter)
+ }
+
+ if len(v.EncodingType) > 0 {
+ encoder.SetQuery("encoding-type").String(string(v.EncodingType))
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Marker != nil {
+ encoder.SetQuery("marker").String(*v.Marker)
+ }
+
+ if v.MaxKeys != 0 {
+ encoder.SetQuery("max-keys").Integer(v.MaxKeys)
+ }
+
+ if v.OptionalObjectAttributes != nil {
+ locationName := "X-Amz-Optional-Object-Attributes"
+ for i := range v.OptionalObjectAttributes {
+ if len(v.OptionalObjectAttributes[i]) > 0 {
+ escaped := string(v.OptionalObjectAttributes[i])
+ if strings.Index(string(v.OptionalObjectAttributes[i]), `,`) != -1 || strings.Index(string(v.OptionalObjectAttributes[i]), `"`) != -1 {
+ escaped = strconv.Quote(string(v.OptionalObjectAttributes[i]))
+ }
+
+ encoder.AddHeader(locationName).String(string(escaped))
+ }
+ }
+ }
+
+ if v.Prefix != nil {
+ encoder.SetQuery("prefix").String(*v.Prefix)
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpListObjectsV2 struct {
+}
+
+func (*awsRestxml_serializeOpListObjectsV2) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpListObjectsV2) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*ListObjectsV2Input)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?list-type=2")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsListObjectsV2Input(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsListObjectsV2Input(v *ListObjectsV2Input, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ContinuationToken != nil {
+ encoder.SetQuery("continuation-token").String(*v.ContinuationToken)
+ }
+
+ if v.Delimiter != nil {
+ encoder.SetQuery("delimiter").String(*v.Delimiter)
+ }
+
+ if len(v.EncodingType) > 0 {
+ encoder.SetQuery("encoding-type").String(string(v.EncodingType))
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.FetchOwner {
+ encoder.SetQuery("fetch-owner").Boolean(v.FetchOwner)
+ }
+
+ if v.MaxKeys != 0 {
+ encoder.SetQuery("max-keys").Integer(v.MaxKeys)
+ }
+
+ if v.OptionalObjectAttributes != nil {
+ locationName := "X-Amz-Optional-Object-Attributes"
+ for i := range v.OptionalObjectAttributes {
+ if len(v.OptionalObjectAttributes[i]) > 0 {
+ escaped := string(v.OptionalObjectAttributes[i])
+ if strings.Index(string(v.OptionalObjectAttributes[i]), `,`) != -1 || strings.Index(string(v.OptionalObjectAttributes[i]), `"`) != -1 {
+ escaped = strconv.Quote(string(v.OptionalObjectAttributes[i]))
+ }
+
+ encoder.AddHeader(locationName).String(string(escaped))
+ }
+ }
+ }
+
+ if v.Prefix != nil {
+ encoder.SetQuery("prefix").String(*v.Prefix)
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.StartAfter != nil {
+ encoder.SetQuery("start-after").String(*v.StartAfter)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpListObjectVersions struct {
+}
+
+func (*awsRestxml_serializeOpListObjectVersions) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpListObjectVersions) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*ListObjectVersionsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?versions")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsListObjectVersionsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsListObjectVersionsInput(v *ListObjectVersionsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.Delimiter != nil {
+ encoder.SetQuery("delimiter").String(*v.Delimiter)
+ }
+
+ if len(v.EncodingType) > 0 {
+ encoder.SetQuery("encoding-type").String(string(v.EncodingType))
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.KeyMarker != nil {
+ encoder.SetQuery("key-marker").String(*v.KeyMarker)
+ }
+
+ if v.MaxKeys != 0 {
+ encoder.SetQuery("max-keys").Integer(v.MaxKeys)
+ }
+
+ if v.OptionalObjectAttributes != nil {
+ locationName := "X-Amz-Optional-Object-Attributes"
+ for i := range v.OptionalObjectAttributes {
+ if len(v.OptionalObjectAttributes[i]) > 0 {
+ escaped := string(v.OptionalObjectAttributes[i])
+ if strings.Index(string(v.OptionalObjectAttributes[i]), `,`) != -1 || strings.Index(string(v.OptionalObjectAttributes[i]), `"`) != -1 {
+ escaped = strconv.Quote(string(v.OptionalObjectAttributes[i]))
+ }
+
+ encoder.AddHeader(locationName).String(string(escaped))
+ }
+ }
+ }
+
+ if v.Prefix != nil {
+ encoder.SetQuery("prefix").String(*v.Prefix)
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.VersionIdMarker != nil {
+ encoder.SetQuery("version-id-marker").String(*v.VersionIdMarker)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpListParts struct {
+}
+
+func (*awsRestxml_serializeOpListParts) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpListParts) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*ListPartsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?x-id=ListParts")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "GET"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsListPartsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsListPartsInput(v *ListPartsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if v.MaxParts != 0 {
+ encoder.SetQuery("max-parts").Integer(v.MaxParts)
+ }
+
+ if v.PartNumberMarker != nil {
+ encoder.SetQuery("part-number-marker").String(*v.PartNumberMarker)
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.SSECustomerAlgorithm != nil && len(*v.SSECustomerAlgorithm) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Algorithm"
+ encoder.SetHeader(locationName).String(*v.SSECustomerAlgorithm)
+ }
+
+ if v.SSECustomerKey != nil && len(*v.SSECustomerKey) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKey)
+ }
+
+ if v.SSECustomerKeyMD5 != nil && len(*v.SSECustomerKeyMD5) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key-Md5"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKeyMD5)
+ }
+
+ if v.UploadId != nil {
+ encoder.SetQuery("uploadId").String(*v.UploadId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketAccelerateConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketAccelerateConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketAccelerateConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketAccelerateConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?accelerate")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketAccelerateConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.AccelerateConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AccelerateConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentAccelerateConfiguration(input.AccelerateConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketAccelerateConfigurationInput(v *PutBucketAccelerateConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketAcl struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketAcl) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketAcl) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketAclInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?acl")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketAclInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.AccessControlPolicy != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AccessControlPolicy",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentAccessControlPolicy(input.AccessControlPolicy, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketAclInput(v *PutBucketAclInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ACL) > 0 {
+ locationName := "X-Amz-Acl"
+ encoder.SetHeader(locationName).String(string(v.ACL))
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.GrantFullControl != nil && len(*v.GrantFullControl) > 0 {
+ locationName := "X-Amz-Grant-Full-Control"
+ encoder.SetHeader(locationName).String(*v.GrantFullControl)
+ }
+
+ if v.GrantRead != nil && len(*v.GrantRead) > 0 {
+ locationName := "X-Amz-Grant-Read"
+ encoder.SetHeader(locationName).String(*v.GrantRead)
+ }
+
+ if v.GrantReadACP != nil && len(*v.GrantReadACP) > 0 {
+ locationName := "X-Amz-Grant-Read-Acp"
+ encoder.SetHeader(locationName).String(*v.GrantReadACP)
+ }
+
+ if v.GrantWrite != nil && len(*v.GrantWrite) > 0 {
+ locationName := "X-Amz-Grant-Write"
+ encoder.SetHeader(locationName).String(*v.GrantWrite)
+ }
+
+ if v.GrantWriteACP != nil && len(*v.GrantWriteACP) > 0 {
+ locationName := "X-Amz-Grant-Write-Acp"
+ encoder.SetHeader(locationName).String(*v.GrantWriteACP)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketAnalyticsConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketAnalyticsConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketAnalyticsConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketAnalyticsConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?analytics")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketAnalyticsConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.AnalyticsConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AnalyticsConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentAnalyticsConfiguration(input.AnalyticsConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketAnalyticsConfigurationInput(v *PutBucketAnalyticsConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Id != nil {
+ encoder.SetQuery("id").String(*v.Id)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketCors struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketCors) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketCors) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketCorsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?cors")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketCorsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.CORSConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "CORSConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentCORSConfiguration(input.CORSConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketCorsInput(v *PutBucketCorsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketEncryption struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketEncryption) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketEncryption) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketEncryptionInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?encryption")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketEncryptionInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.ServerSideEncryptionConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ServerSideEncryptionConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentServerSideEncryptionConfiguration(input.ServerSideEncryptionConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketEncryptionInput(v *PutBucketEncryptionInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketIntelligentTieringConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketIntelligentTieringConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketIntelligentTieringConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketIntelligentTieringConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?intelligent-tiering")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketIntelligentTieringConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.IntelligentTieringConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "IntelligentTieringConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentIntelligentTieringConfiguration(input.IntelligentTieringConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketIntelligentTieringConfigurationInput(v *PutBucketIntelligentTieringConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.Id != nil {
+ encoder.SetQuery("id").String(*v.Id)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketInventoryConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketInventoryConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketInventoryConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketInventoryConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?inventory")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketInventoryConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.InventoryConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "InventoryConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentInventoryConfiguration(input.InventoryConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketInventoryConfigurationInput(v *PutBucketInventoryConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Id != nil {
+ encoder.SetQuery("id").String(*v.Id)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketLifecycleConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketLifecycleConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketLifecycleConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketLifecycleConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?lifecycle")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketLifecycleConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.LifecycleConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "LifecycleConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentBucketLifecycleConfiguration(input.LifecycleConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketLifecycleConfigurationInput(v *PutBucketLifecycleConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketLogging struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketLogging) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketLogging) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketLoggingInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?logging")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketLoggingInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.BucketLoggingStatus != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "BucketLoggingStatus",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentBucketLoggingStatus(input.BucketLoggingStatus, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketLoggingInput(v *PutBucketLoggingInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketMetricsConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketMetricsConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketMetricsConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketMetricsConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?metrics")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketMetricsConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.MetricsConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "MetricsConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentMetricsConfiguration(input.MetricsConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketMetricsConfigurationInput(v *PutBucketMetricsConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Id != nil {
+ encoder.SetQuery("id").String(*v.Id)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketNotificationConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketNotificationConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketNotificationConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketNotificationConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?notification")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketNotificationConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.NotificationConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "NotificationConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentNotificationConfiguration(input.NotificationConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketNotificationConfigurationInput(v *PutBucketNotificationConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.SkipDestinationValidation {
+ locationName := "X-Amz-Skip-Destination-Validation"
+ encoder.SetHeader(locationName).Boolean(v.SkipDestinationValidation)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketOwnershipControls struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketOwnershipControls) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketOwnershipControls) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketOwnershipControlsInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?ownershipControls")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketOwnershipControlsInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.OwnershipControls != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "OwnershipControls",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentOwnershipControls(input.OwnershipControls, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketOwnershipControlsInput(v *PutBucketOwnershipControlsInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketPolicy struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketPolicy) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketPolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketPolicyInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?policy")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketPolicyInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("text/plain")
+ }
+
+ if input.Policy != nil {
+ payload := strings.NewReader(*input.Policy)
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketPolicyInput(v *PutBucketPolicyInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ConfirmRemoveSelfBucketAccess {
+ locationName := "X-Amz-Confirm-Remove-Self-Bucket-Access"
+ encoder.SetHeader(locationName).Boolean(v.ConfirmRemoveSelfBucketAccess)
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketReplication struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketReplication) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketReplication) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketReplicationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?replication")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketReplicationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.ReplicationConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ReplicationConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentReplicationConfiguration(input.ReplicationConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketReplicationInput(v *PutBucketReplicationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Token != nil && len(*v.Token) > 0 {
+ locationName := "X-Amz-Bucket-Object-Lock-Token"
+ encoder.SetHeader(locationName).String(*v.Token)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketRequestPayment struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketRequestPayment) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketRequestPayment) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketRequestPaymentInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?requestPayment")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketRequestPaymentInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.RequestPaymentConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "RequestPaymentConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentRequestPaymentConfiguration(input.RequestPaymentConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketRequestPaymentInput(v *PutBucketRequestPaymentInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketTagging struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketTagging) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketTagging) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketTaggingInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?tagging")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketTaggingInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.Tagging != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tagging",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentTagging(input.Tagging, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketTaggingInput(v *PutBucketTaggingInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketVersioning struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketVersioning) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketVersioning) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketVersioningInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?versioning")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketVersioningInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.VersioningConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "VersioningConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentVersioningConfiguration(input.VersioningConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketVersioningInput(v *PutBucketVersioningInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.MFA != nil && len(*v.MFA) > 0 {
+ locationName := "X-Amz-Mfa"
+ encoder.SetHeader(locationName).String(*v.MFA)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutBucketWebsite struct {
+}
+
+func (*awsRestxml_serializeOpPutBucketWebsite) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutBucketWebsite) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutBucketWebsiteInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?website")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutBucketWebsiteInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.WebsiteConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "WebsiteConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentWebsiteConfiguration(input.WebsiteConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutBucketWebsiteInput(v *PutBucketWebsiteInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutObject struct {
+}
+
+func (*awsRestxml_serializeOpPutObject) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutObject) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutObjectInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?x-id=PutObject")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutObjectInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/octet-stream")
+ }
+
+ if input.Body != nil {
+ payload := input.Body
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutObjectInput(v *PutObjectInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ACL) > 0 {
+ locationName := "X-Amz-Acl"
+ encoder.SetHeader(locationName).String(string(v.ACL))
+ }
+
+ if v.BucketKeyEnabled {
+ locationName := "X-Amz-Server-Side-Encryption-Bucket-Key-Enabled"
+ encoder.SetHeader(locationName).Boolean(v.BucketKeyEnabled)
+ }
+
+ if v.CacheControl != nil && len(*v.CacheControl) > 0 {
+ locationName := "Cache-Control"
+ encoder.SetHeader(locationName).String(*v.CacheControl)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ChecksumCRC32 != nil && len(*v.ChecksumCRC32) > 0 {
+ locationName := "X-Amz-Checksum-Crc32"
+ encoder.SetHeader(locationName).String(*v.ChecksumCRC32)
+ }
+
+ if v.ChecksumCRC32C != nil && len(*v.ChecksumCRC32C) > 0 {
+ locationName := "X-Amz-Checksum-Crc32c"
+ encoder.SetHeader(locationName).String(*v.ChecksumCRC32C)
+ }
+
+ if v.ChecksumSHA1 != nil && len(*v.ChecksumSHA1) > 0 {
+ locationName := "X-Amz-Checksum-Sha1"
+ encoder.SetHeader(locationName).String(*v.ChecksumSHA1)
+ }
+
+ if v.ChecksumSHA256 != nil && len(*v.ChecksumSHA256) > 0 {
+ locationName := "X-Amz-Checksum-Sha256"
+ encoder.SetHeader(locationName).String(*v.ChecksumSHA256)
+ }
+
+ if v.ContentDisposition != nil && len(*v.ContentDisposition) > 0 {
+ locationName := "Content-Disposition"
+ encoder.SetHeader(locationName).String(*v.ContentDisposition)
+ }
+
+ if v.ContentEncoding != nil && len(*v.ContentEncoding) > 0 {
+ locationName := "Content-Encoding"
+ encoder.SetHeader(locationName).String(*v.ContentEncoding)
+ }
+
+ if v.ContentLanguage != nil && len(*v.ContentLanguage) > 0 {
+ locationName := "Content-Language"
+ encoder.SetHeader(locationName).String(*v.ContentLanguage)
+ }
+
+ if v.ContentLength != 0 {
+ locationName := "Content-Length"
+ encoder.SetHeader(locationName).Long(v.ContentLength)
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ContentType != nil && len(*v.ContentType) > 0 {
+ locationName := "Content-Type"
+ encoder.SetHeader(locationName).String(*v.ContentType)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Expires != nil {
+ locationName := "Expires"
+ encoder.SetHeader(locationName).String(smithytime.FormatHTTPDate(*v.Expires))
+ }
+
+ if v.GrantFullControl != nil && len(*v.GrantFullControl) > 0 {
+ locationName := "X-Amz-Grant-Full-Control"
+ encoder.SetHeader(locationName).String(*v.GrantFullControl)
+ }
+
+ if v.GrantRead != nil && len(*v.GrantRead) > 0 {
+ locationName := "X-Amz-Grant-Read"
+ encoder.SetHeader(locationName).String(*v.GrantRead)
+ }
+
+ if v.GrantReadACP != nil && len(*v.GrantReadACP) > 0 {
+ locationName := "X-Amz-Grant-Read-Acp"
+ encoder.SetHeader(locationName).String(*v.GrantReadACP)
+ }
+
+ if v.GrantWriteACP != nil && len(*v.GrantWriteACP) > 0 {
+ locationName := "X-Amz-Grant-Write-Acp"
+ encoder.SetHeader(locationName).String(*v.GrantWriteACP)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if v.Metadata != nil {
+ hv := encoder.Headers("X-Amz-Meta-")
+ for mapKey, mapVal := range v.Metadata {
+ if len(mapVal) > 0 {
+ hv.SetHeader(http.CanonicalHeaderKey(mapKey)).String(mapVal)
+ }
+ }
+ }
+
+ if len(v.ObjectLockLegalHoldStatus) > 0 {
+ locationName := "X-Amz-Object-Lock-Legal-Hold"
+ encoder.SetHeader(locationName).String(string(v.ObjectLockLegalHoldStatus))
+ }
+
+ if len(v.ObjectLockMode) > 0 {
+ locationName := "X-Amz-Object-Lock-Mode"
+ encoder.SetHeader(locationName).String(string(v.ObjectLockMode))
+ }
+
+ if v.ObjectLockRetainUntilDate != nil {
+ locationName := "X-Amz-Object-Lock-Retain-Until-Date"
+ encoder.SetHeader(locationName).String(smithytime.FormatDateTime(*v.ObjectLockRetainUntilDate))
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if len(v.ServerSideEncryption) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption"
+ encoder.SetHeader(locationName).String(string(v.ServerSideEncryption))
+ }
+
+ if v.SSECustomerAlgorithm != nil && len(*v.SSECustomerAlgorithm) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Algorithm"
+ encoder.SetHeader(locationName).String(*v.SSECustomerAlgorithm)
+ }
+
+ if v.SSECustomerKey != nil && len(*v.SSECustomerKey) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKey)
+ }
+
+ if v.SSECustomerKeyMD5 != nil && len(*v.SSECustomerKeyMD5) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key-Md5"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKeyMD5)
+ }
+
+ if v.SSEKMSEncryptionContext != nil && len(*v.SSEKMSEncryptionContext) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Context"
+ encoder.SetHeader(locationName).String(*v.SSEKMSEncryptionContext)
+ }
+
+ if v.SSEKMSKeyId != nil && len(*v.SSEKMSKeyId) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Aws-Kms-Key-Id"
+ encoder.SetHeader(locationName).String(*v.SSEKMSKeyId)
+ }
+
+ if len(v.StorageClass) > 0 {
+ locationName := "X-Amz-Storage-Class"
+ encoder.SetHeader(locationName).String(string(v.StorageClass))
+ }
+
+ if v.Tagging != nil && len(*v.Tagging) > 0 {
+ locationName := "X-Amz-Tagging"
+ encoder.SetHeader(locationName).String(*v.Tagging)
+ }
+
+ if v.WebsiteRedirectLocation != nil && len(*v.WebsiteRedirectLocation) > 0 {
+ locationName := "X-Amz-Website-Redirect-Location"
+ encoder.SetHeader(locationName).String(*v.WebsiteRedirectLocation)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutObjectAcl struct {
+}
+
+func (*awsRestxml_serializeOpPutObjectAcl) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutObjectAcl) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutObjectAclInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?acl")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutObjectAclInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.AccessControlPolicy != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AccessControlPolicy",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentAccessControlPolicy(input.AccessControlPolicy, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutObjectAclInput(v *PutObjectAclInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ACL) > 0 {
+ locationName := "X-Amz-Acl"
+ encoder.SetHeader(locationName).String(string(v.ACL))
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.GrantFullControl != nil && len(*v.GrantFullControl) > 0 {
+ locationName := "X-Amz-Grant-Full-Control"
+ encoder.SetHeader(locationName).String(*v.GrantFullControl)
+ }
+
+ if v.GrantRead != nil && len(*v.GrantRead) > 0 {
+ locationName := "X-Amz-Grant-Read"
+ encoder.SetHeader(locationName).String(*v.GrantRead)
+ }
+
+ if v.GrantReadACP != nil && len(*v.GrantReadACP) > 0 {
+ locationName := "X-Amz-Grant-Read-Acp"
+ encoder.SetHeader(locationName).String(*v.GrantReadACP)
+ }
+
+ if v.GrantWrite != nil && len(*v.GrantWrite) > 0 {
+ locationName := "X-Amz-Grant-Write"
+ encoder.SetHeader(locationName).String(*v.GrantWrite)
+ }
+
+ if v.GrantWriteACP != nil && len(*v.GrantWriteACP) > 0 {
+ locationName := "X-Amz-Grant-Write-Acp"
+ encoder.SetHeader(locationName).String(*v.GrantWriteACP)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.VersionId != nil {
+ encoder.SetQuery("versionId").String(*v.VersionId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutObjectLegalHold struct {
+}
+
+func (*awsRestxml_serializeOpPutObjectLegalHold) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutObjectLegalHold) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutObjectLegalHoldInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?legal-hold")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutObjectLegalHoldInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.LegalHold != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "LegalHold",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentObjectLockLegalHold(input.LegalHold, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutObjectLegalHoldInput(v *PutObjectLegalHoldInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.VersionId != nil {
+ encoder.SetQuery("versionId").String(*v.VersionId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutObjectLockConfiguration struct {
+}
+
+func (*awsRestxml_serializeOpPutObjectLockConfiguration) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutObjectLockConfiguration) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutObjectLockConfigurationInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?object-lock")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutObjectLockConfigurationInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.ObjectLockConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ObjectLockConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentObjectLockConfiguration(input.ObjectLockConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutObjectLockConfigurationInput(v *PutObjectLockConfigurationInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.Token != nil && len(*v.Token) > 0 {
+ locationName := "X-Amz-Bucket-Object-Lock-Token"
+ encoder.SetHeader(locationName).String(*v.Token)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutObjectRetention struct {
+}
+
+func (*awsRestxml_serializeOpPutObjectRetention) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutObjectRetention) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutObjectRetentionInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?retention")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutObjectRetentionInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.Retention != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Retention",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentObjectLockRetention(input.Retention, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutObjectRetentionInput(v *PutObjectRetentionInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.BypassGovernanceRetention {
+ locationName := "X-Amz-Bypass-Governance-Retention"
+ encoder.SetHeader(locationName).Boolean(v.BypassGovernanceRetention)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.VersionId != nil {
+ encoder.SetQuery("versionId").String(*v.VersionId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutObjectTagging struct {
+}
+
+func (*awsRestxml_serializeOpPutObjectTagging) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutObjectTagging) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutObjectTaggingInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?tagging")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutObjectTaggingInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.Tagging != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tagging",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentTagging(input.Tagging, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutObjectTaggingInput(v *PutObjectTaggingInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.VersionId != nil {
+ encoder.SetQuery("versionId").String(*v.VersionId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpPutPublicAccessBlock struct {
+}
+
+func (*awsRestxml_serializeOpPutPublicAccessBlock) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpPutPublicAccessBlock) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*PutPublicAccessBlockInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/?publicAccessBlock")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsPutPublicAccessBlockInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.PublicAccessBlockConfiguration != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "PublicAccessBlockConfiguration",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentPublicAccessBlockConfiguration(input.PublicAccessBlockConfiguration, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsPutPublicAccessBlockInput(v *PutPublicAccessBlockInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpRestoreObject struct {
+}
+
+func (*awsRestxml_serializeOpRestoreObject) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpRestoreObject) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*RestoreObjectInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?restore&x-id=RestoreObject")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "POST"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsRestoreObjectInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if input.RestoreRequest != nil {
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+ }
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ payloadRootAttr := []smithyxml.Attr{}
+ payloadRoot := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "RestoreRequest",
+ },
+ Attr: payloadRootAttr,
+ }
+ payloadRoot.Attr = append(payloadRoot.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeDocumentRestoreRequest(input.RestoreRequest, xmlEncoder.RootElement(payloadRoot)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ payload := bytes.NewReader(xmlEncoder.Bytes())
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsRestoreObjectInput(v *RestoreObjectInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.VersionId != nil {
+ encoder.SetQuery("versionId").String(*v.VersionId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpSelectObjectContent struct {
+}
+
+func (*awsRestxml_serializeOpSelectObjectContent) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpSelectObjectContent) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*SelectObjectContentInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?select&select-type=2&x-id=SelectObjectContent")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "POST"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsSelectObjectContentInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ restEncoder.SetHeader("Content-Type").String("application/xml")
+
+ xmlEncoder := smithyxml.NewEncoder(bytes.NewBuffer(nil))
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "SelectObjectContentRequest",
+ },
+ Attr: rootAttr,
+ }
+ root.Attr = append(root.Attr, smithyxml.NewNamespaceAttribute("", "http://s3.amazonaws.com/doc/2006-03-01/"))
+ if err := awsRestxml_serializeOpDocumentSelectObjectContentInput(input, xmlEncoder.RootElement(root)); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ if request, err = request.SetStream(bytes.NewReader(xmlEncoder.Bytes())); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsSelectObjectContentInput(v *SelectObjectContentInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ if v.SSECustomerAlgorithm != nil && len(*v.SSECustomerAlgorithm) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Algorithm"
+ encoder.SetHeader(locationName).String(*v.SSECustomerAlgorithm)
+ }
+
+ if v.SSECustomerKey != nil && len(*v.SSECustomerKey) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKey)
+ }
+
+ if v.SSECustomerKeyMD5 != nil && len(*v.SSECustomerKeyMD5) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key-Md5"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKeyMD5)
+ }
+
+ return nil
+}
+
+func awsRestxml_serializeOpDocumentSelectObjectContentInput(v *SelectObjectContentInput, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Expression != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Expression",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Expression)
+ }
+ if len(v.ExpressionType) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ExpressionType",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.ExpressionType))
+ }
+ if v.InputSerialization != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "InputSerialization",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentInputSerialization(v.InputSerialization, el); err != nil {
+ return err
+ }
+ }
+ if v.OutputSerialization != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "OutputSerialization",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentOutputSerialization(v.OutputSerialization, el); err != nil {
+ return err
+ }
+ }
+ if v.RequestProgress != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "RequestProgress",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentRequestProgress(v.RequestProgress, el); err != nil {
+ return err
+ }
+ }
+ if v.ScanRange != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ScanRange",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentScanRange(v.ScanRange, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+type awsRestxml_serializeOpUploadPart struct {
+}
+
+func (*awsRestxml_serializeOpUploadPart) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpUploadPart) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*UploadPartInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?x-id=UploadPart")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsUploadPartInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/octet-stream")
+ }
+
+ if input.Body != nil {
+ payload := input.Body
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsUploadPartInput(v *UploadPartInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if len(v.ChecksumAlgorithm) > 0 {
+ locationName := "X-Amz-Sdk-Checksum-Algorithm"
+ encoder.SetHeader(locationName).String(string(v.ChecksumAlgorithm))
+ }
+
+ if v.ChecksumCRC32 != nil && len(*v.ChecksumCRC32) > 0 {
+ locationName := "X-Amz-Checksum-Crc32"
+ encoder.SetHeader(locationName).String(*v.ChecksumCRC32)
+ }
+
+ if v.ChecksumCRC32C != nil && len(*v.ChecksumCRC32C) > 0 {
+ locationName := "X-Amz-Checksum-Crc32c"
+ encoder.SetHeader(locationName).String(*v.ChecksumCRC32C)
+ }
+
+ if v.ChecksumSHA1 != nil && len(*v.ChecksumSHA1) > 0 {
+ locationName := "X-Amz-Checksum-Sha1"
+ encoder.SetHeader(locationName).String(*v.ChecksumSHA1)
+ }
+
+ if v.ChecksumSHA256 != nil && len(*v.ChecksumSHA256) > 0 {
+ locationName := "X-Amz-Checksum-Sha256"
+ encoder.SetHeader(locationName).String(*v.ChecksumSHA256)
+ }
+
+ if v.ContentLength != 0 {
+ locationName := "Content-Length"
+ encoder.SetHeader(locationName).Long(v.ContentLength)
+ }
+
+ if v.ContentMD5 != nil && len(*v.ContentMD5) > 0 {
+ locationName := "Content-Md5"
+ encoder.SetHeader(locationName).String(*v.ContentMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ {
+ encoder.SetQuery("partNumber").Integer(v.PartNumber)
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.SSECustomerAlgorithm != nil && len(*v.SSECustomerAlgorithm) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Algorithm"
+ encoder.SetHeader(locationName).String(*v.SSECustomerAlgorithm)
+ }
+
+ if v.SSECustomerKey != nil && len(*v.SSECustomerKey) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKey)
+ }
+
+ if v.SSECustomerKeyMD5 != nil && len(*v.SSECustomerKeyMD5) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key-Md5"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKeyMD5)
+ }
+
+ if v.UploadId != nil {
+ encoder.SetQuery("uploadId").String(*v.UploadId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpUploadPartCopy struct {
+}
+
+func (*awsRestxml_serializeOpUploadPartCopy) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpUploadPartCopy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*UploadPartCopyInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/{Key+}?x-id=UploadPartCopy")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "PUT"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsUploadPartCopyInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsUploadPartCopyInput(v *UploadPartCopyInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.CopySource != nil && len(*v.CopySource) > 0 {
+ locationName := "X-Amz-Copy-Source"
+ encoder.SetHeader(locationName).String(*v.CopySource)
+ }
+
+ if v.CopySourceIfMatch != nil && len(*v.CopySourceIfMatch) > 0 {
+ locationName := "X-Amz-Copy-Source-If-Match"
+ encoder.SetHeader(locationName).String(*v.CopySourceIfMatch)
+ }
+
+ if v.CopySourceIfModifiedSince != nil {
+ locationName := "X-Amz-Copy-Source-If-Modified-Since"
+ encoder.SetHeader(locationName).String(smithytime.FormatHTTPDate(*v.CopySourceIfModifiedSince))
+ }
+
+ if v.CopySourceIfNoneMatch != nil && len(*v.CopySourceIfNoneMatch) > 0 {
+ locationName := "X-Amz-Copy-Source-If-None-Match"
+ encoder.SetHeader(locationName).String(*v.CopySourceIfNoneMatch)
+ }
+
+ if v.CopySourceIfUnmodifiedSince != nil {
+ locationName := "X-Amz-Copy-Source-If-Unmodified-Since"
+ encoder.SetHeader(locationName).String(smithytime.FormatHTTPDate(*v.CopySourceIfUnmodifiedSince))
+ }
+
+ if v.CopySourceRange != nil && len(*v.CopySourceRange) > 0 {
+ locationName := "X-Amz-Copy-Source-Range"
+ encoder.SetHeader(locationName).String(*v.CopySourceRange)
+ }
+
+ if v.CopySourceSSECustomerAlgorithm != nil && len(*v.CopySourceSSECustomerAlgorithm) > 0 {
+ locationName := "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Algorithm"
+ encoder.SetHeader(locationName).String(*v.CopySourceSSECustomerAlgorithm)
+ }
+
+ if v.CopySourceSSECustomerKey != nil && len(*v.CopySourceSSECustomerKey) > 0 {
+ locationName := "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key"
+ encoder.SetHeader(locationName).String(*v.CopySourceSSECustomerKey)
+ }
+
+ if v.CopySourceSSECustomerKeyMD5 != nil && len(*v.CopySourceSSECustomerKeyMD5) > 0 {
+ locationName := "X-Amz-Copy-Source-Server-Side-Encryption-Customer-Key-Md5"
+ encoder.SetHeader(locationName).String(*v.CopySourceSSECustomerKeyMD5)
+ }
+
+ if v.ExpectedBucketOwner != nil && len(*v.ExpectedBucketOwner) > 0 {
+ locationName := "X-Amz-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedBucketOwner)
+ }
+
+ if v.ExpectedSourceBucketOwner != nil && len(*v.ExpectedSourceBucketOwner) > 0 {
+ locationName := "X-Amz-Source-Expected-Bucket-Owner"
+ encoder.SetHeader(locationName).String(*v.ExpectedSourceBucketOwner)
+ }
+
+ if v.Key == nil || len(*v.Key) == 0 {
+ return &smithy.SerializationError{Err: fmt.Errorf("input member Key must not be empty")}
+ }
+ if v.Key != nil {
+ if err := encoder.SetURI("Key").String(*v.Key); err != nil {
+ return err
+ }
+ }
+
+ {
+ encoder.SetQuery("partNumber").Integer(v.PartNumber)
+ }
+
+ if len(v.RequestPayer) > 0 {
+ locationName := "X-Amz-Request-Payer"
+ encoder.SetHeader(locationName).String(string(v.RequestPayer))
+ }
+
+ if v.SSECustomerAlgorithm != nil && len(*v.SSECustomerAlgorithm) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Algorithm"
+ encoder.SetHeader(locationName).String(*v.SSECustomerAlgorithm)
+ }
+
+ if v.SSECustomerKey != nil && len(*v.SSECustomerKey) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKey)
+ }
+
+ if v.SSECustomerKeyMD5 != nil && len(*v.SSECustomerKeyMD5) > 0 {
+ locationName := "X-Amz-Server-Side-Encryption-Customer-Key-Md5"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKeyMD5)
+ }
+
+ if v.UploadId != nil {
+ encoder.SetQuery("uploadId").String(*v.UploadId)
+ }
+
+ return nil
+}
+
+type awsRestxml_serializeOpWriteGetObjectResponse struct {
+}
+
+func (*awsRestxml_serializeOpWriteGetObjectResponse) ID() string {
+ return "OperationSerializer"
+}
+
+func (m *awsRestxml_serializeOpWriteGetObjectResponse) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) (
+ out middleware.SerializeOutput, metadata middleware.Metadata, err error,
+) {
+ request, ok := in.Request.(*smithyhttp.Request)
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)}
+ }
+
+ input, ok := in.Parameters.(*WriteGetObjectResponseInput)
+ _ = input
+ if !ok {
+ return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
+ }
+
+ opPath, opQuery := httpbinding.SplitURI("/WriteGetObjectResponse?x-id=WriteGetObjectResponse")
+ request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath)
+ request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery)
+ request.Method = "POST"
+ var restEncoder *httpbinding.Encoder
+ if request.URL.RawPath == "" {
+ restEncoder, err = httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
+ } else {
+ request.URL.RawPath = smithyhttp.JoinPath(request.URL.RawPath, opPath)
+ restEncoder, err = httpbinding.NewEncoderWithRawPath(request.URL.Path, request.URL.RawPath, request.URL.RawQuery, request.Header)
+ }
+
+ if err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if err := awsRestxml_serializeOpHttpBindingsWriteGetObjectResponseInput(input, restEncoder); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+
+ if !restEncoder.HasHeader("Content-Type") {
+ ctx = smithyhttp.SetIsContentTypeDefaultValue(ctx, true)
+ restEncoder.SetHeader("Content-Type").String("application/octet-stream")
+ }
+
+ if input.Body != nil {
+ payload := input.Body
+ if request, err = request.SetStream(payload); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ }
+
+ if request.Request, err = restEncoder.Encode(request.Request); err != nil {
+ return out, metadata, &smithy.SerializationError{Err: err}
+ }
+ in.Request = request
+
+ return next.HandleSerialize(ctx, in)
+}
+func awsRestxml_serializeOpHttpBindingsWriteGetObjectResponseInput(v *WriteGetObjectResponseInput, encoder *httpbinding.Encoder) error {
+ if v == nil {
+ return fmt.Errorf("unsupported serialization of nil %T", v)
+ }
+
+ if v.AcceptRanges != nil && len(*v.AcceptRanges) > 0 {
+ locationName := "X-Amz-Fwd-Header-Accept-Ranges"
+ encoder.SetHeader(locationName).String(*v.AcceptRanges)
+ }
+
+ if v.BucketKeyEnabled {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Server-Side-Encryption-Bucket-Key-Enabled"
+ encoder.SetHeader(locationName).Boolean(v.BucketKeyEnabled)
+ }
+
+ if v.CacheControl != nil && len(*v.CacheControl) > 0 {
+ locationName := "X-Amz-Fwd-Header-Cache-Control"
+ encoder.SetHeader(locationName).String(*v.CacheControl)
+ }
+
+ if v.ChecksumCRC32 != nil && len(*v.ChecksumCRC32) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Checksum-Crc32"
+ encoder.SetHeader(locationName).String(*v.ChecksumCRC32)
+ }
+
+ if v.ChecksumCRC32C != nil && len(*v.ChecksumCRC32C) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Checksum-Crc32c"
+ encoder.SetHeader(locationName).String(*v.ChecksumCRC32C)
+ }
+
+ if v.ChecksumSHA1 != nil && len(*v.ChecksumSHA1) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Checksum-Sha1"
+ encoder.SetHeader(locationName).String(*v.ChecksumSHA1)
+ }
+
+ if v.ChecksumSHA256 != nil && len(*v.ChecksumSHA256) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Checksum-Sha256"
+ encoder.SetHeader(locationName).String(*v.ChecksumSHA256)
+ }
+
+ if v.ContentDisposition != nil && len(*v.ContentDisposition) > 0 {
+ locationName := "X-Amz-Fwd-Header-Content-Disposition"
+ encoder.SetHeader(locationName).String(*v.ContentDisposition)
+ }
+
+ if v.ContentEncoding != nil && len(*v.ContentEncoding) > 0 {
+ locationName := "X-Amz-Fwd-Header-Content-Encoding"
+ encoder.SetHeader(locationName).String(*v.ContentEncoding)
+ }
+
+ if v.ContentLanguage != nil && len(*v.ContentLanguage) > 0 {
+ locationName := "X-Amz-Fwd-Header-Content-Language"
+ encoder.SetHeader(locationName).String(*v.ContentLanguage)
+ }
+
+ if v.ContentLength != 0 {
+ locationName := "Content-Length"
+ encoder.SetHeader(locationName).Long(v.ContentLength)
+ }
+
+ if v.ContentRange != nil && len(*v.ContentRange) > 0 {
+ locationName := "X-Amz-Fwd-Header-Content-Range"
+ encoder.SetHeader(locationName).String(*v.ContentRange)
+ }
+
+ if v.ContentType != nil && len(*v.ContentType) > 0 {
+ locationName := "X-Amz-Fwd-Header-Content-Type"
+ encoder.SetHeader(locationName).String(*v.ContentType)
+ }
+
+ if v.DeleteMarker {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Delete-Marker"
+ encoder.SetHeader(locationName).Boolean(v.DeleteMarker)
+ }
+
+ if v.ErrorCode != nil && len(*v.ErrorCode) > 0 {
+ locationName := "X-Amz-Fwd-Error-Code"
+ encoder.SetHeader(locationName).String(*v.ErrorCode)
+ }
+
+ if v.ErrorMessage != nil && len(*v.ErrorMessage) > 0 {
+ locationName := "X-Amz-Fwd-Error-Message"
+ encoder.SetHeader(locationName).String(*v.ErrorMessage)
+ }
+
+ if v.ETag != nil && len(*v.ETag) > 0 {
+ locationName := "X-Amz-Fwd-Header-Etag"
+ encoder.SetHeader(locationName).String(*v.ETag)
+ }
+
+ if v.Expiration != nil && len(*v.Expiration) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Expiration"
+ encoder.SetHeader(locationName).String(*v.Expiration)
+ }
+
+ if v.Expires != nil {
+ locationName := "X-Amz-Fwd-Header-Expires"
+ encoder.SetHeader(locationName).String(smithytime.FormatHTTPDate(*v.Expires))
+ }
+
+ if v.LastModified != nil {
+ locationName := "X-Amz-Fwd-Header-Last-Modified"
+ encoder.SetHeader(locationName).String(smithytime.FormatHTTPDate(*v.LastModified))
+ }
+
+ if v.Metadata != nil {
+ hv := encoder.Headers("X-Amz-Meta-")
+ for mapKey, mapVal := range v.Metadata {
+ if len(mapVal) > 0 {
+ hv.SetHeader(http.CanonicalHeaderKey(mapKey)).String(mapVal)
+ }
+ }
+ }
+
+ if v.MissingMeta != 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Missing-Meta"
+ encoder.SetHeader(locationName).Integer(v.MissingMeta)
+ }
+
+ if len(v.ObjectLockLegalHoldStatus) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Object-Lock-Legal-Hold"
+ encoder.SetHeader(locationName).String(string(v.ObjectLockLegalHoldStatus))
+ }
+
+ if len(v.ObjectLockMode) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Object-Lock-Mode"
+ encoder.SetHeader(locationName).String(string(v.ObjectLockMode))
+ }
+
+ if v.ObjectLockRetainUntilDate != nil {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Object-Lock-Retain-Until-Date"
+ encoder.SetHeader(locationName).String(smithytime.FormatDateTime(*v.ObjectLockRetainUntilDate))
+ }
+
+ if v.PartsCount != 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Mp-Parts-Count"
+ encoder.SetHeader(locationName).Integer(v.PartsCount)
+ }
+
+ if len(v.ReplicationStatus) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Replication-Status"
+ encoder.SetHeader(locationName).String(string(v.ReplicationStatus))
+ }
+
+ if len(v.RequestCharged) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Request-Charged"
+ encoder.SetHeader(locationName).String(string(v.RequestCharged))
+ }
+
+ if v.RequestRoute != nil && len(*v.RequestRoute) > 0 {
+ locationName := "X-Amz-Request-Route"
+ encoder.SetHeader(locationName).String(*v.RequestRoute)
+ }
+
+ if v.RequestToken != nil && len(*v.RequestToken) > 0 {
+ locationName := "X-Amz-Request-Token"
+ encoder.SetHeader(locationName).String(*v.RequestToken)
+ }
+
+ if v.Restore != nil && len(*v.Restore) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Restore"
+ encoder.SetHeader(locationName).String(*v.Restore)
+ }
+
+ if len(v.ServerSideEncryption) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Server-Side-Encryption"
+ encoder.SetHeader(locationName).String(string(v.ServerSideEncryption))
+ }
+
+ if v.SSECustomerAlgorithm != nil && len(*v.SSECustomerAlgorithm) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Server-Side-Encryption-Customer-Algorithm"
+ encoder.SetHeader(locationName).String(*v.SSECustomerAlgorithm)
+ }
+
+ if v.SSECustomerKeyMD5 != nil && len(*v.SSECustomerKeyMD5) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Server-Side-Encryption-Customer-Key-Md5"
+ encoder.SetHeader(locationName).String(*v.SSECustomerKeyMD5)
+ }
+
+ if v.SSEKMSKeyId != nil && len(*v.SSEKMSKeyId) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Server-Side-Encryption-Aws-Kms-Key-Id"
+ encoder.SetHeader(locationName).String(*v.SSEKMSKeyId)
+ }
+
+ if v.StatusCode != 0 {
+ locationName := "X-Amz-Fwd-Status"
+ encoder.SetHeader(locationName).Integer(v.StatusCode)
+ }
+
+ if len(v.StorageClass) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Storage-Class"
+ encoder.SetHeader(locationName).String(string(v.StorageClass))
+ }
+
+ if v.TagCount != 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Tagging-Count"
+ encoder.SetHeader(locationName).Integer(v.TagCount)
+ }
+
+ if v.VersionId != nil && len(*v.VersionId) > 0 {
+ locationName := "X-Amz-Fwd-Header-X-Amz-Version-Id"
+ encoder.SetHeader(locationName).String(*v.VersionId)
+ }
+
+ return nil
+}
+
+func awsRestxml_serializeDocumentAbortIncompleteMultipartUpload(v *types.AbortIncompleteMultipartUpload, value smithyxml.Value) error {
+ defer value.Close()
+ if v.DaysAfterInitiation != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "DaysAfterInitiation",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Integer(v.DaysAfterInitiation)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentAccelerateConfiguration(v *types.AccelerateConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.Status) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Status",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Status))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentAccessControlPolicy(v *types.AccessControlPolicy, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Grants != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AccessControlList",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentGrants(v.Grants, el); err != nil {
+ return err
+ }
+ }
+ if v.Owner != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Owner",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentOwner(v.Owner, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentAccessControlTranslation(v *types.AccessControlTranslation, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.Owner) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Owner",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Owner))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentAllowedHeaders(v []string, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ am.String(v[i])
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentAllowedMethods(v []string, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ am.String(v[i])
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentAllowedOrigins(v []string, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ am.String(v[i])
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentAnalyticsAndOperator(v *types.AnalyticsAndOperator, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Prefix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Prefix)
+ }
+ if v.Tags != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tag",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentTagSet(v.Tags, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentAnalyticsConfiguration(v *types.AnalyticsConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Filter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Filter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentAnalyticsFilter(v.Filter, el); err != nil {
+ return err
+ }
+ }
+ if v.Id != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Id",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Id)
+ }
+ if v.StorageClassAnalysis != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "StorageClassAnalysis",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentStorageClassAnalysis(v.StorageClassAnalysis, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentAnalyticsExportDestination(v *types.AnalyticsExportDestination, value smithyxml.Value) error {
+ defer value.Close()
+ if v.S3BucketDestination != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "S3BucketDestination",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentAnalyticsS3BucketDestination(v.S3BucketDestination, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentAnalyticsFilter(v types.AnalyticsFilter, value smithyxml.Value) error {
+ defer value.Close()
+ switch uv := v.(type) {
+ case *types.AnalyticsFilterMemberAnd:
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "And",
+ },
+ Attr: customMemberNameAttr,
+ }
+ av := value.MemberElement(customMemberName)
+ if err := awsRestxml_serializeDocumentAnalyticsAndOperator(&uv.Value, av); err != nil {
+ return err
+ }
+
+ case *types.AnalyticsFilterMemberPrefix:
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: customMemberNameAttr,
+ }
+ av := value.MemberElement(customMemberName)
+ av.String(uv.Value)
+
+ case *types.AnalyticsFilterMemberTag:
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tag",
+ },
+ Attr: customMemberNameAttr,
+ }
+ av := value.MemberElement(customMemberName)
+ if err := awsRestxml_serializeDocumentTag(&uv.Value, av); err != nil {
+ return err
+ }
+
+ default:
+ return fmt.Errorf("attempted to serialize unknown member type %T for union %T", uv, v)
+
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentAnalyticsS3BucketDestination(v *types.AnalyticsS3BucketDestination, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Bucket != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Bucket",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Bucket)
+ }
+ if v.BucketAccountId != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "BucketAccountId",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.BucketAccountId)
+ }
+ if len(v.Format) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Format",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Format))
+ }
+ if v.Prefix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Prefix)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentBucketLifecycleConfiguration(v *types.BucketLifecycleConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Rules != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Rule",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentLifecycleRules(v.Rules, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentBucketLoggingStatus(v *types.BucketLoggingStatus, value smithyxml.Value) error {
+ defer value.Close()
+ if v.LoggingEnabled != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "LoggingEnabled",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentLoggingEnabled(v.LoggingEnabled, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentCompletedMultipartUpload(v *types.CompletedMultipartUpload, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Parts != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Part",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentCompletedPartList(v.Parts, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentCompletedPart(v *types.CompletedPart, value smithyxml.Value) error {
+ defer value.Close()
+ if v.ChecksumCRC32 != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ChecksumCRC32",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.ChecksumCRC32)
+ }
+ if v.ChecksumCRC32C != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ChecksumCRC32C",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.ChecksumCRC32C)
+ }
+ if v.ChecksumSHA1 != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ChecksumSHA1",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.ChecksumSHA1)
+ }
+ if v.ChecksumSHA256 != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ChecksumSHA256",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.ChecksumSHA256)
+ }
+ if v.ETag != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ETag",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.ETag)
+ }
+ if v.PartNumber != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "PartNumber",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Integer(v.PartNumber)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentCompletedPartList(v []types.CompletedPart, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentCompletedPart(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentCondition(v *types.Condition, value smithyxml.Value) error {
+ defer value.Close()
+ if v.HttpErrorCodeReturnedEquals != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "HttpErrorCodeReturnedEquals",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.HttpErrorCodeReturnedEquals)
+ }
+ if v.KeyPrefixEquals != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "KeyPrefixEquals",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.KeyPrefixEquals)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentCORSConfiguration(v *types.CORSConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.CORSRules != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "CORSRule",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentCORSRules(v.CORSRules, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentCORSRule(v *types.CORSRule, value smithyxml.Value) error {
+ defer value.Close()
+ if v.AllowedHeaders != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AllowedHeader",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentAllowedHeaders(v.AllowedHeaders, el); err != nil {
+ return err
+ }
+ }
+ if v.AllowedMethods != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AllowedMethod",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentAllowedMethods(v.AllowedMethods, el); err != nil {
+ return err
+ }
+ }
+ if v.AllowedOrigins != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AllowedOrigin",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentAllowedOrigins(v.AllowedOrigins, el); err != nil {
+ return err
+ }
+ }
+ if v.ExposeHeaders != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ExposeHeader",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentExposeHeaders(v.ExposeHeaders, el); err != nil {
+ return err
+ }
+ }
+ if v.ID != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ID",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.ID)
+ }
+ if v.MaxAgeSeconds != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "MaxAgeSeconds",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Integer(v.MaxAgeSeconds)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentCORSRules(v []types.CORSRule, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentCORSRule(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentCreateBucketConfiguration(v *types.CreateBucketConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.LocationConstraint) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "LocationConstraint",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.LocationConstraint))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentCSVInput(v *types.CSVInput, value smithyxml.Value) error {
+ defer value.Close()
+ if v.AllowQuotedRecordDelimiter {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AllowQuotedRecordDelimiter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Boolean(v.AllowQuotedRecordDelimiter)
+ }
+ if v.Comments != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Comments",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Comments)
+ }
+ if v.FieldDelimiter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "FieldDelimiter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.FieldDelimiter)
+ }
+ if len(v.FileHeaderInfo) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "FileHeaderInfo",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.FileHeaderInfo))
+ }
+ if v.QuoteCharacter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "QuoteCharacter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.QuoteCharacter)
+ }
+ if v.QuoteEscapeCharacter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "QuoteEscapeCharacter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.QuoteEscapeCharacter)
+ }
+ if v.RecordDelimiter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "RecordDelimiter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.RecordDelimiter)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentCSVOutput(v *types.CSVOutput, value smithyxml.Value) error {
+ defer value.Close()
+ if v.FieldDelimiter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "FieldDelimiter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.FieldDelimiter)
+ }
+ if v.QuoteCharacter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "QuoteCharacter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.QuoteCharacter)
+ }
+ if v.QuoteEscapeCharacter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "QuoteEscapeCharacter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.QuoteEscapeCharacter)
+ }
+ if len(v.QuoteFields) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "QuoteFields",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.QuoteFields))
+ }
+ if v.RecordDelimiter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "RecordDelimiter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.RecordDelimiter)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentDefaultRetention(v *types.DefaultRetention, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Days != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Days",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Integer(v.Days)
+ }
+ if len(v.Mode) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Mode",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Mode))
+ }
+ if v.Years != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Years",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Integer(v.Years)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentDelete(v *types.Delete, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Objects != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Object",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentObjectIdentifierList(v.Objects, el); err != nil {
+ return err
+ }
+ }
+ if v.Quiet {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Quiet",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Boolean(v.Quiet)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentDeleteMarkerReplication(v *types.DeleteMarkerReplication, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.Status) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Status",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Status))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentDestination(v *types.Destination, value smithyxml.Value) error {
+ defer value.Close()
+ if v.AccessControlTranslation != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AccessControlTranslation",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentAccessControlTranslation(v.AccessControlTranslation, el); err != nil {
+ return err
+ }
+ }
+ if v.Account != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Account",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Account)
+ }
+ if v.Bucket != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Bucket",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Bucket)
+ }
+ if v.EncryptionConfiguration != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "EncryptionConfiguration",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentEncryptionConfiguration(v.EncryptionConfiguration, el); err != nil {
+ return err
+ }
+ }
+ if v.Metrics != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Metrics",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentMetrics(v.Metrics, el); err != nil {
+ return err
+ }
+ }
+ if v.ReplicationTime != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ReplicationTime",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentReplicationTime(v.ReplicationTime, el); err != nil {
+ return err
+ }
+ }
+ if len(v.StorageClass) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "StorageClass",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.StorageClass))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentEncryption(v *types.Encryption, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.EncryptionType) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "EncryptionType",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.EncryptionType))
+ }
+ if v.KMSContext != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "KMSContext",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.KMSContext)
+ }
+ if v.KMSKeyId != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "KMSKeyId",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.KMSKeyId)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentEncryptionConfiguration(v *types.EncryptionConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.ReplicaKmsKeyID != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ReplicaKmsKeyID",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.ReplicaKmsKeyID)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentErrorDocument(v *types.ErrorDocument, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Key != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Key",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Key)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentEventBridgeConfiguration(v *types.EventBridgeConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ return nil
+}
+
+func awsRestxml_serializeDocumentEventList(v []types.Event, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ am.String(string(v[i]))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentExistingObjectReplication(v *types.ExistingObjectReplication, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.Status) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Status",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Status))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentExposeHeaders(v []string, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ am.String(v[i])
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentFilterRule(v *types.FilterRule, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.Name) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Name",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Name))
+ }
+ if v.Value != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Value",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Value)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentFilterRuleList(v []types.FilterRule, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentFilterRule(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentGlacierJobParameters(v *types.GlacierJobParameters, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.Tier) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tier",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Tier))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentGrant(v *types.Grant, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Grantee != nil {
+ rootAttr := []smithyxml.Attr{}
+ rootAttr = append(rootAttr, smithyxml.NewNamespaceAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance"))
+ if len(v.Grantee.Type) > 0 {
+ var av string
+ av = string(v.Grantee.Type)
+ rootAttr = append(rootAttr, smithyxml.NewAttribute("xsi:type", av))
+ }
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Grantee",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentGrantee(v.Grantee, el); err != nil {
+ return err
+ }
+ }
+ if len(v.Permission) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Permission",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Permission))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentGrantee(v *types.Grantee, value smithyxml.Value) error {
+ defer value.Close()
+ if v.DisplayName != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "DisplayName",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.DisplayName)
+ }
+ if v.EmailAddress != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "EmailAddress",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.EmailAddress)
+ }
+ if v.ID != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ID",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.ID)
+ }
+ if v.URI != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "URI",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.URI)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentGrants(v []types.Grant, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Grant",
+ },
+ Attr: customMemberNameAttr,
+ }
+ array = value.ArrayWithCustomName(customMemberName)
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentGrant(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentIndexDocument(v *types.IndexDocument, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Suffix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Suffix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Suffix)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentInputSerialization(v *types.InputSerialization, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.CompressionType) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "CompressionType",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.CompressionType))
+ }
+ if v.CSV != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "CSV",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentCSVInput(v.CSV, el); err != nil {
+ return err
+ }
+ }
+ if v.JSON != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "JSON",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentJSONInput(v.JSON, el); err != nil {
+ return err
+ }
+ }
+ if v.Parquet != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Parquet",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentParquetInput(v.Parquet, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentIntelligentTieringAndOperator(v *types.IntelligentTieringAndOperator, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Prefix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Prefix)
+ }
+ if v.Tags != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tag",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentTagSet(v.Tags, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentIntelligentTieringConfiguration(v *types.IntelligentTieringConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Filter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Filter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentIntelligentTieringFilter(v.Filter, el); err != nil {
+ return err
+ }
+ }
+ if v.Id != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Id",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Id)
+ }
+ if len(v.Status) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Status",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Status))
+ }
+ if v.Tierings != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tiering",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentTieringList(v.Tierings, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentIntelligentTieringFilter(v *types.IntelligentTieringFilter, value smithyxml.Value) error {
+ defer value.Close()
+ if v.And != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "And",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentIntelligentTieringAndOperator(v.And, el); err != nil {
+ return err
+ }
+ }
+ if v.Prefix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Prefix)
+ }
+ if v.Tag != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tag",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentTag(v.Tag, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentInventoryConfiguration(v *types.InventoryConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Destination != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Destination",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentInventoryDestination(v.Destination, el); err != nil {
+ return err
+ }
+ }
+ if v.Filter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Filter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentInventoryFilter(v.Filter, el); err != nil {
+ return err
+ }
+ }
+ if v.Id != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Id",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Id)
+ }
+ if len(v.IncludedObjectVersions) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "IncludedObjectVersions",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.IncludedObjectVersions))
+ }
+ {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "IsEnabled",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Boolean(v.IsEnabled)
+ }
+ if v.OptionalFields != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "OptionalFields",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentInventoryOptionalFields(v.OptionalFields, el); err != nil {
+ return err
+ }
+ }
+ if v.Schedule != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Schedule",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentInventorySchedule(v.Schedule, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentInventoryDestination(v *types.InventoryDestination, value smithyxml.Value) error {
+ defer value.Close()
+ if v.S3BucketDestination != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "S3BucketDestination",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentInventoryS3BucketDestination(v.S3BucketDestination, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentInventoryEncryption(v *types.InventoryEncryption, value smithyxml.Value) error {
+ defer value.Close()
+ if v.SSEKMS != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "SSE-KMS",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentSSEKMS(v.SSEKMS, el); err != nil {
+ return err
+ }
+ }
+ if v.SSES3 != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "SSE-S3",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentSSES3(v.SSES3, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentInventoryFilter(v *types.InventoryFilter, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Prefix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Prefix)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentInventoryOptionalFields(v []types.InventoryOptionalField, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Field",
+ },
+ Attr: customMemberNameAttr,
+ }
+ array = value.ArrayWithCustomName(customMemberName)
+ for i := range v {
+ am := array.Member()
+ am.String(string(v[i]))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentInventoryS3BucketDestination(v *types.InventoryS3BucketDestination, value smithyxml.Value) error {
+ defer value.Close()
+ if v.AccountId != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AccountId",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.AccountId)
+ }
+ if v.Bucket != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Bucket",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Bucket)
+ }
+ if v.Encryption != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Encryption",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentInventoryEncryption(v.Encryption, el); err != nil {
+ return err
+ }
+ }
+ if len(v.Format) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Format",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Format))
+ }
+ if v.Prefix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Prefix)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentInventorySchedule(v *types.InventorySchedule, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.Frequency) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Frequency",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Frequency))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentJSONInput(v *types.JSONInput, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.Type) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Type",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Type))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentJSONOutput(v *types.JSONOutput, value smithyxml.Value) error {
+ defer value.Close()
+ if v.RecordDelimiter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "RecordDelimiter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.RecordDelimiter)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentLambdaFunctionConfiguration(v *types.LambdaFunctionConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Events != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Event",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentEventList(v.Events, el); err != nil {
+ return err
+ }
+ }
+ if v.Filter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Filter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentNotificationConfigurationFilter(v.Filter, el); err != nil {
+ return err
+ }
+ }
+ if v.Id != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Id",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Id)
+ }
+ if v.LambdaFunctionArn != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "CloudFunction",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.LambdaFunctionArn)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentLambdaFunctionConfigurationList(v []types.LambdaFunctionConfiguration, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentLambdaFunctionConfiguration(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentLifecycleExpiration(v *types.LifecycleExpiration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Date != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Date",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(smithytime.FormatDateTime(*v.Date))
+ }
+ if v.Days != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Days",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Integer(v.Days)
+ }
+ if v.ExpiredObjectDeleteMarker {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ExpiredObjectDeleteMarker",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Boolean(v.ExpiredObjectDeleteMarker)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentLifecycleRule(v *types.LifecycleRule, value smithyxml.Value) error {
+ defer value.Close()
+ if v.AbortIncompleteMultipartUpload != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AbortIncompleteMultipartUpload",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentAbortIncompleteMultipartUpload(v.AbortIncompleteMultipartUpload, el); err != nil {
+ return err
+ }
+ }
+ if v.Expiration != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Expiration",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentLifecycleExpiration(v.Expiration, el); err != nil {
+ return err
+ }
+ }
+ if v.Filter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Filter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentLifecycleRuleFilter(v.Filter, el); err != nil {
+ return err
+ }
+ }
+ if v.ID != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ID",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.ID)
+ }
+ if v.NoncurrentVersionExpiration != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "NoncurrentVersionExpiration",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentNoncurrentVersionExpiration(v.NoncurrentVersionExpiration, el); err != nil {
+ return err
+ }
+ }
+ if v.NoncurrentVersionTransitions != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "NoncurrentVersionTransition",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentNoncurrentVersionTransitionList(v.NoncurrentVersionTransitions, el); err != nil {
+ return err
+ }
+ }
+ if v.Prefix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Prefix)
+ }
+ if len(v.Status) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Status",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Status))
+ }
+ if v.Transitions != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Transition",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentTransitionList(v.Transitions, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentLifecycleRuleAndOperator(v *types.LifecycleRuleAndOperator, value smithyxml.Value) error {
+ defer value.Close()
+ if v.ObjectSizeGreaterThan != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ObjectSizeGreaterThan",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Long(v.ObjectSizeGreaterThan)
+ }
+ if v.ObjectSizeLessThan != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ObjectSizeLessThan",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Long(v.ObjectSizeLessThan)
+ }
+ if v.Prefix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Prefix)
+ }
+ if v.Tags != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tag",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentTagSet(v.Tags, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentLifecycleRuleFilter(v types.LifecycleRuleFilter, value smithyxml.Value) error {
+ defer value.Close()
+ switch uv := v.(type) {
+ case *types.LifecycleRuleFilterMemberAnd:
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "And",
+ },
+ Attr: customMemberNameAttr,
+ }
+ av := value.MemberElement(customMemberName)
+ if err := awsRestxml_serializeDocumentLifecycleRuleAndOperator(&uv.Value, av); err != nil {
+ return err
+ }
+
+ case *types.LifecycleRuleFilterMemberObjectSizeGreaterThan:
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ObjectSizeGreaterThan",
+ },
+ Attr: customMemberNameAttr,
+ }
+ av := value.MemberElement(customMemberName)
+ av.Long(uv.Value)
+
+ case *types.LifecycleRuleFilterMemberObjectSizeLessThan:
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ObjectSizeLessThan",
+ },
+ Attr: customMemberNameAttr,
+ }
+ av := value.MemberElement(customMemberName)
+ av.Long(uv.Value)
+
+ case *types.LifecycleRuleFilterMemberPrefix:
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: customMemberNameAttr,
+ }
+ av := value.MemberElement(customMemberName)
+ av.String(uv.Value)
+
+ case *types.LifecycleRuleFilterMemberTag:
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tag",
+ },
+ Attr: customMemberNameAttr,
+ }
+ av := value.MemberElement(customMemberName)
+ if err := awsRestxml_serializeDocumentTag(&uv.Value, av); err != nil {
+ return err
+ }
+
+ default:
+ return fmt.Errorf("attempted to serialize unknown member type %T for union %T", uv, v)
+
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentLifecycleRules(v []types.LifecycleRule, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentLifecycleRule(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentLoggingEnabled(v *types.LoggingEnabled, value smithyxml.Value) error {
+ defer value.Close()
+ if v.TargetBucket != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "TargetBucket",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.TargetBucket)
+ }
+ if v.TargetGrants != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "TargetGrants",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentTargetGrants(v.TargetGrants, el); err != nil {
+ return err
+ }
+ }
+ if v.TargetPrefix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "TargetPrefix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.TargetPrefix)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentMetadataEntry(v *types.MetadataEntry, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Name != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Name",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Name)
+ }
+ if v.Value != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Value",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Value)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentMetrics(v *types.Metrics, value smithyxml.Value) error {
+ defer value.Close()
+ if v.EventThreshold != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "EventThreshold",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentReplicationTimeValue(v.EventThreshold, el); err != nil {
+ return err
+ }
+ }
+ if len(v.Status) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Status",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Status))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentMetricsAndOperator(v *types.MetricsAndOperator, value smithyxml.Value) error {
+ defer value.Close()
+ if v.AccessPointArn != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AccessPointArn",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.AccessPointArn)
+ }
+ if v.Prefix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Prefix)
+ }
+ if v.Tags != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tag",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentTagSet(v.Tags, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentMetricsConfiguration(v *types.MetricsConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Filter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Filter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentMetricsFilter(v.Filter, el); err != nil {
+ return err
+ }
+ }
+ if v.Id != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Id",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Id)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentMetricsFilter(v types.MetricsFilter, value smithyxml.Value) error {
+ defer value.Close()
+ switch uv := v.(type) {
+ case *types.MetricsFilterMemberAccessPointArn:
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AccessPointArn",
+ },
+ Attr: customMemberNameAttr,
+ }
+ av := value.MemberElement(customMemberName)
+ av.String(uv.Value)
+
+ case *types.MetricsFilterMemberAnd:
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "And",
+ },
+ Attr: customMemberNameAttr,
+ }
+ av := value.MemberElement(customMemberName)
+ if err := awsRestxml_serializeDocumentMetricsAndOperator(&uv.Value, av); err != nil {
+ return err
+ }
+
+ case *types.MetricsFilterMemberPrefix:
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: customMemberNameAttr,
+ }
+ av := value.MemberElement(customMemberName)
+ av.String(uv.Value)
+
+ case *types.MetricsFilterMemberTag:
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tag",
+ },
+ Attr: customMemberNameAttr,
+ }
+ av := value.MemberElement(customMemberName)
+ if err := awsRestxml_serializeDocumentTag(&uv.Value, av); err != nil {
+ return err
+ }
+
+ default:
+ return fmt.Errorf("attempted to serialize unknown member type %T for union %T", uv, v)
+
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentNoncurrentVersionExpiration(v *types.NoncurrentVersionExpiration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.NewerNoncurrentVersions != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "NewerNoncurrentVersions",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Integer(v.NewerNoncurrentVersions)
+ }
+ if v.NoncurrentDays != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "NoncurrentDays",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Integer(v.NoncurrentDays)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentNoncurrentVersionTransition(v *types.NoncurrentVersionTransition, value smithyxml.Value) error {
+ defer value.Close()
+ if v.NewerNoncurrentVersions != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "NewerNoncurrentVersions",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Integer(v.NewerNoncurrentVersions)
+ }
+ if v.NoncurrentDays != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "NoncurrentDays",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Integer(v.NoncurrentDays)
+ }
+ if len(v.StorageClass) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "StorageClass",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.StorageClass))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentNoncurrentVersionTransitionList(v []types.NoncurrentVersionTransition, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentNoncurrentVersionTransition(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentNotificationConfiguration(v *types.NotificationConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.EventBridgeConfiguration != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "EventBridgeConfiguration",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentEventBridgeConfiguration(v.EventBridgeConfiguration, el); err != nil {
+ return err
+ }
+ }
+ if v.LambdaFunctionConfigurations != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "CloudFunctionConfiguration",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentLambdaFunctionConfigurationList(v.LambdaFunctionConfigurations, el); err != nil {
+ return err
+ }
+ }
+ if v.QueueConfigurations != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "QueueConfiguration",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentQueueConfigurationList(v.QueueConfigurations, el); err != nil {
+ return err
+ }
+ }
+ if v.TopicConfigurations != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "TopicConfiguration",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentTopicConfigurationList(v.TopicConfigurations, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentNotificationConfigurationFilter(v *types.NotificationConfigurationFilter, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Key != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "S3Key",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentS3KeyFilter(v.Key, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentObjectIdentifier(v *types.ObjectIdentifier, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Key != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Key",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Key)
+ }
+ if v.VersionId != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "VersionId",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.VersionId)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentObjectIdentifierList(v []types.ObjectIdentifier, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentObjectIdentifier(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentObjectLockConfiguration(v *types.ObjectLockConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.ObjectLockEnabled) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ObjectLockEnabled",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.ObjectLockEnabled))
+ }
+ if v.Rule != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Rule",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentObjectLockRule(v.Rule, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentObjectLockLegalHold(v *types.ObjectLockLegalHold, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.Status) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Status",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Status))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentObjectLockRetention(v *types.ObjectLockRetention, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.Mode) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Mode",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Mode))
+ }
+ if v.RetainUntilDate != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "RetainUntilDate",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(smithytime.FormatDateTime(*v.RetainUntilDate))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentObjectLockRule(v *types.ObjectLockRule, value smithyxml.Value) error {
+ defer value.Close()
+ if v.DefaultRetention != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "DefaultRetention",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentDefaultRetention(v.DefaultRetention, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentOutputLocation(v *types.OutputLocation, value smithyxml.Value) error {
+ defer value.Close()
+ if v.S3 != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "S3",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentS3Location(v.S3, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentOutputSerialization(v *types.OutputSerialization, value smithyxml.Value) error {
+ defer value.Close()
+ if v.CSV != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "CSV",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentCSVOutput(v.CSV, el); err != nil {
+ return err
+ }
+ }
+ if v.JSON != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "JSON",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentJSONOutput(v.JSON, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentOwner(v *types.Owner, value smithyxml.Value) error {
+ defer value.Close()
+ if v.DisplayName != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "DisplayName",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.DisplayName)
+ }
+ if v.ID != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ID",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.ID)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentOwnershipControls(v *types.OwnershipControls, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Rules != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Rule",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentOwnershipControlsRules(v.Rules, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentOwnershipControlsRule(v *types.OwnershipControlsRule, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.ObjectOwnership) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ObjectOwnership",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.ObjectOwnership))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentOwnershipControlsRules(v []types.OwnershipControlsRule, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentOwnershipControlsRule(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentParquetInput(v *types.ParquetInput, value smithyxml.Value) error {
+ defer value.Close()
+ return nil
+}
+
+func awsRestxml_serializeDocumentPublicAccessBlockConfiguration(v *types.PublicAccessBlockConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.BlockPublicAcls {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "BlockPublicAcls",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Boolean(v.BlockPublicAcls)
+ }
+ if v.BlockPublicPolicy {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "BlockPublicPolicy",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Boolean(v.BlockPublicPolicy)
+ }
+ if v.IgnorePublicAcls {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "IgnorePublicAcls",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Boolean(v.IgnorePublicAcls)
+ }
+ if v.RestrictPublicBuckets {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "RestrictPublicBuckets",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Boolean(v.RestrictPublicBuckets)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentQueueConfiguration(v *types.QueueConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Events != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Event",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentEventList(v.Events, el); err != nil {
+ return err
+ }
+ }
+ if v.Filter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Filter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentNotificationConfigurationFilter(v.Filter, el); err != nil {
+ return err
+ }
+ }
+ if v.Id != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Id",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Id)
+ }
+ if v.QueueArn != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Queue",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.QueueArn)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentQueueConfigurationList(v []types.QueueConfiguration, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentQueueConfiguration(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentRedirect(v *types.Redirect, value smithyxml.Value) error {
+ defer value.Close()
+ if v.HostName != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "HostName",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.HostName)
+ }
+ if v.HttpRedirectCode != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "HttpRedirectCode",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.HttpRedirectCode)
+ }
+ if len(v.Protocol) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Protocol",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Protocol))
+ }
+ if v.ReplaceKeyPrefixWith != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ReplaceKeyPrefixWith",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.ReplaceKeyPrefixWith)
+ }
+ if v.ReplaceKeyWith != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ReplaceKeyWith",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.ReplaceKeyWith)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentRedirectAllRequestsTo(v *types.RedirectAllRequestsTo, value smithyxml.Value) error {
+ defer value.Close()
+ if v.HostName != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "HostName",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.HostName)
+ }
+ if len(v.Protocol) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Protocol",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Protocol))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentReplicaModifications(v *types.ReplicaModifications, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.Status) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Status",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Status))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentReplicationConfiguration(v *types.ReplicationConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Role != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Role",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Role)
+ }
+ if v.Rules != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Rule",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentReplicationRules(v.Rules, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentReplicationRule(v *types.ReplicationRule, value smithyxml.Value) error {
+ defer value.Close()
+ if v.DeleteMarkerReplication != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "DeleteMarkerReplication",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentDeleteMarkerReplication(v.DeleteMarkerReplication, el); err != nil {
+ return err
+ }
+ }
+ if v.Destination != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Destination",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentDestination(v.Destination, el); err != nil {
+ return err
+ }
+ }
+ if v.ExistingObjectReplication != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ExistingObjectReplication",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentExistingObjectReplication(v.ExistingObjectReplication, el); err != nil {
+ return err
+ }
+ }
+ if v.Filter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Filter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentReplicationRuleFilter(v.Filter, el); err != nil {
+ return err
+ }
+ }
+ if v.ID != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ID",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.ID)
+ }
+ if v.Prefix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Prefix)
+ }
+ if v.Priority != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Priority",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Integer(v.Priority)
+ }
+ if v.SourceSelectionCriteria != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "SourceSelectionCriteria",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentSourceSelectionCriteria(v.SourceSelectionCriteria, el); err != nil {
+ return err
+ }
+ }
+ if len(v.Status) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Status",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Status))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentReplicationRuleAndOperator(v *types.ReplicationRuleAndOperator, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Prefix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Prefix)
+ }
+ if v.Tags != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tag",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentTagSet(v.Tags, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentReplicationRuleFilter(v types.ReplicationRuleFilter, value smithyxml.Value) error {
+ defer value.Close()
+ switch uv := v.(type) {
+ case *types.ReplicationRuleFilterMemberAnd:
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "And",
+ },
+ Attr: customMemberNameAttr,
+ }
+ av := value.MemberElement(customMemberName)
+ if err := awsRestxml_serializeDocumentReplicationRuleAndOperator(&uv.Value, av); err != nil {
+ return err
+ }
+
+ case *types.ReplicationRuleFilterMemberPrefix:
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: customMemberNameAttr,
+ }
+ av := value.MemberElement(customMemberName)
+ av.String(uv.Value)
+
+ case *types.ReplicationRuleFilterMemberTag:
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tag",
+ },
+ Attr: customMemberNameAttr,
+ }
+ av := value.MemberElement(customMemberName)
+ if err := awsRestxml_serializeDocumentTag(&uv.Value, av); err != nil {
+ return err
+ }
+
+ default:
+ return fmt.Errorf("attempted to serialize unknown member type %T for union %T", uv, v)
+
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentReplicationRules(v []types.ReplicationRule, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentReplicationRule(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentReplicationTime(v *types.ReplicationTime, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.Status) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Status",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Status))
+ }
+ if v.Time != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Time",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentReplicationTimeValue(v.Time, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentReplicationTimeValue(v *types.ReplicationTimeValue, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Minutes != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Minutes",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Integer(v.Minutes)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentRequestPaymentConfiguration(v *types.RequestPaymentConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.Payer) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Payer",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Payer))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentRequestProgress(v *types.RequestProgress, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Enabled {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Enabled",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Boolean(v.Enabled)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentRestoreRequest(v *types.RestoreRequest, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Days != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Days",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Integer(v.Days)
+ }
+ if v.Description != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Description",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Description)
+ }
+ if v.GlacierJobParameters != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "GlacierJobParameters",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentGlacierJobParameters(v.GlacierJobParameters, el); err != nil {
+ return err
+ }
+ }
+ if v.OutputLocation != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "OutputLocation",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentOutputLocation(v.OutputLocation, el); err != nil {
+ return err
+ }
+ }
+ if v.SelectParameters != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "SelectParameters",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentSelectParameters(v.SelectParameters, el); err != nil {
+ return err
+ }
+ }
+ if len(v.Tier) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tier",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Tier))
+ }
+ if len(v.Type) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Type",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Type))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentRoutingRule(v *types.RoutingRule, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Condition != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Condition",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentCondition(v.Condition, el); err != nil {
+ return err
+ }
+ }
+ if v.Redirect != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Redirect",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentRedirect(v.Redirect, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentRoutingRules(v []types.RoutingRule, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "RoutingRule",
+ },
+ Attr: customMemberNameAttr,
+ }
+ array = value.ArrayWithCustomName(customMemberName)
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentRoutingRule(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentS3KeyFilter(v *types.S3KeyFilter, value smithyxml.Value) error {
+ defer value.Close()
+ if v.FilterRules != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "FilterRule",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentFilterRuleList(v.FilterRules, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentS3Location(v *types.S3Location, value smithyxml.Value) error {
+ defer value.Close()
+ if v.AccessControlList != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AccessControlList",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentGrants(v.AccessControlList, el); err != nil {
+ return err
+ }
+ }
+ if v.BucketName != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "BucketName",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.BucketName)
+ }
+ if len(v.CannedACL) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "CannedACL",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.CannedACL))
+ }
+ if v.Encryption != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Encryption",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentEncryption(v.Encryption, el); err != nil {
+ return err
+ }
+ }
+ if v.Prefix != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Prefix",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Prefix)
+ }
+ if len(v.StorageClass) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "StorageClass",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.StorageClass))
+ }
+ if v.Tagging != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tagging",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentTagging(v.Tagging, el); err != nil {
+ return err
+ }
+ }
+ if v.UserMetadata != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "UserMetadata",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentUserMetadata(v.UserMetadata, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentScanRange(v *types.ScanRange, value smithyxml.Value) error {
+ defer value.Close()
+ if v.End != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "End",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Long(v.End)
+ }
+ if v.Start != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Start",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Long(v.Start)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentSelectParameters(v *types.SelectParameters, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Expression != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Expression",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Expression)
+ }
+ if len(v.ExpressionType) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ExpressionType",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.ExpressionType))
+ }
+ if v.InputSerialization != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "InputSerialization",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentInputSerialization(v.InputSerialization, el); err != nil {
+ return err
+ }
+ }
+ if v.OutputSerialization != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "OutputSerialization",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentOutputSerialization(v.OutputSerialization, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentServerSideEncryptionByDefault(v *types.ServerSideEncryptionByDefault, value smithyxml.Value) error {
+ defer value.Close()
+ if v.KMSMasterKeyID != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "KMSMasterKeyID",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.KMSMasterKeyID)
+ }
+ if len(v.SSEAlgorithm) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "SSEAlgorithm",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.SSEAlgorithm))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentServerSideEncryptionConfiguration(v *types.ServerSideEncryptionConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Rules != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Rule",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentServerSideEncryptionRules(v.Rules, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentServerSideEncryptionRule(v *types.ServerSideEncryptionRule, value smithyxml.Value) error {
+ defer value.Close()
+ if v.ApplyServerSideEncryptionByDefault != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ApplyServerSideEncryptionByDefault",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentServerSideEncryptionByDefault(v.ApplyServerSideEncryptionByDefault, el); err != nil {
+ return err
+ }
+ }
+ if v.BucketKeyEnabled {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "BucketKeyEnabled",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Boolean(v.BucketKeyEnabled)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentServerSideEncryptionRules(v []types.ServerSideEncryptionRule, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentServerSideEncryptionRule(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentSourceSelectionCriteria(v *types.SourceSelectionCriteria, value smithyxml.Value) error {
+ defer value.Close()
+ if v.ReplicaModifications != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ReplicaModifications",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentReplicaModifications(v.ReplicaModifications, el); err != nil {
+ return err
+ }
+ }
+ if v.SseKmsEncryptedObjects != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "SseKmsEncryptedObjects",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentSseKmsEncryptedObjects(v.SseKmsEncryptedObjects, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentSSEKMS(v *types.SSEKMS, value smithyxml.Value) error {
+ defer value.Close()
+ if v.KeyId != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "KeyId",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.KeyId)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentSseKmsEncryptedObjects(v *types.SseKmsEncryptedObjects, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.Status) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Status",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Status))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentSSES3(v *types.SSES3, value smithyxml.Value) error {
+ defer value.Close()
+ return nil
+}
+
+func awsRestxml_serializeDocumentStorageClassAnalysis(v *types.StorageClassAnalysis, value smithyxml.Value) error {
+ defer value.Close()
+ if v.DataExport != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "DataExport",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentStorageClassAnalysisDataExport(v.DataExport, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentStorageClassAnalysisDataExport(v *types.StorageClassAnalysisDataExport, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Destination != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Destination",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentAnalyticsExportDestination(v.Destination, el); err != nil {
+ return err
+ }
+ }
+ if len(v.OutputSchemaVersion) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "OutputSchemaVersion",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.OutputSchemaVersion))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentTag(v *types.Tag, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Key != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Key",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Key)
+ }
+ if v.Value != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Value",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Value)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentTagging(v *types.Tagging, value smithyxml.Value) error {
+ defer value.Close()
+ if v.TagSet != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "TagSet",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentTagSet(v.TagSet, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentTagSet(v []types.Tag, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Tag",
+ },
+ Attr: customMemberNameAttr,
+ }
+ array = value.ArrayWithCustomName(customMemberName)
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentTag(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentTargetGrant(v *types.TargetGrant, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Grantee != nil {
+ rootAttr := []smithyxml.Attr{}
+ rootAttr = append(rootAttr, smithyxml.NewNamespaceAttribute("xsi", "http://www.w3.org/2001/XMLSchema-instance"))
+ if len(v.Grantee.Type) > 0 {
+ var av string
+ av = string(v.Grantee.Type)
+ rootAttr = append(rootAttr, smithyxml.NewAttribute("xsi:type", av))
+ }
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Grantee",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentGrantee(v.Grantee, el); err != nil {
+ return err
+ }
+ }
+ if len(v.Permission) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Permission",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Permission))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentTargetGrants(v []types.TargetGrant, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Grant",
+ },
+ Attr: customMemberNameAttr,
+ }
+ array = value.ArrayWithCustomName(customMemberName)
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentTargetGrant(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentTiering(v *types.Tiering, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.AccessTier) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "AccessTier",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.AccessTier))
+ }
+ {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Days",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Integer(v.Days)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentTieringList(v []types.Tiering, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentTiering(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentTopicConfiguration(v *types.TopicConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Events != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Event",
+ },
+ Attr: rootAttr,
+ }
+ el := value.FlattenedElement(root)
+ if err := awsRestxml_serializeDocumentEventList(v.Events, el); err != nil {
+ return err
+ }
+ }
+ if v.Filter != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Filter",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentNotificationConfigurationFilter(v.Filter, el); err != nil {
+ return err
+ }
+ }
+ if v.Id != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Id",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.Id)
+ }
+ if v.TopicArn != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Topic",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(*v.TopicArn)
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentTopicConfigurationList(v []types.TopicConfiguration, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentTopicConfiguration(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentTransition(v *types.Transition, value smithyxml.Value) error {
+ defer value.Close()
+ if v.Date != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Date",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(smithytime.FormatDateTime(*v.Date))
+ }
+ if v.Days != 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Days",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.Integer(v.Days)
+ }
+ if len(v.StorageClass) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "StorageClass",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.StorageClass))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentTransitionList(v []types.Transition, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ array = value.Array()
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentTransition(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentUserMetadata(v []types.MetadataEntry, value smithyxml.Value) error {
+ var array *smithyxml.Array
+ if !value.IsFlattened() {
+ defer value.Close()
+ }
+ customMemberNameAttr := []smithyxml.Attr{}
+ customMemberName := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "MetadataEntry",
+ },
+ Attr: customMemberNameAttr,
+ }
+ array = value.ArrayWithCustomName(customMemberName)
+ for i := range v {
+ am := array.Member()
+ if err := awsRestxml_serializeDocumentMetadataEntry(&v[i], am); err != nil {
+ return err
+ }
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentVersioningConfiguration(v *types.VersioningConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if len(v.MFADelete) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "MfaDelete",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.MFADelete))
+ }
+ if len(v.Status) > 0 {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "Status",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ el.String(string(v.Status))
+ }
+ return nil
+}
+
+func awsRestxml_serializeDocumentWebsiteConfiguration(v *types.WebsiteConfiguration, value smithyxml.Value) error {
+ defer value.Close()
+ if v.ErrorDocument != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "ErrorDocument",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentErrorDocument(v.ErrorDocument, el); err != nil {
+ return err
+ }
+ }
+ if v.IndexDocument != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "IndexDocument",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentIndexDocument(v.IndexDocument, el); err != nil {
+ return err
+ }
+ }
+ if v.RedirectAllRequestsTo != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "RedirectAllRequestsTo",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentRedirectAllRequestsTo(v.RedirectAllRequestsTo, el); err != nil {
+ return err
+ }
+ }
+ if v.RoutingRules != nil {
+ rootAttr := []smithyxml.Attr{}
+ root := smithyxml.StartElement{
+ Name: smithyxml.Name{
+ Local: "RoutingRules",
+ },
+ Attr: rootAttr,
+ }
+ el := value.MemberElement(root)
+ if err := awsRestxml_serializeDocumentRoutingRules(v.RoutingRules, el); err != nil {
+ return err
+ }
+ }
+ return nil
+}