Documentation

Index

Constants

View Source
const (
	RFC822TimeFormatName  = "rfc822"
	ISO8601TimeFormatName = "iso8601"
	UnixTimeFormatName    = "unixTimestamp"
)

    Names of time formats supported by the SDK

    View Source
    const (
    	// RFC 7231#section-7.1.1.1 timetamp format. e.g Tue, 29 Apr 2014 18:30:38 GMT
    	RFC822TimeFormat = "Mon, 2 Jan 2006 15:04:05 GMT"
    
    	// This format is used for output time without seconds precision
    	RFC822OutputTimeFormat = "Mon, 02 Jan 2006 15:04:05 GMT"
    
    	// RFC3339 a subset of the ISO8601 timestamp format. e.g 2014-04-29T18:30:38Z
    	ISO8601TimeFormat = "2006-01-02T15:04:05.999999999Z"
    
    	// This format is used for output time with fractional second precision up to milliseconds
    	ISO8601OutputTimeFormat = "2006-01-02T15:04:05.999999999Z"
    )

      Time formats supported by the SDK Output time is intended to not contain decimals

      View Source
      const ErrCodeMinimumHTTPProtocolError = "MinimumHTTPProtocolError"

        ErrCodeMinimumHTTPProtocolError error code is returned when the target endpoint did not match the required HTTP major and minor protocol version.

        View Source
        const HostPrefixHandlerName = "awssdk.endpoint.HostPrefixHandler"

          HostPrefixHandlerName is the handler name for the host prefix request handler.

          View Source
          const UnmarshalErrorHandlerName = "awssdk.protocol.UnmarshalError"

            UnmarshalErrorHandlerName is the name of the named handler.

            Variables

            View Source
            var RandReader = rand.Reader

              RandReader is the random reader the protocol package will use to read random bytes from. This is exported for testing, and should not be used.

              View Source
              var UnmarshalDiscardBodyHandler = request.NamedHandler{Name: "awssdk.shared.UnmarshalDiscardBody", Fn: UnmarshalDiscardBody}

                UnmarshalDiscardBodyHandler is a named request handler to empty and close a response's body

                View Source
                var ValidateEndpointHostHandler = request.NamedHandler{
                	Name: "awssdk.protocol.ValidateEndpointHostHandler",
                	Fn: func(r *request.Request) {
                		err := ValidateEndpointHost(r.Operation.Name, r.HTTPRequest.URL.Host)
                		if err != nil {
                			r.Error = err
                		}
                	},
                }

                  ValidateEndpointHostHandler is a request handler that will validate the request endpoint's hosts is a valid RFC 3986 host.

                  Functions

                  func CanSetIdempotencyToken

                  func CanSetIdempotencyToken(v reflect.Value, f reflect.StructField) bool

                    CanSetIdempotencyToken returns true if the struct field should be automatically populated with a Idempotency token.

                    Only *string and string type fields that are tagged with idempotencyToken which are not already set can be auto filled.

                    func DecodeJSONValue

                    func DecodeJSONValue(v string, escape EscapeMode) (aws.JSONValue, error)

                      DecodeJSONValue will attempt to decode the string input as a JSONValue. Optionally decoding base64 the value first before JSON unmarshaling.

                      Will panic if the escape mode is unknown.

                      func EncodeJSONValue

                      func EncodeJSONValue(v aws.JSONValue, escape EscapeMode) (string, error)

                        EncodeJSONValue marshals the value into a JSON string, and optionally base64 encodes the string before returning it.

                        Will panic if the escape mode is unknown.

                        func FormatTime

                        func FormatTime(name string, t time.Time) string

                          FormatTime returns a string value of the time.

                          func GetIdempotencyToken

                          func GetIdempotencyToken() string

                            GetIdempotencyToken returns a randomly generated idempotency token.

                            func IsKnownTimestampFormat

                            func IsKnownTimestampFormat(name string) bool

                              IsKnownTimestampFormat returns if the timestamp format name is know to the SDK's protocols.

                              func NewHostPrefixHandler

                              func NewHostPrefixHandler(prefix string, labelsFn func() map[string]string) request.NamedHandler

                                NewHostPrefixHandler constructs a build handler

                                func ParseTime

                                func ParseTime(formatName, value string) (time.Time, error)

                                  ParseTime attempts to parse the time given the format. Returns the time if it was able to be parsed, and fails otherwise.

                                  func SetIdempotencyToken

                                  func SetIdempotencyToken(v reflect.Value)

                                    SetIdempotencyToken will set the value provided with a Idempotency Token. Given that the value can be set. Will panic if value is not setable.

                                    func UUIDVersion4

                                    func UUIDVersion4(u []byte) string

                                      UUIDVersion4 returns a Version 4 random UUID from the byte slice provided

                                      func UnmarshalDiscardBody

                                      func UnmarshalDiscardBody(r *request.Request)

                                        UnmarshalDiscardBody is a request handler to empty a response's body and closing it.

                                        func ValidHostLabel

                                        func ValidHostLabel(label string) bool

                                          ValidHostLabel returns if the label is a valid RFC 3986 host label.

                                          func ValidPortNumber

                                          func ValidPortNumber(port string) bool

                                            ValidPortNumber return if the port is valid RFC 3986 port

                                            func ValidateEndpointHost

                                            func ValidateEndpointHost(opName, host string) error

                                              ValidateEndpointHost validates that the host string passed in is a valid RFC 3986 host. Returns error if the host is not valid.

                                              Types

                                              type ErrorUnmarshaler

                                              type ErrorUnmarshaler interface {
                                              	UnmarshalError(*http.Response, ResponseMetadata) (error, error)
                                              }

                                                ErrorUnmarshaler is an abstract interface for concrete implementations to unmarshal protocol specific response errors.

                                                type EscapeMode

                                                type EscapeMode uint

                                                  EscapeMode is the mode that should be use for escaping a value

                                                  const (
                                                  	NoEscape EscapeMode = iota
                                                  	Base64Escape
                                                  	QuotedEscape
                                                  )

                                                    The modes for escaping a value before it is marshaled, and unmarshaled.

                                                    type HandlerPayloadMarshal

                                                    type HandlerPayloadMarshal struct {
                                                    	Marshalers request.HandlerList
                                                    }

                                                      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.

                                                      func (HandlerPayloadMarshal) MarshalPayload

                                                      func (h HandlerPayloadMarshal) MarshalPayload(w io.Writer, v interface{}) error

                                                        MarshalPayload marshals the SDK shape into the io.Writer using the Marshalers HandlerList provided. Returns an error if unable if marshal fails.

                                                        type HandlerPayloadUnmarshal

                                                        type HandlerPayloadUnmarshal struct {
                                                        	Unmarshalers request.HandlerList
                                                        }

                                                          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.

                                                          func (HandlerPayloadUnmarshal) UnmarshalPayload

                                                          func (h HandlerPayloadUnmarshal) UnmarshalPayload(r io.Reader, v interface{}) error

                                                            UnmarshalPayload unmarshals the io.Reader payload into the SDK shape using the Unmarshalers HandlerList provided. Returns an error if unable unmarshaling fails.

                                                            type HostPrefixBuilder

                                                            type HostPrefixBuilder struct {
                                                            	Prefix   string
                                                            	LabelsFn func() map[string]string
                                                            }

                                                              HostPrefixBuilder provides the request handler to expand and prepend the host prefix into the operation's request endpoint host.

                                                              func (HostPrefixBuilder) Build

                                                              func (h HostPrefixBuilder) Build(r *request.Request)

                                                                Build updates the passed in Request with the HostPrefix template expanded.

                                                                type PayloadMarshaler

                                                                type PayloadMarshaler interface {
                                                                	MarshalPayload(io.Writer, interface{}) error
                                                                }

                                                                  PayloadMarshaler provides the interface for marshaling a SDK shape into and io.Writer.

                                                                  type PayloadUnmarshaler

                                                                  type PayloadUnmarshaler interface {
                                                                  	UnmarshalPayload(io.Reader, interface{}) error
                                                                  }

                                                                    PayloadUnmarshaler provides the interface for unmarshaling a payload's reader into a SDK shape.

                                                                    type RequireHTTPMinProtocol

                                                                    type RequireHTTPMinProtocol struct {
                                                                    	Major, Minor int
                                                                    }

                                                                      RequireHTTPMinProtocol request handler is used to enforce that the target endpoint supports the given major and minor HTTP protocol version.

                                                                      func (RequireHTTPMinProtocol) Handler

                                                                      func (p RequireHTTPMinProtocol) Handler(r *request.Request)

                                                                        Handler will mark the request.Request with an error if the target endpoint did not connect with the required HTTP protocol major and minor version.

                                                                        type ResponseMetadata

                                                                        type ResponseMetadata struct {
                                                                        	StatusCode int
                                                                        	RequestID  string
                                                                        }

                                                                          ResponseMetadata provides the SDK response metadata attributes.

                                                                          type UnmarshalErrorHandler

                                                                          type UnmarshalErrorHandler struct {
                                                                          	// contains filtered or unexported fields
                                                                          }

                                                                            UnmarshalErrorHandler provides unmarshaling errors API response errors for both typed and untyped errors.

                                                                            func NewUnmarshalErrorHandler

                                                                            func NewUnmarshalErrorHandler(unmarshaler ErrorUnmarshaler) *UnmarshalErrorHandler

                                                                              NewUnmarshalErrorHandler returns an UnmarshalErrorHandler initialized for the set of exception names to the error unmarshalers

                                                                              func (*UnmarshalErrorHandler) NamedHandler

                                                                              func (u *UnmarshalErrorHandler) NamedHandler() request.NamedHandler

                                                                                NamedHandler returns a NamedHandler for the unmarshaler using the set of errors the unmarshaler was initialized for.

                                                                                func (*UnmarshalErrorHandler) UnmarshalError

                                                                                func (u *UnmarshalErrorHandler) UnmarshalError(r *request.Request)

                                                                                  UnmarshalError will attempt to unmarshal the API response's error message into either a generic SDK error type, or a typed error corresponding to the errors exception name.

                                                                                  Directories

                                                                                  Path Synopsis
                                                                                  Package ec2query provides serialization of AWS EC2 requests and responses.
                                                                                  Package ec2query provides serialization of AWS EC2 requests and responses.
                                                                                  json
                                                                                  jsonutil
                                                                                  Package jsonutil provides JSON serialization of AWS requests and responses.
                                                                                  Package jsonutil provides JSON serialization of AWS requests and responses.
                                                                                  Package jsonrpc provides JSON RPC utilities for serialization of AWS requests and responses.
                                                                                  Package jsonrpc provides JSON RPC utilities for serialization of AWS requests and responses.
                                                                                  Package query provides serialization of AWS query requests, and responses.
                                                                                  Package query provides serialization of AWS query requests, and responses.
                                                                                  Package rest provides RESTful serialization of AWS requests and responses.
                                                                                  Package rest provides RESTful serialization of AWS requests and responses.
                                                                                  Package restjson provides RESTful JSON serialization of AWS requests and responses.
                                                                                  Package restjson provides RESTful JSON serialization of AWS requests and responses.
                                                                                  Package restxml provides RESTful XML serialization of AWS requests and responses.
                                                                                  Package restxml provides RESTful XML serialization of AWS requests and responses.
                                                                                  xml
                                                                                  xmlutil
                                                                                  Package xmlutil provides XML serialization of AWS requests and responses.
                                                                                  Package xmlutil provides XML serialization of AWS requests and responses.