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*