Documentation ¶
Overview ¶
Package model contains functionality to generate clients for AWS APIs.
Index ¶
- func Generate(w io.Writer) error
- func Load(name string, r io.Reader) error
- type Constraint
- type CredentialScope
- type Endpoint
- type Endpoints
- type Error
- type HTTPOptions
- type Member
- type Metadata
- type Operation
- type Properties
- type Service
- type Shape
- func (s *Shape) ElementType() string
- func (s *Shape) Enums() map[string]string
- func (s *Shape) Key() *Shape
- func (s *Shape) KeyXMLTag() string
- func (s *Shape) Literal() string
- func (s *Shape) Member() *Shape
- func (s *Shape) Members() map[string]Member
- func (s *Shape) ResultWrapper() string
- func (s *Shape) Type() string
- func (s *Shape) Value() *Shape
- func (s *Shape) ValueXMLTag() string
- type ShapeRef
- type XMLNamespace
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Constraint ¶
type Constraint []interface{}
A Constraint is a set of constraints on input types.
func (Constraint) Condition ¶
func (c Constraint) Condition() string
Condition returns a Go fragment which matches the constraint.
type CredentialScope ¶
CredentialScope is a set of overrides for the service region and name.
type Endpoint ¶
type Endpoint struct { Name string URI string Properties Properties Constraints []Constraint }
An Endpoint is an URL where a service is available.
func (Endpoint) Conditions ¶
Conditions returns the conjunction of the conditions for the endpoint.
type Endpoints ¶
Endpoints are a set of named endpoints.
type HTTPOptions ¶
HTTPOptions contains the HTTP-specific options for an Operation.
type Member ¶
Member is a member of a shape.
type Metadata ¶
type Metadata struct { APIVersion string EndpointPrefix string JSONVersion string ServiceAbbreviation string ServiceFullName string SignatureVersion string TargetPrefix string Protocol string ChecksumFormat string GlobalEndpoint string TimestampFormat string }
Metadata contains various bits of metadata associated with an API.
type Operation ¶
type Operation struct { Name string Documentation string HTTP HTTPOptions InputRef *ShapeRef `json:"Input"` OutputRef *ShapeRef `json:"Output"` }
Operation is an API operation.
type Properties ¶
type Properties struct {
CredentialScope CredentialScope
}
Properties is a set of properties associated with an Endpoint.
type Service ¶
type Service struct { Name string FullName string PackageName string Metadata Metadata Documentation string Operations map[string]Operation Shapes map[string]*Shape }
A Service is an AWS service.
type Shape ¶
type Shape struct { Box bool Documentation string Enum []string Error Error Exception bool Fault bool Flattened bool KeyRef *ShapeRef `json:"Key"` LocationName string Max int MemberRef *ShapeRef `json:"Member"` MemberRefs map[string]ShapeRef `json:"Members"` Min int Name string Pattern string Payload string Required []string Sensitive bool Streaming bool TimestampFormat string ShapeType string `json:"Type"` ValueRef *ShapeRef `json:"Value"` Wrapper bool XMLAttribute bool XMLNamespace XMLNamespace XMLOrder []string }
Shape is a type used in an API.
func (*Shape) ElementType ¶
ElementType returns the Go type of the shape as an element of another shape (i.e., list or map).
func (*Shape) ResultWrapper ¶
ResultWrapper returns the shape's result wrapper, if and only if a single, unambiguous wrapper can be found in the API's operation outputs.
func (*Shape) ValueXMLTag ¶
ValueXMLTag returns the field tag for value.
type ShapeRef ¶
type ShapeRef struct { ShapeName string `json:"Shape"` Documentation string Location string LocationName string Wrapper bool ResultWrapper string Streaming bool XMLNamespace XMLNamespace }
ShapeRef is a reference to a Shape.
func (*ShapeRef) WrappedLiteral ¶
WrappedLiteral returns an empty Go literal of the reference shape, wrapped if a result wrapper was specified.
func (*ShapeRef) WrappedType ¶
WrappedType returns the Go type of the reference shape, wrapped if a result wrapper was specified.
type XMLNamespace ¶
type XMLNamespace struct {
URI string
}
An XMLNamespace is an XML namespace. *shrug*