Documentation
¶
Overview ¶
Package sdkwire calls AWS service APIs through the Smithy schema-driven protocol codecs, taking and returning JSON-shaped values, so callers need no generated SDK client.
Clients whose pinned version ships a schemas package use it directly, except those nothing else links (modeledServices in cmd/sfnschemagen), which load an embedded copy of the graph (models/) so the package's init cost and ~4 MB of code stay out of the binary; the rest use models extracted from their generated clients (legacy/). After an SDK bump run `go run ./cmd/sfnschemagen` and then `go run ./cmd/ccwiregen` (the Cloud Control wire structs in internal/app) from the repo root; parity tests in this package check every operation against the real clients.
Index ¶
Constants ¶
const TimeLayout = "2006-01-02T15:04:05.000Z"
TimeLayout is how timestamps appear in Step Functions task output.
Variables ¶
var ( // ErrUnknownOp is returned for an operation the service does not define. ErrUnknownOp = errors.New("unknown AWS SDK action") // ErrEventStream is returned for operations that stream events. ErrEventStream = errors.New("event stream operations are not supported") )
var ErrBadValue = errors.New("invalid parameter value")
ErrBadValue marks a parameter that does not fit its schema.
Functions ¶
Types ¶
type Op ¶
type Op struct {
Schema *smithy.OperationSchema
// Token names the idempotency-token member the SDK fills when absent.
Token string
// Sanitize names input members the SDK cuts to their last "/" segment.
Sanitize []string
}
Op is one service operation.
type Service ¶
type Service struct {
Protocol smithyhttp.ClientProtocol
Ops map[string]*Op
// Headers are sent on every request, as the SDK's service customizations do.
Headers map[string]string
SigningName string
// UserAgentAPI is the "api/<service>#<version>" SDK marker routers key on.
UserAgentAPI string
}
Service describes one AWS service's wire protocol and operations.
Source Files
¶
Directories
¶
| Path | Synopsis |
|---|---|
|
Package ir is the wire model of a service whose SDK client predates schema-based serde: shapes, members and operations with the names and bindings their protocol puts on the wire.
|
Package ir is the wire model of a service whose SDK client predates schema-based serde: shapes, members and operations with the names and bindings their protocol puts on the wire. |
|
Package schemair is a serialized form of an SDK service's smithy-go schema graph, so the graph can be rebuilt on first use instead of by the SDK schemas package's init functions.
|
Package schemair is a serialized form of an SDK service's smithy-go schema graph, so the graph can be rebuilt on first use instead of by the SDK schemas package's init functions. |