smithy.api

package smithy.api

Members list

Concise view

Type members

Classlikes

case class AddedDefault()

Indicates that the default trait was added to a member.

Indicates that the default trait was added to a member.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type

Defines the list of authentication schemes supported by a service or operation.

Defines the list of authentication schemes supported by a service or operation.

Attributes

member

A string that must target an auth trait.

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
Auth.type
case class AuthDefinition(traits: Option[List[TraitShapeId]])

Marks a trait as an auth scheme defining trait.

Marks a trait as an auth scheme defining trait.

The targeted trait must only be applied to service shapes or operation shapes, must be a structure, and must have the trait trait.

Attributes

traits

Defines a list of traits that auth implementations must understand in order to successfully use the scheme.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type

A string that must target an auth trait.

A string that must target an auth trait.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
case class Box()

Used only in Smithy 1.0 to indicate that a shape is boxed. This trait cannot be used in Smithy 2.0 models.

Used only in Smithy 1.0 to indicate that a shape is boxed. This trait cannot be used in Smithy 2.0 models.

When a boxed shape is the target of a member, the member may or may not contain a value, and the member has no default value.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Box extends Companion[Box]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Companion[Box]
trait Has[Box]
trait ShapeTag[Box]
trait HasId
class Object
trait Matchable
class Any
Self type
Box.type
case class ClientOptional()

Requires that non-authoritative generators like clients treat a structure member as nullable regardless of if the member is also marked with the required trait.

Requires that non-authoritative generators like clients treat a structure member as nullable regardless of if the member is also marked with the required trait.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class Cors(origin: NonEmptyString, maxAge: Int, additionalAllowedHeaders: Option[List[NonEmptyString]], additionalExposedHeaders: Option[List[NonEmptyString]])

Defines how a service supports cross-origin resource sharing.

Defines how a service supports cross-origin resource sharing.

Attributes

additionalAllowedHeaders

The names of headers that should be included in the Access-Control-Allow-Headers header in responses to preflight OPTIONS requests. This list will be used in addition to the names of all request headers bound to an input data member via the httpHeader, as well as any headers required by the protocol or authentication scheme.

additionalExposedHeaders

The names of headers that should be included in the Access-Control-Expose-Headers header in all responses sent by the service. This list will be used in addition to the names of all request headers bound to an output data member via the httpHeader, as well as any headers required by the protocol or authentication scheme.

maxAge

The maximum number of seconds for which browsers are allowed to cache the results of a preflight OPTIONS request. Defaults to 600, the maximum age permitted by several browsers. Set to -1 to disable caching entirely.

origin

The origin from which browser script-originating requests will be allowed.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Cors extends Companion[Cors]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Cors]
trait ShapeTag[Cors]
trait HasId
class Object
trait Matchable
class Any
Self type
Cors.type
object Default extends Newtype[Document]

Provides a structure member with a default value. When added to root level shapes, requires that every targeting structure member defines the same default value on the member or sets a default of null.

Provides a structure member with a default value. When added to root level shapes, requires that every targeting structure member defines the same default value on the member or sets a default of null.

This trait can currently only be used in Smithy 2.0 models.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
Default.type
case class Deprecated(message: Option[String], since: Option[String])

Marks a shape or member as deprecated.

Marks a shape or member as deprecated.

Attributes

message

The reason for deprecation.

since

A description of when the shape was deprecated (e.g., a date or version).

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
object Documentation extends Newtype[String]

Adds documentation to a shape or member using CommonMark syntax.

Adds documentation to a shape or member using CommonMark syntax.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
case class Endpoint(hostPrefix: NonEmptyString)

Configures a custom operation endpoint.

Configures a custom operation endpoint.

Attributes

hostPrefix

A host prefix pattern for the operation. Labels defined in the host pattern are used to bind top-level operation input members to the host.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Endpoint extends Companion[Endpoint]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Endpoint]
trait HasId
class Object
trait Matchable
class Any
Self type

The optional name or label of the enum constant value.

The optional name or label of the enum constant value.

This property is used in code generation to provide a label for each enum value. No two enums can have the same 'name' value.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
case class EnumDefinition(value: NonEmptyString, name: Option[EnumConstantBodyName], documentation: Option[String], tags: Option[List[NonEmptyString]], deprecated: Option[Boolean])

An enum definition for the enum trait.

An enum definition for the enum trait.

Attributes

deprecated

Whether the enum value should be considered deprecated.

documentation

Provides optional documentation about the enum constant value.

name

Defines the name, or label, that is used in code to represent this variant.

tags

Applies a list of tags to the enum constant.

value

Defines the enum value that is sent over the wire.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
object EnumValue extends Newtype[Document]

Defines the value of an enum member.

Defines the value of an enum member.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
sealed abstract class Error(_value: String, _name: String, _intValue: Int, _hints: Hints) extends Value

Indicates that a structure shape represents an error.

Indicates that a structure shape represents an error.

All shapes referenced by the errors list of an operation MUST be targeted with this trait.

Attributes

Companion:
object
Graph
Supertypes
class Value
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
object CLIENT.type
object SERVER.type
object Error extends Enumeration[Error] with Companion[Error]

Attributes

Companion:
class
Graph
Supertypes
trait Sum
trait Mirror
trait Has[Error]
trait HasId
class Object
trait Matchable
class Any
Self type
Error.type
case class EventHeader()

Marks a member as a header of an event.

Marks a member as a header of an event.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class EventPayload()

Marks a member as the payload of an event.

Marks a member as the payload of an event.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class Example(title: String, documentation: Option[String], input: Option[Document], output: Option[Document], error: Option[ExampleError])

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Example extends Companion[Example]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Example]
trait HasId
class Object
trait Matchable
class Any
Self type
Example.type
case class ExampleError(shapeId: Option[String], content: Option[Document])

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
object Examples extends Newtype[List[Example]]

Provides example inputs and outputs for operations.

Provides example inputs and outputs for operations.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type

Provides a link to additional documentation.

Provides a link to additional documentation.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
case class HostLabel()

Binds a top-level operation input structure member to a label in the hostPrefix of an endpoint trait.

Binds a top-level operation input structure member to a label in the hostPrefix of an endpoint trait.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object HostLabel extends Companion[HostLabel]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[HostLabel]
trait HasId
class Object
trait Matchable
class Any
Self type
case class Http(method: NonEmptyString, uri: NonEmptyString, code: Int)

Configures the HTTP bindings of an operation.

Configures the HTTP bindings of an operation.

Attributes

code

The HTTP status code of a successful response.

method

The HTTP method of the operation.

uri

The URI pattern of the operation. Labels defined in the URI pattern are used to bind operation input members to the URI.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Http extends Companion[Http]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Http]
trait ShapeTag[Http]
trait HasId
class Object
trait Matchable
class Any
Self type
Http.type

An HTTP-specific authentication scheme that sends an arbitrary API key in a header or query string parameter.

An HTTP-specific authentication scheme that sends an arbitrary API key in a header or query string parameter.

Attributes

in

Defines the location of where the key is serialized. This value can be set to "header" or "query".

name

Defines the name of the HTTP header or query string parameter that contains the API key.

scheme

Defines the security scheme to use on the Authorization header value This can only be set if the "in" property is set to header.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
sealed abstract class HttpApiKeyLocations(_value: String, _name: String, _intValue: Int, _hints: Hints) extends Value

Attributes

Companion:
object
Graph
Supertypes
class Value
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
object HEADER.type
object QUERY.type

Attributes

Companion:
class
Graph
Supertypes
trait Sum
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class HttpBasicAuth()

Enables HTTP Basic Authentication as defined in RFC 2617 on a service or operation.

Enables HTTP Basic Authentication as defined in RFC 2617 on a service or operation.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class HttpBearerAuth()

Enables HTTP Bearer Authentication as defined in RFC 6750 on a service or operation.

Enables HTTP Bearer Authentication as defined in RFC 6750 on a service or operation.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type

Marks an operation as requiring checksum in its HTTP request. By default, the checksum used for a service is a MD5 checksum passed in the Content-MD5 header.

Marks an operation as requiring checksum in its HTTP request. By default, the checksum used for a service is a MD5 checksum passed in the Content-MD5 header.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class HttpDigestAuth()

Enables HTTP Digest Authentication as defined in RFC 2617 on a service or operation.

Enables HTTP Digest Authentication as defined in RFC 2617 on a service or operation.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
object HttpError extends Newtype[Int]

Defines an HTTP response code for an operation error.

Defines an HTTP response code for an operation error.

Attributes

Graph
Supertypes
class Newtype[Int]
trait HasId
class Object
trait Matchable
class Any
Self type
object HttpHeader extends Newtype[String]

Binds a structure member to an HTTP header.

Binds a structure member to an HTTP header.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
case class HttpLabel()

Binds an operation input structure member to an HTTP label.

Binds an operation input structure member to an HTTP label.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object HttpLabel extends Companion[HttpLabel]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[HttpLabel]
trait HasId
class Object
trait Matchable
class Any
Self type
case class HttpPayload()

Binds a single structure member to the body of an HTTP request.

Binds a single structure member to the body of an HTTP request.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type

Binds a map of key-value pairs to prefixed HTTP headers.

Binds a map of key-value pairs to prefixed HTTP headers.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
object HttpQuery extends Newtype[String]

Binds an operation input structure member to a query string parameter.

Binds an operation input structure member to a query string parameter.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
case class HttpQueryParams()

Binds an operation input structure member to the HTTP query string.

Binds an operation input structure member to the HTTP query string.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class HttpResponseCode()

Indicates that the structure member represents the HTTP response status code. The value MAY differ from the HTTP status code provided on the response.

Indicates that the structure member represents the HTTP response status code. The value MAY differ from the HTTP status code provided on the response.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class IdRef(selector: String, failWhenMissing: Option[Boolean], errorMessage: Option[String])

Indicates that a string value MUST contain a valid shape ID.

Indicates that a string value MUST contain a valid shape ID.

The provided shape ID MAY be absolute or relative to the shape to which the trait is applied. A relative shape ID that does not resolve to a shape defined in the same namespace resolves to a shape defined in the prelude if the prelude shape is not marked with the private trait.

Attributes

errorMessage

Defines a custom error message to use when the shape ID cannot be found or does not match the selector. A default message is generated when errorMessage is not defined.

failWhenMissing

When set to true, the shape ID MUST target a shape that can be found in the model.

selector

Defines the selector that the resolved shape, if found, MUST match.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object IdRef extends Companion[IdRef]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[IdRef]
trait HasId
class Object
trait Matchable
class Any
Self type
IdRef.type
case class IdempotencyToken()

Defines the input member of an operation that is used by the server to identify and discard replayed requests.

Defines the input member of an operation that is used by the server to identify and discard replayed requests.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class Idempotent()

Indicates that the intended effect on the server of multiple identical requests with an operation is the same as the effect for a single such request.

Indicates that the intended effect on the server of multiple identical requests with an operation is the same as the effect for a single such request.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class Input()

Specializes a structure for use only as the input of a single operation.

Specializes a structure for use only as the input of a single operation.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Input extends Companion[Input]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Input]
trait HasId
class Object
trait Matchable
class Any
Self type
Input.type
case class Internal()

Shapes marked with the internal trait are meant only for internal use and must not be exposed to customers.

Shapes marked with the internal trait are meant only for internal use and must not be exposed to customers.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Internal extends Companion[Internal]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Internal]
trait HasId
class Object
trait Matchable
class Any
Self type
object JsonName extends Newtype[String]

The jsonName trait allows a serialized object property name to differ from a structure member name used in the model.

The jsonName trait allows a serialized object property name to differ from a structure member name used in the model.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
case class Length(min: Option[Long], max: Option[Long])

Constrains a shape to minimum and maximum number of elements or size.

Constrains a shape to minimum and maximum number of elements or size.

Attributes

max

Integer value that represents the maximum inclusive length of a shape.

min

Integer value that represents the minimum inclusive length of a shape.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Length extends Companion[Length]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Length]
trait HasId
class Object
trait Matchable
class Any
Self type
Length.type

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
object MediaType extends Newtype[String]

Describes the contents of a blob shape using a media type as defined by RFC 6838 (e.g., "video/quicktime").

Describes the contents of a blob shape using a media type as defined by RFC 6838 (e.g., "video/quicktime").

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
case class Mixin(localTraits: Option[List[LocalMixinTrait]])

Makes a structure or union a mixin.

Makes a structure or union a mixin.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Mixin extends Companion[Mixin]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Mixin]
trait HasId
class Object
trait Matchable
class Any
Self type
Mixin.type
case class NestedProperties()

Adjusts the resource property mapping of a lifecycle operation to the targeted member.

Adjusts the resource property mapping of a lifecycle operation to the targeted member.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class NoReplace()

Indicates that the put lifecycle operation of a resource can only be used to create a resource and cannot replace an existing resource.

Indicates that the put lifecycle operation of a resource can only be used to create a resource and cannot replace an existing resource.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object NoReplace extends Companion[NoReplace]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[NoReplace]
trait HasId
class Object
trait Matchable
class Any
Self type
object NonEmptyString extends Newtype[String]

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
case class NotProperty()

Explicitly excludes a member from resource property mapping or enables another trait to carry the same implied meaning.

Explicitly excludes a member from resource property mapping or enables another trait to carry the same implied meaning.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class OptionalAuth()

Indicates that an operation can be called without authentication.

Indicates that an operation can be called without authentication.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class Output()

Specializes a structure for use only as the output of a single operation.

Specializes a structure for use only as the output of a single operation.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Output extends Companion[Output]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Output]
trait HasId
class Object
trait Matchable
class Any
Self type
Output.type
case class Paginated(inputToken: Option[NonEmptyString], outputToken: Option[NonEmptyString], items: Option[NonEmptyString], pageSize: Option[NonEmptyString])

The paginated trait indicates that an operation intentionally limits the number of results returned in a single response and that multiple invocations might be necessary to retrieve all results.

The paginated trait indicates that an operation intentionally limits the number of results returned in a single response and that multiple invocations might be necessary to retrieve all results.

Attributes

inputToken

The name of the operation input member that represents the continuation token. When this value is provided as operation input, the service returns results from where the previous response left off. This input member MUST NOT be required and MUST target a string shape.

items

The name of a top-level output member of the operation that is the data that is being paginated across many responses. The named output member, if specified, MUST target a list or map.

outputToken

The name of the operation output member that represents the continuation token. When this value is present in operation output, it indicates that there are more results to retrieve. To get the next page of results, the client uses the output token as the input token of the next request. This output member MUST NOT be required and MUST target a string shape.

pageSize

The name of an operation input member that limits the maximum number of results to include in the operation output. This input member MUST NOT be required and MUST target an integer shape.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Paginated extends Companion[Paginated]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Paginated]
trait HasId
class Object
trait Matchable
class Any
Self type
object Pattern extends Newtype[String]

Restricts string shape values to a specified regular expression.

Restricts string shape values to a specified regular expression.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
Pattern.type
object PrimitiveShort extends Newtype[Short]

Attributes

Graph
Supertypes
class Newtype[Short]
trait HasId
class Object
trait Matchable
class Any
Self type
case class Private()

Prevents models defined in a different namespace from referencing the targeted shape.

Prevents models defined in a different namespace from referencing the targeted shape.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Private extends Companion[Private]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Private]
trait HasId
class Object
trait Matchable
class Any
Self type
Private.type
case class Property(name: Option[String])

Configures a structure member's resource property mapping behavior.

Configures a structure member's resource property mapping behavior.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Property extends Companion[Property]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Property]
trait HasId
class Object
trait Matchable
class Any
Self type
case class ProtocolDefinition(traits: Option[List[TraitShapeId]], noInlineDocumentSupport: Option[Boolean])

Marks a trait as a protocol defining trait.

Marks a trait as a protocol defining trait.

The targeted trait must only be applied to service shapes, must be a structure, and must have the trait trait.

Attributes

noInlineDocumentSupport

Set to true if inline documents are not supported by this protocol.

traits

Defines a list of traits that protocol implementations must understand in order to successfully use the protocol.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class Range(min: Option[BigDecimal], max: Option[BigDecimal])

Restricts allowed values of byte, short, integer, long, float, double, bigDecimal, and bigInteger shapes within an acceptable lower and upper bound.

Restricts allowed values of byte, short, integer, long, float, double, bigDecimal, and bigInteger shapes within an acceptable lower and upper bound.

Attributes

max

Specifies the allowed inclusive maximum value.

min

Specifies the allowed inclusive minimum value.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Range extends Companion[Range]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Range]
trait HasId
class Object
trait Matchable
class Any
Self type
Range.type
case class Readonly()

Indicates that an operation is effectively read-only.

Indicates that an operation is effectively read-only.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Readonly extends Companion[Readonly]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Readonly]
trait HasId
class Object
trait Matchable
class Any
Self type
case class Recommended(reason: Option[String])

Indicates that a structure member SHOULD be set.

Indicates that a structure member SHOULD be set.

Attributes

reason

Provides a reason why the member is recommended.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type

Attributes

ids

Defines a mapping of each resource identifier name to a structure member name that provides its value. Each key in the map MUST refer to one of the identifier names in the identifiers property of the resource, and each value in the map MUST refer to a valid structure member name that targets a string shape.

rel

Defines the semantics of the relationship. The rel property SHOULD contain a link relation as defined in RFC 5988#section-4.

resource

The shape ID of the referenced resource.

service

Providing a service makes the reference specific to a particular binding of the resource to a service. When omitted, the reference is late-bound to a service, meaning the reference is assumed to be a reference to the resource bound to the service currently in use by the client or server.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Reference extends Companion[Reference]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Reference]
trait HasId
class Object
trait Matchable
class Any
Self type
object References extends Newtype[List[Reference]]

Defines the resource shapes that are referenced by a string shape or a structure shape and the members of the structure that provide values for the identifiers of the resource.

Defines the resource shapes that are referenced by a string shape or a structure shape and the members of the structure that provide values for the identifiers of the resource.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
case class RequestCompression(encodings: List[String])

Indicates that an operation supports compressing requests from clients to services.

Indicates that an operation supports compressing requests from clients to services.

Attributes

encodings

Defines the priority-ordered list of compression algorithms supported by the service operation.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type

Defines the priority-ordered list of compression algorithms supported by the service operation.

Defines the priority-ordered list of compression algorithms supported by the service operation.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
case class Required()

Marks a structure member as required, meaning a value for the member MUST be present.

Marks a structure member as required, meaning a value for the member MUST be present.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Required extends Companion[Required]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Required]
trait HasId
class Object
trait Matchable
class Any
Self type
case class RequiresLength()

Indicates that the streaming blob must be finite and has a known size.

Indicates that the streaming blob must be finite and has a known size.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type

Indicates that the targeted structure member provides an identifier for a resource.

Indicates that the targeted structure member provides an identifier for a resource.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
case class Retryable(throttling: Option[Boolean])

Indicates that an error MAY be retried by the client.

Indicates that an error MAY be retried by the client.

Attributes

throttling

Classifies the retry as throttling.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Retryable extends Companion[Retryable]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Retryable]
trait HasId
class Object
trait Matchable
class Any
Self type
case class Sensitive()

Indicates that the data stored in the shape is sensitive and MUST be handled with care.

Indicates that the data stored in the shape is sensitive and MUST be handled with care.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Sensitive extends Companion[Sensitive]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Sensitive]
trait HasId
class Object
trait Matchable
class Any
Self type
object Since extends Newtype[String]

Defines the version or date in which a shape or member was added to the model.

Defines the version or date in which a shape or member was added to the model.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
Since.type
case class Sparse()

Marks a list or map as sparse.

Marks a list or map as sparse.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Sparse extends Companion[Sparse]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Sparse]
trait HasId
class Object
trait Matchable
class Any
Self type
Sparse.type
case class Streaming()

Indicates that the data stored in the shape is very large and should not be stored in memory, or that the size of the data stored in the shape is unknown at the start of a request. If the target is a union then the shape represents a stream of events.

Indicates that the data stored in the shape is very large and should not be stored in memory, or that the size of the data stored in the shape is unknown at the start of a request. If the target is a union then the shape represents a stream of events.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Streaming extends Companion[Streaming]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Streaming]
trait HasId
class Object
trait Matchable
class Any
Self type
sealed abstract class StructurallyExclusive(_value: String, _name: String, _intValue: Int, _hints: Hints) extends Value

Attributes

MEMBER

Only a single member of a shape can be marked with the trait.

TARGET

Only a single member of a shape can target a shape marked with this trait.

Companion:
object
Graph
Supertypes
class Value
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
object MEMBER.type
object TARGET.type

Attributes

Companion:
class
Graph
Supertypes
trait Sum
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
object Suppress extends Newtype[List[String]]

Suppresses validation events by ID for a given shape.

Suppresses validation events by ID for a given shape.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
object Tags extends Newtype[List[String]]

Tags a shape with arbitrary tag names that can be used to filter and group shapes in the model.

Tags a shape with arbitrary tag names that can be used to filter and group shapes in the model.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
Tags.type
sealed abstract class TimestampFormat(_value: String, _name: String, _intValue: Int, _hints: Hints) extends Value

Attributes

DATE_TIME

Date time as defined by the date-time production in RFC3339 section 5.6 with no UTC offset (for example, 1985-04-12T23:20:50.52Z).

EPOCH_SECONDS

Also known as Unix time, the number of seconds that have elapsed since 00:00:00 Coordinated Universal Time (UTC), Thursday, 1 January 1970, with decimal precision (for example, 1515531081.1234).

HTTP_DATE

An HTTP date as defined by the IMF-fixdate production in RFC 7231#section-7.1.1.1 (for example, Tue, 29 Apr 2014 18:30:38 GMT).

Companion:
object
Graph
Supertypes
class Value
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
object DATE_TIME.type
object EPOCH_SECONDS.type
object HTTP_DATE.type

Attributes

Companion:
class
Graph
Supertypes
trait Sum
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
object Title extends Newtype[String]

Defines a proper name for a service or resource shape.

Defines a proper name for a service or resource shape.

This title can be used in automatically generated documentation and other contexts to provide a user friendly name for services and resources.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
Title.type
case class Trait(selector: Option[String], structurallyExclusive: Option[StructurallyExclusive], conflicts: Option[List[NonEmptyString]], breakingChanges: Option[List[TraitDiffRule]])

Makes a shape a trait.

Makes a shape a trait.

Attributes

breakingChanges

Defines the backward compatibility rules of the trait.

conflicts

The traits that this trait conflicts with.

selector

The valid places in a model that the trait can be applied.

structurallyExclusive

Whether or not only a single member in a shape can have this trait.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Trait extends Companion[Trait]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Trait]
trait HasId
class Object
trait Matchable
class Any
Self type
Trait.type
sealed abstract class TraitChangeSeverity(_value: String, _name: String, _intValue: Int, _hints: Hints) extends Value

Attributes

DANGER

An infraction occurred that must be resolved.

ERROR

An unrecoverable infraction occurred.

NOTE

A minor infraction occurred.

WARNING

An infraction occurred that needs attention.

Companion:
object
Graph
Supertypes
class Value
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
object DANGER.type
object ERROR.type
object NOTE.type
object WARNING.type

Attributes

Companion:
class
Graph
Supertypes
trait Sum
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
sealed abstract class TraitChangeType(_value: String, _name: String, _intValue: Int, _hints: Hints) extends Value

Attributes

ADD

Emit when a trait or value is added that previously did not exist

ANY

Emit when any change occurs.

PRESENCE

Emit when a trait is added or removed.

REMOVE

Emit when a trait or value is removed.

UPDATE

Emit when a trait already existed, continues to exist, but it is modified.

Companion:
object
Graph
Supertypes
class Value
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
object ADD.type
object ANY.type
object PRESENCE.type
object REMOVE.type
object UPDATE.type

Attributes

Companion:
class
Graph
Supertypes
trait Sum
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class TraitDiffRule(change: TraitChangeType, severity: TraitChangeSeverity, path: Option[String], message: Option[String])

Attributes

change

Defines the type of change that is not allowed.

message

Provides a reason why the change is potentially backward incompatible.

path

Defines a JSON Pointer to the value to evaluate.

severity

Defines the severity of the change. Defaults to ERROR if not defined.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
object TraitShapeId extends Newtype[String]

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
case class UniqueItems()

Indicates that the items in a list MUST be unique.

Indicates that the items in a list MUST be unique.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class Unit()

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Unit extends Companion[Unit]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Unit]
trait ShapeTag[Unit]
trait HasId
class Object
trait Matchable
class Any
Self type
Unit.type
case class UnitType()

Specializes a structure as a unit type that has no meaningful value. This trait can only be applied to smithy.api#Unit, which ensures that only a single Unit shape can be created.

Specializes a structure as a unit type that has no meaningful value. This trait can only be applied to smithy.api#Unit, which ensures that only a single Unit shape can be created.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object UnitType extends Companion[UnitType]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[UnitType]
trait HasId
class Object
trait Matchable
class Any
Self type
case class Unstable()

Indicates that the shape is unstable and could change in the future.

Indicates that the shape is unstable and could change in the future.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
object Unstable extends Companion[Unstable]

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait Has[Unstable]
trait HasId
class Object
trait Matchable
class Any
Self type
case class XmlAttribute()

Serializes an object property as an XML attribute rather than a nested XML element.

Serializes an object property as an XML attribute rather than a nested XML element.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
case class XmlFlattened()

Unwraps the values of a list, set, or map into the containing structure/union.

Unwraps the values of a list, set, or map into the containing structure/union.

Attributes

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type
object XmlName extends Newtype[String]

Changes the serialized element or attribute name of a structure, union, or member.

Changes the serialized element or attribute name of a structure, union, or member.

Attributes

Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
XmlName.type

Adds an xmlns namespace definition URI to an XML element.

Adds an xmlns namespace definition URI to an XML element.

Attributes

prefix

The prefix for the given namespace.

uri

The namespace URI for scoping this XML element.

Companion:
object
Graph
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Attributes

Companion:
class
Graph
Supertypes
trait Product
trait Mirror
trait HasId
class Object
trait Matchable
class Any
Self type

Deprecated classlikes

object Enum extends Newtype[List[EnumDefinition]]

Constrains the acceptable values of a string to a fixed set of constant values.

Constrains the acceptable values of a string to a fixed set of constant values.

Attributes

member

An enum definition for the enum trait.

Deprecated
[Since version 2.0] The enum trait is replaced by the enum shape in Smithy 2.0
Graph
Supertypes
trait HasId
class Object
trait Matchable
class Any
Self type
Enum.type

Types

type Auth = Type

Defines the list of authentication schemes supported by a service or operation.

Defines the list of authentication schemes supported by a service or operation.

Attributes

member

A string that must target an auth trait.

A string that must target an auth trait.

A string that must target an auth trait.

Attributes

type Default = Type

Provides a structure member with a default value. When added to root level shapes, requires that every targeting structure member defines the same default value on the member or sets a default of null.

Provides a structure member with a default value. When added to root level shapes, requires that every targeting structure member defines the same default value on the member or sets a default of null.

This trait can currently only be used in Smithy 2.0 models.

Attributes

Adds documentation to a shape or member using CommonMark syntax.

Adds documentation to a shape or member using CommonMark syntax.

Attributes

The optional name or label of the enum constant value.

The optional name or label of the enum constant value.

This property is used in code generation to provide a label for each enum value. No two enums can have the same 'name' value.

Attributes

Defines the value of an enum member.

Defines the value of an enum member.

Attributes

type Examples = Type

Provides example inputs and outputs for operations.

Provides example inputs and outputs for operations.

Attributes

Provides a link to additional documentation.

Provides a link to additional documentation.

Attributes

Defines an HTTP response code for an operation error.

Defines an HTTP response code for an operation error.

Attributes

Binds a structure member to an HTTP header.

Binds a structure member to an HTTP header.

Attributes

Binds a map of key-value pairs to prefixed HTTP headers.

Binds a map of key-value pairs to prefixed HTTP headers.

Attributes

Binds an operation input structure member to a query string parameter.

Binds an operation input structure member to a query string parameter.

Attributes

type JsonName = Type

The jsonName trait allows a serialized object property name to differ from a structure member name used in the model.

The jsonName trait allows a serialized object property name to differ from a structure member name used in the model.

Attributes

Describes the contents of a blob shape using a media type as defined by RFC 6838 (e.g., "video/quicktime").

Describes the contents of a blob shape using a media type as defined by RFC 6838 (e.g., "video/quicktime").

Attributes

type Pattern = Type

Restricts string shape values to a specified regular expression.

Restricts string shape values to a specified regular expression.

Attributes

Defines the resource shapes that are referenced by a string shape or a structure shape and the members of the structure that provide values for the identifiers of the resource.

Defines the resource shapes that are referenced by a string shape or a structure shape and the members of the structure that provide values for the identifiers of the resource.

Attributes

Defines the priority-ordered list of compression algorithms supported by the service operation.

Defines the priority-ordered list of compression algorithms supported by the service operation.

Attributes

Indicates that the targeted structure member provides an identifier for a resource.

Indicates that the targeted structure member provides an identifier for a resource.

Attributes

type Since = Type

Defines the version or date in which a shape or member was added to the model.

Defines the version or date in which a shape or member was added to the model.

Attributes

type Suppress = Type

Suppresses validation events by ID for a given shape.

Suppresses validation events by ID for a given shape.

Attributes

type Tags = Type

Tags a shape with arbitrary tag names that can be used to filter and group shapes in the model.

Tags a shape with arbitrary tag names that can be used to filter and group shapes in the model.

Attributes

type Title = Type

Defines a proper name for a service or resource shape.

Defines a proper name for a service or resource shape.

This title can be used in automatically generated documentation and other contexts to provide a user friendly name for services and resources.

Attributes

type XmlName = Type

Changes the serialized element or attribute name of a structure, union, or member.

Changes the serialized element or attribute name of a structure, union, or member.

Attributes

Deprecated types

type Enum = Type

Constrains the acceptable values of a string to a fixed set of constant values.

Constrains the acceptable values of a string to a fixed set of constant values.

Attributes

member

An enum definition for the enum trait.

Deprecated
[Since version 2.0] The enum trait is replaced by the enum shape in Smithy 2.0