// Code generated by smithy-go-codegen DO NOT EDIT.

package rdb

import (
	"bytes"
	"context"
	"fmt"
	"github.com/aws/aws-sdk-go-v2/aws/protocol/query"
	smithy "github.com/aws/smithy-go"
	"github.com/aws/smithy-go/encoding/httpbinding"
	"github.com/aws/smithy-go/middleware"
	smithyhttp "github.com/aws/smithy-go/transport/http"
	"github.com/nifcloud/nifcloud-sdk-go/internal/serializers"
	"github.com/nifcloud/nifcloud-sdk-go/service/rdb/types"
	"path"
	"reflect"
)

type awsAwsquery_serializeOpAddSourceIdentifierToSubscription struct {
}

func (*awsAwsquery_serializeOpAddSourceIdentifierToSubscription) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpAddSourceIdentifierToSubscription) 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.(*AddSourceIdentifierToSubscriptionInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("AddSourceIdentifierToSubscription")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentAddSourceIdentifierToSubscriptionInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpAuthorizeDBSecurityGroupIngress struct {
}

func (*awsAwsquery_serializeOpAuthorizeDBSecurityGroupIngress) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpAuthorizeDBSecurityGroupIngress) 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.(*AuthorizeDBSecurityGroupIngressInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("AuthorizeDBSecurityGroupIngress")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentAuthorizeDBSecurityGroupIngressInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpCancelDBInstanceForUpgrade struct {
}

func (*awsAwsquery_serializeOpCancelDBInstanceForUpgrade) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpCancelDBInstanceForUpgrade) 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.(*CancelDBInstanceForUpgradeInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("CancelDBInstanceForUpgrade")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentCancelDBInstanceForUpgradeInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpCopyDBSnapshot struct {
}

func (*awsAwsquery_serializeOpCopyDBSnapshot) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpCopyDBSnapshot) 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.(*CopyDBSnapshotInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("CopyDBSnapshot")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentCopyDBSnapshotInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpCreateDBInstance struct {
}

func (*awsAwsquery_serializeOpCreateDBInstance) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpCreateDBInstance) 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.(*CreateDBInstanceInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("CreateDBInstance")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentCreateDBInstanceInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpCreateDBInstanceReadReplica struct {
}

func (*awsAwsquery_serializeOpCreateDBInstanceReadReplica) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpCreateDBInstanceReadReplica) 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.(*CreateDBInstanceReadReplicaInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("CreateDBInstanceReadReplica")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentCreateDBInstanceReadReplicaInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpCreateDBParameterGroup struct {
}

func (*awsAwsquery_serializeOpCreateDBParameterGroup) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpCreateDBParameterGroup) 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.(*CreateDBParameterGroupInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("CreateDBParameterGroup")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentCreateDBParameterGroupInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpCreateDBSecurityGroup struct {
}

func (*awsAwsquery_serializeOpCreateDBSecurityGroup) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpCreateDBSecurityGroup) 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.(*CreateDBSecurityGroupInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("CreateDBSecurityGroup")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentCreateDBSecurityGroupInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpCreateDBSnapshot struct {
}

func (*awsAwsquery_serializeOpCreateDBSnapshot) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpCreateDBSnapshot) 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.(*CreateDBSnapshotInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("CreateDBSnapshot")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentCreateDBSnapshotInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpCreateEventSubscription struct {
}

func (*awsAwsquery_serializeOpCreateEventSubscription) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpCreateEventSubscription) 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.(*CreateEventSubscriptionInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("CreateEventSubscription")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentCreateEventSubscriptionInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDeleteDBInstance struct {
}

func (*awsAwsquery_serializeOpDeleteDBInstance) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDeleteDBInstance) 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.(*DeleteDBInstanceInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DeleteDBInstance")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDeleteDBInstanceInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDeleteDBParameterGroup struct {
}

func (*awsAwsquery_serializeOpDeleteDBParameterGroup) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDeleteDBParameterGroup) 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.(*DeleteDBParameterGroupInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DeleteDBParameterGroup")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDeleteDBParameterGroupInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDeleteDBSecurityGroup struct {
}

func (*awsAwsquery_serializeOpDeleteDBSecurityGroup) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDeleteDBSecurityGroup) 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.(*DeleteDBSecurityGroupInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DeleteDBSecurityGroup")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDeleteDBSecurityGroupInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDeleteDBSnapshot struct {
}

func (*awsAwsquery_serializeOpDeleteDBSnapshot) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDeleteDBSnapshot) 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.(*DeleteDBSnapshotInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DeleteDBSnapshot")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDeleteDBSnapshotInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDeleteEventSubscription struct {
}

func (*awsAwsquery_serializeOpDeleteEventSubscription) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDeleteEventSubscription) 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.(*DeleteEventSubscriptionInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DeleteEventSubscription")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDeleteEventSubscriptionInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDescribeCertificates struct {
}

func (*awsAwsquery_serializeOpDescribeCertificates) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDescribeCertificates) 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.(*DescribeCertificatesInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DescribeCertificates")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDescribeCertificatesInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDescribeDBEngineVersions struct {
}

func (*awsAwsquery_serializeOpDescribeDBEngineVersions) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDescribeDBEngineVersions) 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.(*DescribeDBEngineVersionsInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DescribeDBEngineVersions")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDescribeDBEngineVersionsInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDescribeDBInstances struct {
}

func (*awsAwsquery_serializeOpDescribeDBInstances) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDescribeDBInstances) 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.(*DescribeDBInstancesInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DescribeDBInstances")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDescribeDBInstancesInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDescribeDBLogFilesOperation struct {
}

func (*awsAwsquery_serializeOpDescribeDBLogFilesOperation) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDescribeDBLogFilesOperation) 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.(*DescribeDBLogFilesOperationInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DescribeDBLogFiles")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDescribeDBLogFilesOperationInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDescribeDBParameterGroups struct {
}

func (*awsAwsquery_serializeOpDescribeDBParameterGroups) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDescribeDBParameterGroups) 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.(*DescribeDBParameterGroupsInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DescribeDBParameterGroups")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDescribeDBParameterGroupsInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDescribeDBParameters struct {
}

func (*awsAwsquery_serializeOpDescribeDBParameters) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDescribeDBParameters) 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.(*DescribeDBParametersInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DescribeDBParameters")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDescribeDBParametersInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDescribeDBSecurityGroups struct {
}

func (*awsAwsquery_serializeOpDescribeDBSecurityGroups) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDescribeDBSecurityGroups) 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.(*DescribeDBSecurityGroupsInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DescribeDBSecurityGroups")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDescribeDBSecurityGroupsInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDescribeDBSnapshots struct {
}

func (*awsAwsquery_serializeOpDescribeDBSnapshots) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDescribeDBSnapshots) 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.(*DescribeDBSnapshotsInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DescribeDBSnapshots")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDescribeDBSnapshotsInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDescribeEngineDefaultParameters struct {
}

func (*awsAwsquery_serializeOpDescribeEngineDefaultParameters) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDescribeEngineDefaultParameters) 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.(*DescribeEngineDefaultParametersInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DescribeEngineDefaultParameters")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDescribeEngineDefaultParametersInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDescribeEventCategories struct {
}

func (*awsAwsquery_serializeOpDescribeEventCategories) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDescribeEventCategories) 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.(*DescribeEventCategoriesInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DescribeEventCategories")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDescribeEventCategoriesInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDescribeEvents struct {
}

func (*awsAwsquery_serializeOpDescribeEvents) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDescribeEvents) 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.(*DescribeEventsInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DescribeEvents")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDescribeEventsInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDescribeEventSubscriptions struct {
}

func (*awsAwsquery_serializeOpDescribeEventSubscriptions) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDescribeEventSubscriptions) 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.(*DescribeEventSubscriptionsInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DescribeEventSubscriptions")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDescribeEventSubscriptionsInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDescribeOrderableDBInstanceOptions struct {
}

func (*awsAwsquery_serializeOpDescribeOrderableDBInstanceOptions) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDescribeOrderableDBInstanceOptions) 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.(*DescribeOrderableDBInstanceOptionsInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DescribeOrderableDBInstanceOptions")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDescribeOrderableDBInstanceOptionsInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpDownloadDBLogFilePortion struct {
}

func (*awsAwsquery_serializeOpDownloadDBLogFilePortion) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpDownloadDBLogFilePortion) 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.(*DownloadDBLogFilePortionInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("DownloadDBLogFilePortion")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentDownloadDBLogFilePortionInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpModifyDBInstance struct {
}

func (*awsAwsquery_serializeOpModifyDBInstance) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpModifyDBInstance) 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.(*ModifyDBInstanceInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("ModifyDBInstance")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentModifyDBInstanceInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpModifyDBInstanceNetwork struct {
}

func (*awsAwsquery_serializeOpModifyDBInstanceNetwork) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpModifyDBInstanceNetwork) 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.(*ModifyDBInstanceNetworkInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("ModifyDBInstanceNetwork")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentModifyDBInstanceNetworkInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpModifyDBParameterGroup struct {
}

func (*awsAwsquery_serializeOpModifyDBParameterGroup) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpModifyDBParameterGroup) 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.(*ModifyDBParameterGroupInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("ModifyDBParameterGroup")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentModifyDBParameterGroupInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpModifyEventSubscription struct {
}

func (*awsAwsquery_serializeOpModifyEventSubscription) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpModifyEventSubscription) 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.(*ModifyEventSubscriptionInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("ModifyEventSubscription")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentModifyEventSubscriptionInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpNiftyGetMetricStatistics struct {
}

func (*awsAwsquery_serializeOpNiftyGetMetricStatistics) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpNiftyGetMetricStatistics) 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.(*NiftyGetMetricStatisticsInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("NiftyGetMetricStatistics")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentNiftyGetMetricStatisticsInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpPrepareDBInstanceForUpgrade struct {
}

func (*awsAwsquery_serializeOpPrepareDBInstanceForUpgrade) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpPrepareDBInstanceForUpgrade) 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.(*PrepareDBInstanceForUpgradeInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("PrepareDBInstanceForUpgrade")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentPrepareDBInstanceForUpgradeInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpRebootDBInstance struct {
}

func (*awsAwsquery_serializeOpRebootDBInstance) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpRebootDBInstance) 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.(*RebootDBInstanceInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("RebootDBInstance")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentRebootDBInstanceInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpRemoveSourceIdentifierFromSubscription struct {
}

func (*awsAwsquery_serializeOpRemoveSourceIdentifierFromSubscription) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpRemoveSourceIdentifierFromSubscription) 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.(*RemoveSourceIdentifierFromSubscriptionInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("RemoveSourceIdentifierFromSubscription")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentRemoveSourceIdentifierFromSubscriptionInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpResetDBParameterGroup struct {
}

func (*awsAwsquery_serializeOpResetDBParameterGroup) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpResetDBParameterGroup) 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.(*ResetDBParameterGroupInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("ResetDBParameterGroup")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentResetDBParameterGroupInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpResetExternalMaster struct {
}

func (*awsAwsquery_serializeOpResetExternalMaster) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpResetExternalMaster) 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.(*ResetExternalMasterInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("ResetExternalMaster")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentResetExternalMasterInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpRestoreDBInstanceFromDBSnapshot struct {
}

func (*awsAwsquery_serializeOpRestoreDBInstanceFromDBSnapshot) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpRestoreDBInstanceFromDBSnapshot) 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.(*RestoreDBInstanceFromDBSnapshotInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("RestoreDBInstanceFromDBSnapshot")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentRestoreDBInstanceFromDBSnapshotInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpRestoreDBInstanceToPointInTime struct {
}

func (*awsAwsquery_serializeOpRestoreDBInstanceToPointInTime) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpRestoreDBInstanceToPointInTime) 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.(*RestoreDBInstanceToPointInTimeInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("RestoreDBInstanceToPointInTime")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentRestoreDBInstanceToPointInTimeInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpRevokeDBSecurityGroupIngress struct {
}

func (*awsAwsquery_serializeOpRevokeDBSecurityGroupIngress) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpRevokeDBSecurityGroupIngress) 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.(*RevokeDBSecurityGroupIngressInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("RevokeDBSecurityGroupIngress")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentRevokeDBSecurityGroupIngressInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpSetExternalMaster struct {
}

func (*awsAwsquery_serializeOpSetExternalMaster) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpSetExternalMaster) 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.(*SetExternalMasterInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("SetExternalMaster")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentSetExternalMasterInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpStartReplication struct {
}

func (*awsAwsquery_serializeOpStartReplication) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpStartReplication) 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.(*StartReplicationInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("StartReplication")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentStartReplicationInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpStopReplication struct {
}

func (*awsAwsquery_serializeOpStopReplication) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpStopReplication) 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.(*StopReplicationInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("StopReplication")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentStopReplicationInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpUpgradeDBEngineVersion struct {
}

func (*awsAwsquery_serializeOpUpgradeDBEngineVersion) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpUpgradeDBEngineVersion) 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.(*UpgradeDBEngineVersionInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("UpgradeDBEngineVersion")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentUpgradeDBEngineVersionInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}

type awsAwsquery_serializeOpUpgradeDBInstance struct {
}

func (*awsAwsquery_serializeOpUpgradeDBInstance) ID() string {
	return "OperationSerializer"
}

func (m *awsAwsquery_serializeOpUpgradeDBInstance) 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.(*UpgradeDBInstanceInput)
	_ = input
	if !ok {
		return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)}
	}

	operationPath := "/"
	if len(request.Request.URL.Path) == 0 {
		request.Request.URL.Path = operationPath
	} else {
		request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath)
		if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' {
			request.Request.URL.Path += "/"
		}
	}
	request.Request.Method = "POST"
	httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header)
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded")

	bodyWriter := bytes.NewBuffer(nil)
	bodyEncoder := query.NewEncoder(bodyWriter)
	body := bodyEncoder.Object()
	body.Key("Action").String("UpgradeDBInstance")
	body.Key("Version").String("2013-05-15N2013-12-16")

	if err := awsAwsquery_serializeOpDocumentUpgradeDBInstanceInput(input, bodyEncoder.Value); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	err = bodyEncoder.Encode()
	if err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}

	if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil {
		return out, metadata, &smithy.SerializationError{Err: err}
	}
	in.Request = request

	return next.HandleSerialize(ctx, in)
}
func awsAwsquery_serializeDocumentListOfRequestDBSecurityGroups(v []string, value query.Value) error {
	array := value.Array("member")

	for i := range v {
		av := array.Value()
		av.String(v[i])
	}
	return nil
}

func awsAwsquery_serializeDocumentListOfRequestDimensions(v []types.RequestDimensions, value query.Value) error {
	array := value.Array("member")

	for i := range v {
		av := array.Value()
		if err := awsAwsquery_serializeDocumentRequestDimensions(&v[i], av); err != nil {
			return err
		}
	}
	return nil
}

func awsAwsquery_serializeDocumentListOfRequestEventCategories(v []string, value query.Value) error {
	array := value.Array("member")

	for i := range v {
		av := array.Value()
		av.String(v[i])
	}
	return nil
}

func awsAwsquery_serializeDocumentListOfRequestFilter(v []types.RequestFilter, value query.Value) error {
	array := value.Array("member")

	for i := range v {
		av := array.Value()
		if err := awsAwsquery_serializeDocumentRequestFilter(&v[i], av); err != nil {
			return err
		}
	}
	return nil
}

func awsAwsquery_serializeDocumentListOfRequestFilters(v []string, value query.Value) error {
	array := value.Array("member")

	for i := range v {
		av := array.Value()
		av.String(v[i])
	}
	return nil
}

func awsAwsquery_serializeDocumentListOfRequestMenber(v []string, value query.Value) error {
	array := value.Array("member")

	for i := range v {
		av := array.Value()
		av.String(v[i])
	}
	return nil
}

func awsAwsquery_serializeDocumentListOfRequestNiftyDBSecurityGroups(v []string, value query.Value) error {
	array := value.Array("member")

	for i := range v {
		av := array.Value()
		av.String(v[i])
	}
	return nil
}

func awsAwsquery_serializeDocumentListOfRequestNiftyEmailAddresses(v []string, value query.Value) error {
	array := value.Array("member")

	for i := range v {
		av := array.Value()
		av.String(v[i])
	}
	return nil
}

func awsAwsquery_serializeDocumentListOfRequestNiftySourceIds(v []string, value query.Value) error {
	array := value.Array("member")

	for i := range v {
		av := array.Value()
		av.String(v[i])
	}
	return nil
}

func awsAwsquery_serializeDocumentListOfRequestParameters(v []types.RequestParameters, value query.Value) error {
	array := value.Array("member")

	for i := range v {
		av := array.Value()
		if err := awsAwsquery_serializeDocumentRequestParameters(&v[i], av); err != nil {
			return err
		}
	}
	return nil
}

func awsAwsquery_serializeDocumentListOfRequestParametersOfResetDBParameterGroup(v []types.RequestParametersOfResetDBParameterGroup, value query.Value) error {
	array := value.Array("member")

	for i := range v {
		av := array.Value()
		if err := awsAwsquery_serializeDocumentRequestParametersOfResetDBParameterGroup(&v[i], av); err != nil {
			return err
		}
	}
	return nil
}

func awsAwsquery_serializeDocumentListOfRequestSourceIds(v []string, value query.Value) error {
	array := value.Array("member")

	for i := range v {
		av := array.Value()
		av.String(v[i])
	}
	return nil
}

func awsAwsquery_serializeDocumentListOfRequestVpcSecurityGroupIds(v []string, value query.Value) error {
	array := value.Array("member")

	for i := range v {
		av := array.Value()
		av.String(v[i])
	}
	return nil
}

func awsAwsquery_serializeDocumentRequestDimensions(v *types.RequestDimensions, value query.Value) error {
	object := value.Object()
	_ = object

	if v.Name != nil {
		objectKey := object.Key("Name")
		objectKey.String(*v.Name)
	}

	if v.Value != nil {
		objectKey := object.Key("Value")
		objectKey.String(*v.Value)
	}

	return nil
}

func awsAwsquery_serializeDocumentRequestFilter(v *types.RequestFilter, value query.Value) error {
	object := value.Object()
	_ = object

	if len(v.FilterName) > 0 {
		objectKey := object.Key("FilterName")
		objectKey.String(string(v.FilterName))
	}

	if v.FilterValue != nil {
		objectKey := object.Key("FilterValue")
		objectKey.String(*v.FilterValue)
	}

	return nil
}

func awsAwsquery_serializeDocumentRequestNiftyFilters(v *types.RequestNiftyFilters, value query.Value) error {
	object := value.Object()
	_ = object

	if v.ListOfRequestFilter != nil {
		objectKey := object.Key("Filter")
		if err := awsAwsquery_serializeDocumentListOfRequestFilter(v.ListOfRequestFilter, objectKey); err != nil {
			return err
		}
	}

	return nil
}

func awsAwsquery_serializeDocumentRequestParameters(v *types.RequestParameters, value query.Value) error {
	object := value.Object()
	_ = object

	if len(v.ApplyMethod) > 0 {
		objectKey := object.Key("ApplyMethod")
		objectKey.String(string(v.ApplyMethod))
	}

	if v.ParameterName != nil {
		objectKey := object.Key("ParameterName")
		objectKey.String(*v.ParameterName)
	}

	if v.ParameterValue != nil {
		objectKey := object.Key("ParameterValue")
		objectKey.String(*v.ParameterValue)
	}

	return nil
}

func awsAwsquery_serializeDocumentRequestParametersOfResetDBParameterGroup(v *types.RequestParametersOfResetDBParameterGroup, value query.Value) error {
	object := value.Object()
	_ = object

	if len(v.ApplyMethod) > 0 {
		objectKey := object.Key("ApplyMethod")
		objectKey.String(string(v.ApplyMethod))
	}

	if v.ParameterName != nil {
		objectKey := object.Key("ParameterName")
		objectKey.String(*v.ParameterName)
	}

	return nil
}

func awsAwsquery_serializeDocumentRequestTemporaryNiftyReadReplicaPrivateAddresses(v *types.RequestTemporaryNiftyReadReplicaPrivateAddresses, value query.Value) error {
	object := value.Object()
	_ = object

	if v.ListOfRequestMenber != nil {
		objectKey := object.Key("menber")
		if err := awsAwsquery_serializeDocumentListOfRequestMenber(v.ListOfRequestMenber, objectKey); err != nil {
			return err
		}
	}

	return nil
}

func awsAwsquery_serializeOpDocumentAddSourceIdentifierToSubscriptionInput(v *AddSourceIdentifierToSubscriptionInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.SourceIdentifier != nil {
		objectKey := object.Key("SourceIdentifier")
		objectKey.String(*v.SourceIdentifier)
	}

	if v.SubscriptionName != nil {
		objectKey := object.Key("SubscriptionName")
		objectKey.String(*v.SubscriptionName)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentAuthorizeDBSecurityGroupIngressInput(v *AuthorizeDBSecurityGroupIngressInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.CIDRIP != nil {
		objectKey := object.Key("CIDRIP")
		objectKey.String(*v.CIDRIP)
	}

	if v.DBSecurityGroupName != nil {
		objectKey := object.Key("DBSecurityGroupName")
		objectKey.String(*v.DBSecurityGroupName)
	}

	if v.EC2SecurityGroupId != nil {
		objectKey := object.Key("EC2SecurityGroupId")
		objectKey.String(*v.EC2SecurityGroupId)
	}

	if v.EC2SecurityGroupName != nil {
		objectKey := object.Key("EC2SecurityGroupName")
		objectKey.String(*v.EC2SecurityGroupName)
	}

	if v.EC2SecurityGroupOwnerId != nil {
		objectKey := object.Key("EC2SecurityGroupOwnerId")
		objectKey.String(*v.EC2SecurityGroupOwnerId)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentCancelDBInstanceForUpgradeInput(v *CancelDBInstanceForUpgradeInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentCopyDBSnapshotInput(v *CopyDBSnapshotInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.SourceDBSnapshotIdentifier != nil {
		objectKey := object.Key("SourceDBSnapshotIdentifier")
		objectKey.String(*v.SourceDBSnapshotIdentifier)
	}

	if v.TargetDBSnapshotIdentifier != nil {
		objectKey := object.Key("TargetDBSnapshotIdentifier")
		objectKey.String(*v.TargetDBSnapshotIdentifier)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentCreateDBInstanceInput(v *CreateDBInstanceInput, value query.Value) error {
	object := value.Object()
	_ = object

	if len(v.AccountingType) > 0 {
		objectKey := object.Key("AccountingType")
		objectKey.String(string(v.AccountingType))
	}

	if v.AllocatedStorage != nil {
		objectKey := object.Key("AllocatedStorage")
		objectKey.Integer(*v.AllocatedStorage)
	}

	if v.AutoMinorVersionUpgrade != nil {
		objectKey := object.Key("AutoMinorVersionUpgrade")
		objectKey.Boolean(*v.AutoMinorVersionUpgrade)
	}

	if v.AvailabilityZone != nil {
		objectKey := object.Key("AvailabilityZone")
		objectKey.String(*v.AvailabilityZone)
	}

	if v.BackupRetentionPeriod != nil {
		objectKey := object.Key("BackupRetentionPeriod")
		objectKey.Integer(*v.BackupRetentionPeriod)
	}

	if v.CharacterSetName != nil {
		objectKey := object.Key("CharacterSetName")
		objectKey.String(*v.CharacterSetName)
	}

	if len(v.DBInstanceClass) > 0 {
		objectKey := object.Key("DBInstanceClass")
		objectKey.String(string(v.DBInstanceClass))
	}

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.DBName != nil {
		objectKey := object.Key("DBName")
		objectKey.String(*v.DBName)
	}

	if v.DBParameterGroupName != nil {
		objectKey := object.Key("DBParameterGroupName")
		objectKey.String(*v.DBParameterGroupName)
	}

	if v.DBSecurityGroups != nil {
		objectKey := object.Key("DBSecurityGroups")
		if err := awsAwsquery_serializeDocumentListOfRequestDBSecurityGroups(v.DBSecurityGroups, objectKey); err != nil {
			return err
		}
	}

	if v.DBSubnetGroupName != nil {
		objectKey := object.Key("DBSubnetGroupName")
		objectKey.String(*v.DBSubnetGroupName)
	}

	if len(v.Engine) > 0 {
		objectKey := object.Key("Engine")
		objectKey.String(string(v.Engine))
	}

	if v.EngineVersion != nil {
		objectKey := object.Key("EngineVersion")
		objectKey.String(*v.EngineVersion)
	}

	if v.Iops != nil {
		objectKey := object.Key("Iops")
		objectKey.Integer(*v.Iops)
	}

	if v.LicenseModel != nil {
		objectKey := object.Key("LicenseModel")
		objectKey.String(*v.LicenseModel)
	}

	if v.MasterUsername != nil {
		objectKey := object.Key("MasterUsername")
		objectKey.String(*v.MasterUsername)
	}

	if v.MasterUserPassword != nil {
		objectKey := object.Key("MasterUserPassword")
		objectKey.String(*v.MasterUserPassword)
	}

	if v.MultiAZ != nil {
		objectKey := object.Key("MultiAZ")
		objectKey.Boolean(*v.MultiAZ)
	}

	if v.NiftyMasterPrivateAddress != nil {
		objectKey := object.Key("NiftyMasterPrivateAddress")
		objectKey.String(*v.NiftyMasterPrivateAddress)
	}

	if v.NiftyNetworkId != nil {
		objectKey := object.Key("NiftyNetworkId")
		objectKey.String(*v.NiftyNetworkId)
	}

	if v.NiftySlavePrivateAddress != nil {
		objectKey := object.Key("NiftySlavePrivateAddress")
		objectKey.String(*v.NiftySlavePrivateAddress)
	}

	if v.NiftyStorageType != nil {
		objectKey := object.Key("NiftyStorageType")
		objectKey.Integer(*v.NiftyStorageType)
	}

	if v.NiftyVirtualPrivateAddress != nil {
		objectKey := object.Key("NiftyVirtualPrivateAddress")
		objectKey.String(*v.NiftyVirtualPrivateAddress)
	}

	if v.OptionGroupName != nil {
		objectKey := object.Key("OptionGroupName")
		objectKey.String(*v.OptionGroupName)
	}

	if v.Port != nil {
		objectKey := object.Key("Port")
		objectKey.Integer(*v.Port)
	}

	if v.PreferredBackupWindow != nil {
		objectKey := object.Key("PreferredBackupWindow")
		objectKey.String(*v.PreferredBackupWindow)
	}

	if v.PreferredMaintenanceWindow != nil {
		objectKey := object.Key("PreferredMaintenanceWindow")
		objectKey.String(*v.PreferredMaintenanceWindow)
	}

	if v.PubliclyAccessible != nil {
		objectKey := object.Key("PubliclyAccessible")
		objectKey.Boolean(*v.PubliclyAccessible)
	}

	if v.VpcSecurityGroupIds != nil {
		objectKey := object.Key("VpcSecurityGroupIds")
		if err := awsAwsquery_serializeDocumentListOfRequestVpcSecurityGroupIds(v.VpcSecurityGroupIds, objectKey); err != nil {
			return err
		}
	}

	return nil
}

func awsAwsquery_serializeOpDocumentCreateDBInstanceReadReplicaInput(v *CreateDBInstanceReadReplicaInput, value query.Value) error {
	object := value.Object()
	_ = object

	if len(v.AccountingType) > 0 {
		objectKey := object.Key("AccountingType")
		objectKey.String(string(v.AccountingType))
	}

	if v.AutoMinorVersionUpgrade != nil {
		objectKey := object.Key("AutoMinorVersionUpgrade")
		objectKey.Boolean(*v.AutoMinorVersionUpgrade)
	}

	if v.AvailabilityZone != nil {
		objectKey := object.Key("AvailabilityZone")
		objectKey.String(*v.AvailabilityZone)
	}

	if len(v.DBInstanceClass) > 0 {
		objectKey := object.Key("DBInstanceClass")
		objectKey.String(string(v.DBInstanceClass))
	}

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.Iops != nil {
		objectKey := object.Key("Iops")
		objectKey.Integer(*v.Iops)
	}

	if v.NiftyReadReplicaPrivateAddress != nil {
		objectKey := object.Key("NiftyReadReplicaPrivateAddress")
		objectKey.String(*v.NiftyReadReplicaPrivateAddress)
	}

	if v.NiftyStorageType != nil {
		objectKey := object.Key("NiftyStorageType")
		objectKey.Integer(*v.NiftyStorageType)
	}

	if v.OptionGroupName != nil {
		objectKey := object.Key("OptionGroupName")
		objectKey.String(*v.OptionGroupName)
	}

	if v.Port != nil {
		objectKey := object.Key("Port")
		objectKey.Integer(*v.Port)
	}

	if v.PubliclyAccessible != nil {
		objectKey := object.Key("PubliclyAccessible")
		objectKey.Boolean(*v.PubliclyAccessible)
	}

	if v.SourceDBInstanceIdentifier != nil {
		objectKey := object.Key("SourceDBInstanceIdentifier")
		objectKey.String(*v.SourceDBInstanceIdentifier)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentCreateDBParameterGroupInput(v *CreateDBParameterGroupInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBParameterGroupFamily != nil {
		objectKey := object.Key("DBParameterGroupFamily")
		objectKey.String(*v.DBParameterGroupFamily)
	}

	if v.DBParameterGroupName != nil {
		objectKey := object.Key("DBParameterGroupName")
		objectKey.String(*v.DBParameterGroupName)
	}

	if v.Description != nil {
		objectKey := object.Key("Description")
		objectKey.String(*v.Description)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentCreateDBSecurityGroupInput(v *CreateDBSecurityGroupInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBSecurityGroupDescription != nil {
		objectKey := object.Key("DBSecurityGroupDescription")
		objectKey.String(*v.DBSecurityGroupDescription)
	}

	if v.DBSecurityGroupName != nil {
		objectKey := object.Key("DBSecurityGroupName")
		objectKey.String(*v.DBSecurityGroupName)
	}

	if v.NiftyAvailabilityZone != nil {
		objectKey := object.Key("NiftyAvailabilityZone")
		objectKey.String(*v.NiftyAvailabilityZone)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentCreateDBSnapshotInput(v *CreateDBSnapshotInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.DBSnapshotIdentifier != nil {
		objectKey := object.Key("DBSnapshotIdentifier")
		objectKey.String(*v.DBSnapshotIdentifier)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentCreateEventSubscriptionInput(v *CreateEventSubscriptionInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.Enabled != nil {
		objectKey := object.Key("Enabled")
		objectKey.Boolean(*v.Enabled)
	}

	if v.EventCategories != nil {
		objectKey := object.Key("EventCategories")
		if err := awsAwsquery_serializeDocumentListOfRequestEventCategories(v.EventCategories, objectKey); err != nil {
			return err
		}
	}

	if v.NiftyDescription != nil {
		objectKey := object.Key("NiftyDescription")
		objectKey.String(*v.NiftyDescription)
	}

	if v.NiftyEmailAddresses != nil {
		objectKey := object.Key("NiftyEmailAddresses")
		if err := awsAwsquery_serializeDocumentListOfRequestNiftyEmailAddresses(v.NiftyEmailAddresses, objectKey); err != nil {
			return err
		}
	}

	if v.SourceIds != nil {
		objectKey := object.Key("SourceIds")
		if err := awsAwsquery_serializeDocumentListOfRequestSourceIds(v.SourceIds, objectKey); err != nil {
			return err
		}
	}

	if len(v.SourceType) > 0 {
		objectKey := object.Key("SourceType")
		objectKey.String(string(v.SourceType))
	}

	if v.SubscriptionName != nil {
		objectKey := object.Key("SubscriptionName")
		objectKey.String(*v.SubscriptionName)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDeleteDBInstanceInput(v *DeleteDBInstanceInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.FinalDBSnapshotIdentifier != nil {
		objectKey := object.Key("FinalDBSnapshotIdentifier")
		objectKey.String(*v.FinalDBSnapshotIdentifier)
	}

	if v.SkipFinalSnapshot != nil {
		objectKey := object.Key("SkipFinalSnapshot")
		objectKey.Boolean(*v.SkipFinalSnapshot)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDeleteDBParameterGroupInput(v *DeleteDBParameterGroupInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBParameterGroupName != nil {
		objectKey := object.Key("DBParameterGroupName")
		objectKey.String(*v.DBParameterGroupName)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDeleteDBSecurityGroupInput(v *DeleteDBSecurityGroupInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBSecurityGroupName != nil {
		objectKey := object.Key("DBSecurityGroupName")
		objectKey.String(*v.DBSecurityGroupName)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDeleteDBSnapshotInput(v *DeleteDBSnapshotInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBSnapshotIdentifier != nil {
		objectKey := object.Key("DBSnapshotIdentifier")
		objectKey.String(*v.DBSnapshotIdentifier)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDeleteEventSubscriptionInput(v *DeleteEventSubscriptionInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.SubscriptionName != nil {
		objectKey := object.Key("SubscriptionName")
		objectKey.String(*v.SubscriptionName)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDescribeCertificatesInput(v *DescribeCertificatesInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.CertificateIdentifier != nil {
		objectKey := object.Key("CertificateIdentifier")
		objectKey.String(*v.CertificateIdentifier)
	}

	if v.Filter != nil {
		objectKey := object.Key("Filter")
		objectKey.String(*v.Filter)
	}

	if v.FilterName != nil {
		objectKey := object.Key("FilterName")
		objectKey.String(*v.FilterName)
	}

	if v.Filters != nil {
		objectKey := object.Key("Filters")
		if err := awsAwsquery_serializeDocumentListOfRequestFilters(v.Filters, objectKey); err != nil {
			return err
		}
	}

	if v.FilterValue != nil {
		objectKey := object.Key("FilterValue")
		objectKey.String(*v.FilterValue)
	}

	if v.Marker != nil {
		objectKey := object.Key("Marker")
		objectKey.String(*v.Marker)
	}

	if v.MaxRecords != nil {
		objectKey := object.Key("MaxRecords")
		objectKey.Integer(*v.MaxRecords)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDescribeDBEngineVersionsInput(v *DescribeDBEngineVersionsInput, value query.Value) error {
	object := value.Object()
	_ = object

	if len(v.DBParameterGroupFamily) > 0 {
		objectKey := object.Key("DBParameterGroupFamily")
		objectKey.String(string(v.DBParameterGroupFamily))
	}

	if v.DefaultOnly != nil {
		objectKey := object.Key("DefaultOnly")
		objectKey.Boolean(*v.DefaultOnly)
	}

	if len(v.Engine) > 0 {
		objectKey := object.Key("Engine")
		objectKey.String(string(v.Engine))
	}

	if v.EngineVersion != nil {
		objectKey := object.Key("EngineVersion")
		objectKey.String(*v.EngineVersion)
	}

	if v.IncludeAll != nil {
		objectKey := object.Key("IncludeAll")
		objectKey.Boolean(*v.IncludeAll)
	}

	if v.ListSupportedCharacterSets != nil {
		objectKey := object.Key("ListSupportedCharacterSets")
		objectKey.Boolean(*v.ListSupportedCharacterSets)
	}

	if v.Marker != nil {
		objectKey := object.Key("Marker")
		objectKey.String(*v.Marker)
	}

	if v.MaxRecords != nil {
		objectKey := object.Key("MaxRecords")
		objectKey.Integer(*v.MaxRecords)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDescribeDBInstancesInput(v *DescribeDBInstancesInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.Filter != nil {
		objectKey := object.Key("Filter")
		objectKey.String(*v.Filter)
	}

	if v.FilterName != nil {
		objectKey := object.Key("FilterName")
		objectKey.String(*v.FilterName)
	}

	if v.Filters != nil {
		objectKey := object.Key("Filters")
		if err := awsAwsquery_serializeDocumentListOfRequestFilters(v.Filters, objectKey); err != nil {
			return err
		}
	}

	if v.FilterValue != nil {
		objectKey := object.Key("FilterValue")
		objectKey.String(*v.FilterValue)
	}

	if v.Marker != nil {
		objectKey := object.Key("Marker")
		objectKey.String(*v.Marker)
	}

	if v.MaxRecords != nil {
		objectKey := object.Key("MaxRecords")
		objectKey.Integer(*v.MaxRecords)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDescribeDBLogFilesOperationInput(v *DescribeDBLogFilesOperationInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.FileLastWritten != nil {
		objectKey := object.Key("FileLastWritten")
		objectKey.Long(*v.FileLastWritten)
	}

	if v.FilenameContains != nil {
		objectKey := object.Key("FilenameContains")
		objectKey.String(*v.FilenameContains)
	}

	if v.FileSize != nil {
		objectKey := object.Key("FileSize")
		objectKey.Long(*v.FileSize)
	}

	if v.Marker != nil {
		objectKey := object.Key("Marker")
		objectKey.String(*v.Marker)
	}

	if v.MaxRecords != nil {
		objectKey := object.Key("MaxRecords")
		objectKey.Integer(*v.MaxRecords)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDescribeDBParameterGroupsInput(v *DescribeDBParameterGroupsInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBParameterGroupName != nil {
		objectKey := object.Key("DBParameterGroupName")
		objectKey.String(*v.DBParameterGroupName)
	}

	if v.Filter != nil {
		objectKey := object.Key("Filter")
		objectKey.String(*v.Filter)
	}

	if v.FilterName != nil {
		objectKey := object.Key("FilterName")
		objectKey.String(*v.FilterName)
	}

	if v.Filters != nil {
		objectKey := object.Key("Filters")
		if err := awsAwsquery_serializeDocumentListOfRequestFilters(v.Filters, objectKey); err != nil {
			return err
		}
	}

	if v.FilterValue != nil {
		objectKey := object.Key("FilterValue")
		objectKey.String(*v.FilterValue)
	}

	if v.Marker != nil {
		objectKey := object.Key("Marker")
		objectKey.String(*v.Marker)
	}

	if v.MaxRecords != nil {
		objectKey := object.Key("MaxRecords")
		objectKey.Integer(*v.MaxRecords)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDescribeDBParametersInput(v *DescribeDBParametersInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBParameterGroupName != nil {
		objectKey := object.Key("DBParameterGroupName")
		objectKey.String(*v.DBParameterGroupName)
	}

	if v.Marker != nil {
		objectKey := object.Key("Marker")
		objectKey.String(*v.Marker)
	}

	if v.MaxRecords != nil {
		objectKey := object.Key("MaxRecords")
		objectKey.Integer(*v.MaxRecords)
	}

	if len(v.Source) > 0 {
		objectKey := object.Key("Source")
		objectKey.String(string(v.Source))
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDescribeDBSecurityGroupsInput(v *DescribeDBSecurityGroupsInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBSecurityGroupName != nil {
		objectKey := object.Key("DBSecurityGroupName")
		objectKey.String(*v.DBSecurityGroupName)
	}

	if v.Filter != nil {
		objectKey := object.Key("Filter")
		objectKey.String(*v.Filter)
	}

	if v.FilterName != nil {
		objectKey := object.Key("FilterName")
		objectKey.String(*v.FilterName)
	}

	if v.Filters != nil {
		objectKey := object.Key("Filters")
		if err := awsAwsquery_serializeDocumentListOfRequestFilters(v.Filters, objectKey); err != nil {
			return err
		}
	}

	if v.FilterValue != nil {
		objectKey := object.Key("FilterValue")
		objectKey.String(*v.FilterValue)
	}

	if v.Marker != nil {
		objectKey := object.Key("Marker")
		objectKey.String(*v.Marker)
	}

	if v.MaxRecords != nil {
		objectKey := object.Key("MaxRecords")
		objectKey.Integer(*v.MaxRecords)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDescribeDBSnapshotsInput(v *DescribeDBSnapshotsInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.DBSnapshotIdentifier != nil {
		objectKey := object.Key("DBSnapshotIdentifier")
		objectKey.String(*v.DBSnapshotIdentifier)
	}

	if v.Filter != nil {
		objectKey := object.Key("Filter")
		objectKey.String(*v.Filter)
	}

	if v.FilterName != nil {
		objectKey := object.Key("FilterName")
		objectKey.String(*v.FilterName)
	}

	if v.Filters != nil {
		objectKey := object.Key("Filters")
		if err := awsAwsquery_serializeDocumentListOfRequestFilters(v.Filters, objectKey); err != nil {
			return err
		}
	}

	if v.FilterValue != nil {
		objectKey := object.Key("FilterValue")
		objectKey.String(*v.FilterValue)
	}

	if v.Marker != nil {
		objectKey := object.Key("Marker")
		objectKey.String(*v.Marker)
	}

	if v.MaxRecords != nil {
		objectKey := object.Key("MaxRecords")
		objectKey.Integer(*v.MaxRecords)
	}

	if len(v.SnapshotType) > 0 {
		objectKey := object.Key("SnapshotType")
		objectKey.String(string(v.SnapshotType))
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDescribeEngineDefaultParametersInput(v *DescribeEngineDefaultParametersInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBParameterGroupFamily != nil {
		objectKey := object.Key("DBParameterGroupFamily")
		objectKey.String(*v.DBParameterGroupFamily)
	}

	if v.Marker != nil {
		objectKey := object.Key("Marker")
		objectKey.String(*v.Marker)
	}

	if v.MaxRecords != nil {
		objectKey := object.Key("MaxRecords")
		objectKey.Integer(*v.MaxRecords)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDescribeEventCategoriesInput(v *DescribeEventCategoriesInput, value query.Value) error {
	object := value.Object()
	_ = object

	if len(v.SourceType) > 0 {
		objectKey := object.Key("SourceType")
		objectKey.String(string(v.SourceType))
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDescribeEventsInput(v *DescribeEventsInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.Duration != nil {
		objectKey := object.Key("Duration")
		objectKey.Integer(*v.Duration)
	}

	if v.EndTime != nil {
		objectKey := object.Key("EndTime")
		objectKey.String(serializers.FormatGetMetricStatisticsDateTime(reflect.ValueOf(*v).Type().Name(), *v.EndTime))
	}

	if v.EventCategories != nil {
		objectKey := object.Key("EventCategories")
		if err := awsAwsquery_serializeDocumentListOfRequestEventCategories(v.EventCategories, objectKey); err != nil {
			return err
		}
	}

	if v.Marker != nil {
		objectKey := object.Key("Marker")
		objectKey.String(*v.Marker)
	}

	if v.MaxRecords != nil {
		objectKey := object.Key("MaxRecords")
		objectKey.Integer(*v.MaxRecords)
	}

	if v.SourceIdentifier != nil {
		objectKey := object.Key("SourceIdentifier")
		objectKey.String(*v.SourceIdentifier)
	}

	if len(v.SourceType) > 0 {
		objectKey := object.Key("SourceType")
		objectKey.String(string(v.SourceType))
	}

	if v.StartTime != nil {
		objectKey := object.Key("StartTime")
		objectKey.String(serializers.FormatGetMetricStatisticsDateTime(reflect.ValueOf(*v).Type().Name(), *v.StartTime))
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDescribeEventSubscriptionsInput(v *DescribeEventSubscriptionsInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.Marker != nil {
		objectKey := object.Key("Marker")
		objectKey.String(*v.Marker)
	}

	if v.MaxRecords != nil {
		objectKey := object.Key("MaxRecords")
		objectKey.Integer(*v.MaxRecords)
	}

	if v.NiftyFilters != nil {
		objectKey := object.Key("NiftyFilters")
		if err := awsAwsquery_serializeDocumentRequestNiftyFilters(v.NiftyFilters, objectKey); err != nil {
			return err
		}
	}

	if v.NiftySortDesc != nil {
		objectKey := object.Key("NiftySortDesc")
		objectKey.Integer(*v.NiftySortDesc)
	}

	if len(v.NIftySortKey) > 0 {
		objectKey := object.Key("NIftySortKey")
		objectKey.String(string(v.NIftySortKey))
	}

	if v.SubscriptionName != nil {
		objectKey := object.Key("SubscriptionName")
		objectKey.String(*v.SubscriptionName)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDescribeOrderableDBInstanceOptionsInput(v *DescribeOrderableDBInstanceOptionsInput, value query.Value) error {
	object := value.Object()
	_ = object

	if len(v.DBInstanceClass) > 0 {
		objectKey := object.Key("DBInstanceClass")
		objectKey.String(string(v.DBInstanceClass))
	}

	if len(v.Engine) > 0 {
		objectKey := object.Key("Engine")
		objectKey.String(string(v.Engine))
	}

	if v.EngineVersion != nil {
		objectKey := object.Key("EngineVersion")
		objectKey.String(*v.EngineVersion)
	}

	if v.LicenseModel != nil {
		objectKey := object.Key("LicenseModel")
		objectKey.String(*v.LicenseModel)
	}

	if v.Marker != nil {
		objectKey := object.Key("Marker")
		objectKey.String(*v.Marker)
	}

	if v.MaxRecords != nil {
		objectKey := object.Key("MaxRecords")
		objectKey.Integer(*v.MaxRecords)
	}

	if v.Vpc != nil {
		objectKey := object.Key("Vpc")
		objectKey.Boolean(*v.Vpc)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentDownloadDBLogFilePortionInput(v *DownloadDBLogFilePortionInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.LogFileName != nil {
		objectKey := object.Key("LogFileName")
		objectKey.String(*v.LogFileName)
	}

	if v.Marker != nil {
		objectKey := object.Key("Marker")
		objectKey.String(*v.Marker)
	}

	if v.NumberOfLines != nil {
		objectKey := object.Key("NumberOfLines")
		objectKey.Integer(*v.NumberOfLines)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentModifyDBInstanceInput(v *ModifyDBInstanceInput, value query.Value) error {
	object := value.Object()
	_ = object

	if len(v.AccountingType) > 0 {
		objectKey := object.Key("AccountingType")
		objectKey.String(string(v.AccountingType))
	}

	if v.AllocatedStorage != nil {
		objectKey := object.Key("AllocatedStorage")
		objectKey.Integer(*v.AllocatedStorage)
	}

	if v.AllowMajorVersionUpgrade != nil {
		objectKey := object.Key("AllowMajorVersionUpgrade")
		objectKey.Boolean(*v.AllowMajorVersionUpgrade)
	}

	if v.ApplyImmediately != nil {
		objectKey := object.Key("ApplyImmediately")
		objectKey.Boolean(*v.ApplyImmediately)
	}

	if v.AutoMinorVersionUpgrade != nil {
		objectKey := object.Key("AutoMinorVersionUpgrade")
		objectKey.Boolean(*v.AutoMinorVersionUpgrade)
	}

	if v.BackupRetentionPeriod != nil {
		objectKey := object.Key("BackupRetentionPeriod")
		objectKey.Integer(*v.BackupRetentionPeriod)
	}

	if v.BinlogRetentionPeriod != nil {
		objectKey := object.Key("BinlogRetentionPeriod")
		objectKey.Integer(*v.BinlogRetentionPeriod)
	}

	if v.CACertificateIdentifier != nil {
		objectKey := object.Key("CACertificateIdentifier")
		objectKey.String(*v.CACertificateIdentifier)
	}

	if v.CustomBinlogRetentionPeriod != nil {
		objectKey := object.Key("CustomBinlogRetentionPeriod")
		objectKey.Boolean(*v.CustomBinlogRetentionPeriod)
	}

	if len(v.DBInstanceClass) > 0 {
		objectKey := object.Key("DBInstanceClass")
		objectKey.String(string(v.DBInstanceClass))
	}

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.DBParameterGroupName != nil {
		objectKey := object.Key("DBParameterGroupName")
		objectKey.String(*v.DBParameterGroupName)
	}

	if v.DBSecurityGroups != nil {
		objectKey := object.Key("DBSecurityGroups")
		if err := awsAwsquery_serializeDocumentListOfRequestDBSecurityGroups(v.DBSecurityGroups, objectKey); err != nil {
			return err
		}
	}

	if v.EngineVersion != nil {
		objectKey := object.Key("EngineVersion")
		objectKey.String(*v.EngineVersion)
	}

	if v.Iops != nil {
		objectKey := object.Key("Iops")
		objectKey.Integer(*v.Iops)
	}

	if v.MasterUserPassword != nil {
		objectKey := object.Key("MasterUserPassword")
		objectKey.String(*v.MasterUserPassword)
	}

	if v.MultiAZ != nil {
		objectKey := object.Key("MultiAZ")
		objectKey.Boolean(*v.MultiAZ)
	}

	if v.NewDBInstanceIdentifier != nil {
		objectKey := object.Key("NewDBInstanceIdentifier")
		objectKey.String(*v.NewDBInstanceIdentifier)
	}

	if v.NiftySlavePrivateAddress != nil {
		objectKey := object.Key("NiftySlavePrivateAddress")
		objectKey.String(*v.NiftySlavePrivateAddress)
	}

	if v.OptionGroupName != nil {
		objectKey := object.Key("OptionGroupName")
		objectKey.String(*v.OptionGroupName)
	}

	if v.PreferredBackupWindow != nil {
		objectKey := object.Key("PreferredBackupWindow")
		objectKey.String(*v.PreferredBackupWindow)
	}

	if v.PreferredMaintenanceWindow != nil {
		objectKey := object.Key("PreferredMaintenanceWindow")
		objectKey.String(*v.PreferredMaintenanceWindow)
	}

	if v.VpcSecurityGroupIds != nil {
		objectKey := object.Key("VpcSecurityGroupIds")
		if err := awsAwsquery_serializeDocumentListOfRequestVpcSecurityGroupIds(v.VpcSecurityGroupIds, objectKey); err != nil {
			return err
		}
	}

	return nil
}

func awsAwsquery_serializeOpDocumentModifyDBInstanceNetworkInput(v *ModifyDBInstanceNetworkInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.NiftyMasterPrivateAddress != nil {
		objectKey := object.Key("NiftyMasterPrivateAddress")
		objectKey.String(*v.NiftyMasterPrivateAddress)
	}

	if v.NiftyNetworkId != nil {
		objectKey := object.Key("NiftyNetworkId")
		objectKey.String(*v.NiftyNetworkId)
	}

	if v.NiftySlavePrivateAddress != nil {
		objectKey := object.Key("NiftySlavePrivateAddress")
		objectKey.String(*v.NiftySlavePrivateAddress)
	}

	if v.NiftyVirtualPrivateAddress != nil {
		objectKey := object.Key("NiftyVirtualPrivateAddress")
		objectKey.String(*v.NiftyVirtualPrivateAddress)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentModifyDBParameterGroupInput(v *ModifyDBParameterGroupInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBParameterGroupName != nil {
		objectKey := object.Key("DBParameterGroupName")
		objectKey.String(*v.DBParameterGroupName)
	}

	if v.Parameters != nil {
		objectKey := object.Key("Parameters")
		if err := awsAwsquery_serializeDocumentListOfRequestParameters(v.Parameters, objectKey); err != nil {
			return err
		}
	}

	return nil
}

func awsAwsquery_serializeOpDocumentModifyEventSubscriptionInput(v *ModifyEventSubscriptionInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.Enabled != nil {
		objectKey := object.Key("Enabled")
		objectKey.Boolean(*v.Enabled)
	}

	if v.EventCategories != nil {
		objectKey := object.Key("EventCategories")
		if err := awsAwsquery_serializeDocumentListOfRequestEventCategories(v.EventCategories, objectKey); err != nil {
			return err
		}
	}

	if v.NiftyDescription != nil {
		objectKey := object.Key("NiftyDescription")
		objectKey.String(*v.NiftyDescription)
	}

	if v.NiftyEmailAddresses != nil {
		objectKey := object.Key("NiftyEmailAddresses")
		if err := awsAwsquery_serializeDocumentListOfRequestNiftyEmailAddresses(v.NiftyEmailAddresses, objectKey); err != nil {
			return err
		}
	}

	if v.NiftySourceIds != nil {
		objectKey := object.Key("NiftySourceIds")
		if err := awsAwsquery_serializeDocumentListOfRequestNiftySourceIds(v.NiftySourceIds, objectKey); err != nil {
			return err
		}
	}

	if v.SourceType != nil {
		objectKey := object.Key("SourceType")
		objectKey.String(*v.SourceType)
	}

	if v.SubscriptionName != nil {
		objectKey := object.Key("SubscriptionName")
		objectKey.String(*v.SubscriptionName)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentNiftyGetMetricStatisticsInput(v *NiftyGetMetricStatisticsInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.Dimensions != nil {
		objectKey := object.Key("Dimensions")
		if err := awsAwsquery_serializeDocumentListOfRequestDimensions(v.Dimensions, objectKey); err != nil {
			return err
		}
	}

	if v.EndTime != nil {
		objectKey := object.Key("EndTime")
		objectKey.String(serializers.FormatGetMetricStatisticsDateTime(reflect.ValueOf(*v).Type().Name(), *v.EndTime))
	}

	if len(v.MetricName) > 0 {
		objectKey := object.Key("MetricName")
		objectKey.String(string(v.MetricName))
	}

	if v.StartTime != nil {
		objectKey := object.Key("StartTime")
		objectKey.String(serializers.FormatGetMetricStatisticsDateTime(reflect.ValueOf(*v).Type().Name(), *v.StartTime))
	}

	return nil
}

func awsAwsquery_serializeOpDocumentPrepareDBInstanceForUpgradeInput(v *PrepareDBInstanceForUpgradeInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.TemporaryNiftyMasterPrivateAddress != nil {
		objectKey := object.Key("TemporaryNiftyMasterPrivateAddress")
		objectKey.String(*v.TemporaryNiftyMasterPrivateAddress)
	}

	if v.TemporaryNiftyReadReplicaPrivateAddresses != nil {
		objectKey := object.Key("TemporaryNiftyReadReplicaPrivateAddresses")
		if err := awsAwsquery_serializeDocumentRequestTemporaryNiftyReadReplicaPrivateAddresses(v.TemporaryNiftyReadReplicaPrivateAddresses, objectKey); err != nil {
			return err
		}
	}

	if v.TemporaryNiftySlavePrivateAddress != nil {
		objectKey := object.Key("TemporaryNiftySlavePrivateAddress")
		objectKey.String(*v.TemporaryNiftySlavePrivateAddress)
	}

	if v.TemporaryNiftyVirtualPrivateAddress != nil {
		objectKey := object.Key("TemporaryNiftyVirtualPrivateAddress")
		objectKey.String(*v.TemporaryNiftyVirtualPrivateAddress)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentRebootDBInstanceInput(v *RebootDBInstanceInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.ForceFailover != nil {
		objectKey := object.Key("ForceFailover")
		objectKey.Boolean(*v.ForceFailover)
	}

	if len(v.NiftyRebootType) > 0 {
		objectKey := object.Key("NiftyRebootType")
		objectKey.String(string(v.NiftyRebootType))
	}

	return nil
}

func awsAwsquery_serializeOpDocumentRemoveSourceIdentifierFromSubscriptionInput(v *RemoveSourceIdentifierFromSubscriptionInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.SourceIdentifier != nil {
		objectKey := object.Key("SourceIdentifier")
		objectKey.String(*v.SourceIdentifier)
	}

	if v.SubscriptionName != nil {
		objectKey := object.Key("SubscriptionName")
		objectKey.String(*v.SubscriptionName)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentResetDBParameterGroupInput(v *ResetDBParameterGroupInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBParameterGroupName != nil {
		objectKey := object.Key("DBParameterGroupName")
		objectKey.String(*v.DBParameterGroupName)
	}

	if v.Parameters != nil {
		objectKey := object.Key("Parameters")
		if err := awsAwsquery_serializeDocumentListOfRequestParametersOfResetDBParameterGroup(v.Parameters, objectKey); err != nil {
			return err
		}
	}

	if v.ResetAllParameters != nil {
		objectKey := object.Key("ResetAllParameters")
		objectKey.Boolean(*v.ResetAllParameters)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentResetExternalMasterInput(v *ResetExternalMasterInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentRestoreDBInstanceFromDBSnapshotInput(v *RestoreDBInstanceFromDBSnapshotInput, value query.Value) error {
	object := value.Object()
	_ = object

	if len(v.AccountingType) > 0 {
		objectKey := object.Key("AccountingType")
		objectKey.String(string(v.AccountingType))
	}

	if v.AutoMinorVersionUpgrade != nil {
		objectKey := object.Key("AutoMinorVersionUpgrade")
		objectKey.Boolean(*v.AutoMinorVersionUpgrade)
	}

	if v.AvailabilityZone != nil {
		objectKey := object.Key("AvailabilityZone")
		objectKey.String(*v.AvailabilityZone)
	}

	if len(v.DBInstanceClass) > 0 {
		objectKey := object.Key("DBInstanceClass")
		objectKey.String(string(v.DBInstanceClass))
	}

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.DBName != nil {
		objectKey := object.Key("DBName")
		objectKey.String(*v.DBName)
	}

	if v.DBSnapshotIdentifier != nil {
		objectKey := object.Key("DBSnapshotIdentifier")
		objectKey.String(*v.DBSnapshotIdentifier)
	}

	if v.DBSubnetGroupName != nil {
		objectKey := object.Key("DBSubnetGroupName")
		objectKey.String(*v.DBSubnetGroupName)
	}

	if v.DowngradeRestore != nil {
		objectKey := object.Key("DowngradeRestore")
		objectKey.Boolean(*v.DowngradeRestore)
	}

	if v.Engine != nil {
		objectKey := object.Key("Engine")
		objectKey.String(*v.Engine)
	}

	if v.Iops != nil {
		objectKey := object.Key("Iops")
		objectKey.Integer(*v.Iops)
	}

	if v.LicenseModel != nil {
		objectKey := object.Key("LicenseModel")
		objectKey.String(*v.LicenseModel)
	}

	if v.MultiAZ != nil {
		objectKey := object.Key("MultiAZ")
		objectKey.Boolean(*v.MultiAZ)
	}

	if v.NiftyDBParameterGroupName != nil {
		objectKey := object.Key("NiftyDBParameterGroupName")
		objectKey.String(*v.NiftyDBParameterGroupName)
	}

	if v.NiftyDBSecurityGroups != nil {
		objectKey := object.Key("NiftyDBSecurityGroups")
		if err := awsAwsquery_serializeDocumentListOfRequestNiftyDBSecurityGroups(v.NiftyDBSecurityGroups, objectKey); err != nil {
			return err
		}
	}

	if v.NiftyMasterPrivateAddress != nil {
		objectKey := object.Key("NiftyMasterPrivateAddress")
		objectKey.String(*v.NiftyMasterPrivateAddress)
	}

	if v.NiftyNetworkId != nil {
		objectKey := object.Key("NiftyNetworkId")
		objectKey.String(*v.NiftyNetworkId)
	}

	if v.NiftySlavePrivateAddress != nil {
		objectKey := object.Key("NiftySlavePrivateAddress")
		objectKey.String(*v.NiftySlavePrivateAddress)
	}

	if v.NiftyStorageType != nil {
		objectKey := object.Key("NiftyStorageType")
		objectKey.Integer(*v.NiftyStorageType)
	}

	if v.NiftyVirtualPrivateAddress != nil {
		objectKey := object.Key("NiftyVirtualPrivateAddress")
		objectKey.String(*v.NiftyVirtualPrivateAddress)
	}

	if v.OptionGroupName != nil {
		objectKey := object.Key("OptionGroupName")
		objectKey.String(*v.OptionGroupName)
	}

	if v.Port != nil {
		objectKey := object.Key("Port")
		objectKey.Integer(*v.Port)
	}

	if v.PubliclyAccessible != nil {
		objectKey := object.Key("PubliclyAccessible")
		objectKey.Boolean(*v.PubliclyAccessible)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentRestoreDBInstanceToPointInTimeInput(v *RestoreDBInstanceToPointInTimeInput, value query.Value) error {
	object := value.Object()
	_ = object

	if len(v.AccountingType) > 0 {
		objectKey := object.Key("AccountingType")
		objectKey.String(string(v.AccountingType))
	}

	if v.AutoMinorVersionUpgrade != nil {
		objectKey := object.Key("AutoMinorVersionUpgrade")
		objectKey.Boolean(*v.AutoMinorVersionUpgrade)
	}

	if v.AvailabilityZone != nil {
		objectKey := object.Key("AvailabilityZone")
		objectKey.String(*v.AvailabilityZone)
	}

	if len(v.DBInstanceClass) > 0 {
		objectKey := object.Key("DBInstanceClass")
		objectKey.String(string(v.DBInstanceClass))
	}

	if v.DBName != nil {
		objectKey := object.Key("DBName")
		objectKey.String(*v.DBName)
	}

	if v.DBSubnetGroupName != nil {
		objectKey := object.Key("DBSubnetGroupName")
		objectKey.String(*v.DBSubnetGroupName)
	}

	if v.DowngradeRestore != nil {
		objectKey := object.Key("DowngradeRestore")
		objectKey.Boolean(*v.DowngradeRestore)
	}

	if v.Engine != nil {
		objectKey := object.Key("Engine")
		objectKey.String(*v.Engine)
	}

	if v.Iops != nil {
		objectKey := object.Key("Iops")
		objectKey.Integer(*v.Iops)
	}

	if v.LicenseModel != nil {
		objectKey := object.Key("LicenseModel")
		objectKey.String(*v.LicenseModel)
	}

	if v.MultiAZ != nil {
		objectKey := object.Key("MultiAZ")
		objectKey.Boolean(*v.MultiAZ)
	}

	if v.NiftyDBParameterGroupName != nil {
		objectKey := object.Key("NiftyDBParameterGroupName")
		objectKey.String(*v.NiftyDBParameterGroupName)
	}

	if v.NiftyDBSecurityGroups != nil {
		objectKey := object.Key("NiftyDBSecurityGroups")
		if err := awsAwsquery_serializeDocumentListOfRequestNiftyDBSecurityGroups(v.NiftyDBSecurityGroups, objectKey); err != nil {
			return err
		}
	}

	if v.NiftyMasterPrivateAddress != nil {
		objectKey := object.Key("NiftyMasterPrivateAddress")
		objectKey.String(*v.NiftyMasterPrivateAddress)
	}

	if v.NiftyNetworkId != nil {
		objectKey := object.Key("NiftyNetworkId")
		objectKey.String(*v.NiftyNetworkId)
	}

	if v.NiftySlavePrivateAddress != nil {
		objectKey := object.Key("NiftySlavePrivateAddress")
		objectKey.String(*v.NiftySlavePrivateAddress)
	}

	if v.NiftyStorageType != nil {
		objectKey := object.Key("NiftyStorageType")
		objectKey.Integer(*v.NiftyStorageType)
	}

	if v.NiftyVirtualPrivateAddress != nil {
		objectKey := object.Key("NiftyVirtualPrivateAddress")
		objectKey.String(*v.NiftyVirtualPrivateAddress)
	}

	if v.OptionGroupName != nil {
		objectKey := object.Key("OptionGroupName")
		objectKey.String(*v.OptionGroupName)
	}

	if v.Port != nil {
		objectKey := object.Key("Port")
		objectKey.Integer(*v.Port)
	}

	if v.PubliclyAccessible != nil {
		objectKey := object.Key("PubliclyAccessible")
		objectKey.Boolean(*v.PubliclyAccessible)
	}

	if v.RestoreTime != nil {
		objectKey := object.Key("RestoreTime")
		objectKey.String(serializers.FormatGetMetricStatisticsDateTime(reflect.ValueOf(*v).Type().Name(), *v.RestoreTime))
	}

	if v.SourceDBInstanceIdentifier != nil {
		objectKey := object.Key("SourceDBInstanceIdentifier")
		objectKey.String(*v.SourceDBInstanceIdentifier)
	}

	if v.TargetDBInstanceIdentifier != nil {
		objectKey := object.Key("TargetDBInstanceIdentifier")
		objectKey.String(*v.TargetDBInstanceIdentifier)
	}

	if v.UseLatestRestorableTime != nil {
		objectKey := object.Key("UseLatestRestorableTime")
		objectKey.Boolean(*v.UseLatestRestorableTime)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentRevokeDBSecurityGroupIngressInput(v *RevokeDBSecurityGroupIngressInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.CIDRIP != nil {
		objectKey := object.Key("CIDRIP")
		objectKey.String(*v.CIDRIP)
	}

	if v.DBSecurityGroupName != nil {
		objectKey := object.Key("DBSecurityGroupName")
		objectKey.String(*v.DBSecurityGroupName)
	}

	if v.EC2SecurityGroupId != nil {
		objectKey := object.Key("EC2SecurityGroupId")
		objectKey.String(*v.EC2SecurityGroupId)
	}

	if v.EC2SecurityGroupName != nil {
		objectKey := object.Key("EC2SecurityGroupName")
		objectKey.String(*v.EC2SecurityGroupName)
	}

	if v.EC2SecurityGroupOwnerId != nil {
		objectKey := object.Key("EC2SecurityGroupOwnerId")
		objectKey.String(*v.EC2SecurityGroupOwnerId)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentSetExternalMasterInput(v *SetExternalMasterInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.BinlogFileName != nil {
		objectKey := object.Key("BinlogFileName")
		objectKey.String(*v.BinlogFileName)
	}

	if v.BinlogPosition != nil {
		objectKey := object.Key("BinlogPosition")
		objectKey.Integer(*v.BinlogPosition)
	}

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.MasterHost != nil {
		objectKey := object.Key("MasterHost")
		objectKey.String(*v.MasterHost)
	}

	if v.MasterPort != nil {
		objectKey := object.Key("MasterPort")
		objectKey.Integer(*v.MasterPort)
	}

	if v.ReplicationUserName != nil {
		objectKey := object.Key("ReplicationUserName")
		objectKey.String(*v.ReplicationUserName)
	}

	if v.ReplicationUserPassword != nil {
		objectKey := object.Key("ReplicationUserPassword")
		objectKey.String(*v.ReplicationUserPassword)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentStartReplicationInput(v *StartReplicationInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentStopReplicationInput(v *StopReplicationInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentUpgradeDBEngineVersionInput(v *UpgradeDBEngineVersionInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.AllowMajorVersionUpgrade != nil {
		objectKey := object.Key("AllowMajorVersionUpgrade")
		objectKey.Boolean(*v.AllowMajorVersionUpgrade)
	}

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.DBParameterGroupName != nil {
		objectKey := object.Key("DBParameterGroupName")
		objectKey.String(*v.DBParameterGroupName)
	}

	if v.EngineVersion != nil {
		objectKey := object.Key("EngineVersion")
		objectKey.String(*v.EngineVersion)
	}

	if v.PreUpgradeDBSnapshotIdentifier != nil {
		objectKey := object.Key("PreUpgradeDBSnapshotIdentifier")
		objectKey.String(*v.PreUpgradeDBSnapshotIdentifier)
	}

	if v.SkipPreUpgradeSnapshot != nil {
		objectKey := object.Key("SkipPreUpgradeSnapshot")
		objectKey.Boolean(*v.SkipPreUpgradeSnapshot)
	}

	return nil
}

func awsAwsquery_serializeOpDocumentUpgradeDBInstanceInput(v *UpgradeDBInstanceInput, value query.Value) error {
	object := value.Object()
	_ = object

	if v.DBInstanceIdentifier != nil {
		objectKey := object.Key("DBInstanceIdentifier")
		objectKey.String(*v.DBInstanceIdentifier)
	}

	if v.PreUpgradeDBSnapshotIdentifier != nil {
		objectKey := object.Key("PreUpgradeDBSnapshotIdentifier")
		objectKey.String(*v.PreUpgradeDBSnapshotIdentifier)
	}

	if v.SkipPreUpgradeSnapshot != nil {
		objectKey := object.Key("SkipPreUpgradeSnapshot")
		objectKey.Boolean(*v.SkipPreUpgradeSnapshot)
	}

	return nil
}
