package protocol

import (
	
	
	

	
	
	
)
PayloadUnmarshaler provides the interface for unmarshaling a payload's reader into a SDK shape.
type PayloadUnmarshaler interface {
	UnmarshalPayload(io.Reader, interface{}) error
}
HandlerPayloadUnmarshal implements the PayloadUnmarshaler from a HandlerList. This provides the support for unmarshaling a payload reader to a shape without needing a SDK request first.
UnmarshalPayload unmarshals the io.Reader payload into the SDK shape using the Unmarshalers HandlerList provided. Returns an error if unable unmarshaling fails.
PayloadMarshaler provides the interface for marshaling a SDK shape into and io.Writer.
type PayloadMarshaler interface {
	MarshalPayload(io.Writer, interface{}) error
}
HandlerPayloadMarshal implements the PayloadMarshaler from a HandlerList. This provides support for marshaling a SDK shape into an io.Writer without needing a SDK request first.
MarshalPayload marshals the SDK shape into the io.Writer using the Marshalers HandlerList provided. Returns an error if unable if marshal fails.
func ( HandlerPayloadMarshal) ( io.Writer,  interface{}) error {
	 := request.New(
		aws.Config{},
		metadata.ClientInfo{},
		request.Handlers{},
		nil,
		&request.Operation{HTTPMethod: "PUT"},
		,
		nil,
	)

	.Marshalers.Run()

	if .Error != nil {
		return .Error
	}

	io.Copy(, .GetBody())

	return nil