All Classes and Interfaces
Class
Description
Emits a validation event if shapes or member names do not use strict
camelCasing (e.g., XmlRequest is preferred over XMLRequest).
AbbreviationName configuration settings.
Helper class for generating code.
Provides a default diff evaluator implementation with utility methods
for emitting events of different severities.
Abstract builder used to create
Shape
s.Base implementation of traits.
Basic provider implementation that returns the name of the
provided trait.
Provides the shared logic that all trait builders need.
Abstract Validator class that has helpful methods for emitting events.
Represents an acceptor in a waiter's state machine.
The transition state of a waiter.
Defines the description of what providing access to an operation entails.
A meta-validator that emits a NOTE when an operation resource is added
to a service or resource entity.
Creates a NOTE event when metadata is added.
Emits a warning when an error is added to an operation.
Emits a warning when an error is added to a service.
Creates a NOTE event when a shape is added.
Creates a NOTE event when a trait definition is added.
And expression where both sides must return truthy values.
Trait implementation for traits that are an empty object.
Trait provider that expects a boolean value of true.
Styles text using ANSI color codes.
API Gateway OpenAPI configuration.
The type of API Gateway service to generate.
An API Gateway mapper that only applies when the type of API being
converted matches the types of APIs handled by the mapper.
Indicates that a compliance test case is only to be implemented by
"client" or "server" implementations.
Applies transforms of other projections.
apply
configuration.A command line argument receiver.
Command line arguments list to evaluate.
Resolves and indexes the ARN templates for each resource in a service.
Indicates that a string shape contains an ARN.
Builder for
ArnReferenceTrait
.Ensures that all arn traits for a service are valid and that their templates
only reference valid resource identifiers.
Configures the ARN template of a resource shape, relative to the
service to which a resource is bound.
Builder for
ArnTrait
.Represents an array of nodes.
Builder used to efficiently create an ArrayNode.
Class that defines the acceptable values that can be used in
ShapeLink
objects.Selector attribute values are the data model of selectors.
This trait is attached to another trait to define an auth scheme.
Represents an API Gateway authorizer.
Builder used to create an
AuthorizerDefinition
.Computes the effective authorizers of each resource and
operation in a service.
Defines a map of API Gateway
x-amazon-apigateway-authorizer
values that correspond to Smithy authorization definitions.Builds an
AuthorizersTrait
.Validates if authorizers traits are well-defined.
Attaches an API Gateway authorizer to a service, resource, or operation.
Validator which verifies an endpoint with an authSchemes property conforms to a strict schema.
Specifies the auth schemes supported by default for operations
bound to a service.
All
@auth
trait values referenced from an operation must refer
to authentication traits applied to service shapes that enclose the
operation.An AWS ARN.
An AWS rule-set function for determining whether a given string can be promoted to an S3 virtual bucket host label.
An RPC-based protocol that sends JSON payloads.
An RPC-based protocol that sends JSON payloads.
An AWS rule-set function for mapping a region string to a partition.
Represents a configurable AWS protocol trait.
Builder for creating a
AwsProtocolTrait
.Provides the value in the "Code" distinguishing field and HTTP response
code for an operation error.
Builder used to create an AwsQueryErrorTrait.
An RPC-based protocol that sends query string requests and XML responses.
Converts the
aws.protocols#restJson1
protocol to OpenAPI.Index of AWS tagging trait information in a service closure and convenient
access to tag operations by name in service closures.
Adds AWS signature version in a way that"s compatible with AWS API Gateway.
Represents a
integer
shape.Builder used to create a
BigDecimalShape
.Represents a
integer
shape.Builder used to create a
BigIntegerShape
.Abstract class representing expressions that have a left and right side.
Represents a
blob
shape.Builder used to create a
BlobShape
.Represents a two argument function that compares two expression for boolean equality.
Represents a boolean node.
Represents a
boolean
shape.Builder used to create a
BooleanShape
.Computes all of the parent shapes of resources and operations from the bottom-up.
Deprecated.
Deprecated.
Manages the creation, copying, and reuse of values created by builders.
POJO to represents a smithy-build-info.json file.
Writes a build info file for each projection.
This builder can be used to build up a Smithy CLI command to
run `smithy build`.
Interface used to query a classpath for the given projection sources tags.
Finds JARs by opening each JAR in the classpath and looking for
"Smithy-Tags" in the META-INF/MANIFEST.MF file.
Result class used to build source and projection JARs.
Built-in parameters for EndpointRules.
Validates that the built-in's specified on parameters are supported.
Represents a
byte
shape.Builder used to create a
ByteShape
.Emits a validation event if shapes at a specific location do not match the
desired camel casing format.
CamelCase configuration settings.
Provides support for camelCase, snake_case, and other kinds
of case conversions.
Indicates that the CloudFormation property generated from this member is an
additional identifier for the resource.
"cloudformation" smithy-build plugin configuration settings.
Indicates that the CloudFormation property generated from this member has a
default value for this resource.
Indicates that structure member should not be included in generated
CloudFormation resource definitions.
Provides a plugin infrastructure to hook into the Smithy CloudFormation
Resource Schema generation process and map over the result.
Indicates an explicit CloudFormation mutability of the structure member
when part of a CloudFormation resource.
Validates that members marked as having write-only mutability are not also
marked as additional identifiers for their CloudFormation resource.
Contains extracted resource information.
Index of resources to their CloudFormation identifiers and properties.
Mutability options derived through lifecycle operations or traits.
Contains extracted resource property information.
Validates that derived CloudFormation properties all have the same target.
Indicates that a Smithy resource is a CloudFormation resource.
Emits a NOTE when a new enum value is appended, emits an ERROR when an
enum value is removed, emits an ERROR when an enum name changes, and
emits an ERROR when a new enum value is inserted before the end of the
list of existing values.
Detects when the Length trait is made more restrictive by either
raising the min or lowering the max.
Creates a DANGER event when a structure or union member is added
anywhere other than the end of the previous definition or the
member order is changed.
Checks for changes in the shapes targeted by a member.
Represents a change in metadata.
Creates a WARNING event when metadata is changed.
Validates that only backward compatible changes are made to
structure member nullability to ensure that if something was
previously nullable to clients then it continue to be nullable
and vice versa.
Emits an ERROR when the input shape of an operation is changed to
another shape.
Emits an ERROR when the output shape of an operation is changed to
another shape.
Detects when the Range trait is made more restrictive by either
raising the min or lowering the max.
Creates an ERROR event when the identifiers of a resource changes.
Represents a changed shape.
Creates an ERROR event when the type of a shape changes.
Options that can be enabled when changing shape types.
changeStringEnumsToEnumShapes
is used to change string shapes
bearing the enum trait into enum shapes.changeStringEnumsToEnumShapes
configuration settings.changeType
is used to change the type of one or more shapes.flattenNamespaces
configuration settings.Checks for greedy labels and fails/warns depending on configuration.
Checks for prefix headers in the input or output of an operation,
and handles the settings for throwing an exception or warning if
they're found.
Removes operation bindings from resources and services when operations
are removed, and removes resource bindings from services and resources when
resources are removed.
Removes the endpoint discovery trait from a service if the referenced operation or error are removed.
Removes references to removed structures from operation
input, output, and errors.
Removes references to resources that are removed from
ReferencesTrait
s.Removes "rename" entries from service shapes when a shape is removed.
Cleans up structure, union, enum, and intEnum shapes after shapes are removed.
Removes traits from
AuthDefinitionTrait
and
ProtocolDefinitionTrait
traits that refer to removed shapes.This class provides a basic CLI abstraction.
A service client context parameter definition.
Indicates that the named rule-set parameters that should be configurable
on the service client using the specified smithy types.
Indicates that the target operation should use the SDK's endpoint discovery
logic.
Builder for
ClientDiscoveredEndpointTrait
.Indicates members of the operation input which should be use to discover
endpoints.
Configures endpoint discovery for the targeted service.
Builder for
ClientEndpointDiscoveryTrait
.Indicates that non-authoritative code generators should treat a member
as optional even if it's required or default.
Throw this exception to cause the CLI to exit with a message and code.
Handles text output of the CLI.
A context object that can be used during code generation and is used by
SmithyIntegration
.CodegenDirector<W extends SymbolWriter<W,? extends ImportContainer>,I extends SmithyIntegration<S,W,C>,C extends CodegenContext<S,W,I>,S>
Performs directed code generation of a
DirectedCodegen
.Thrown when an error occurs during code generation.
Deprecated.
prefer
SymbolWriter
.Deprecated.
prefer
WriterDelegator
.Deprecated.
prefer
SymbolWriter.Factory
.A
CodeSection
interceptor for a specific type of CodeSection
.A code section interceptor that adds text after the intercepted section.
A code section interceptor that adds text before the intercepted section.
Interface used for strongly typed
AbstractCodeWriter
section values.Deprecated.
prefer
SimpleCodeWriter
or a custom subclass of AbstractCodeWriter
.Provides debug information about the current state of a CodeWriter.
Configures an Amazon Cognito User Pools auth scheme.
Builder for
CognitoUserPoolsTrait
.Abstract class representing Set and List shapes.
Builder used to create a List or Set shape.
Styles text using color codes.
A buffer associated with a
CliPrinter
used to build up a string of colored text.Represents a CLI command.
Environment settings for the command.
Compares the left and right expression using a comparator,
resulting in a boolean value.
A comparator in a comparison expression.
Abstract class used for most OpenAPI model components.
A condition is call to a rule-set function that used to determine whether a rule should be executed.
Provides an index of condition keys for a service, including any condition
keys inferred from resource identifiers.
Applies condition keys to an operation or resource.
Ensures that condition keys referenced by operations bound within the
closure of a service are defined either explicitly using the
defineConditionKeys
trait or through an inferred resource
identifier condition key.An abstract class used to more easily implement a Smithy build projection
transformer that expects configuration input in a specific type,
T
.An abstract class used to more easily implement a Smithy build plugin
that expects configuration input in a specific type,
T
.Thrown when two shapes generate the same JSON schema pointer.
Smithy to CloudFormation conversion context object.
Smithy to OpenAPI conversion context object.
Resolves an indexes the context parameters in the model.
Binds a Structure member shape to a rule-set parameter.
Directive that contains a
CodegenContext
.This validation event formatter outputs a validation event that points
to the source code line that triggered the event.
Registers the core Smithy2CloudFormation functionality.
Registers the core Smithy2OpenApi functionality.
Adds support for the API Gateway
x-amazon-apigateway-cors
extension for API Gateway HTTP APIs using values from the
Smithy cors
trait.Analyzer for determining coverage of a rule-set.
Directive used to create a
CodegenContext
.Directive used to create a
SymbolProvider
.Gets the current node.
Directive used to perform post-processing code generation.
Indicates that a shape is defaulted, meaning a zero value is used when one is not provided.
Finds operations that are meant to partially update a resource, but that use
members with default values in their input shapes, making it impossible
to know if the member was provided explicitly or defaulted.
An abstract visitor implementation for a
RuleValueVisitor
, and ExpressionVisitor
.Defines condition keys used in a service.
Resolves Maven dependencies for the Smithy CLI.
Responsible for creating a
DependencyResolver
for the CLI,
optionally based on configuration.Exception encountered while attempting to resolve dependencies.
A container for all known dependencies of a generator.
Marks a shape as deprecated.
Builder used to create a DeprecatedTrait.
Emits a validation event if a model contains shapes that are bound to deprecated traits.
Queryable container for detected structural differences between two models.
Interface used to evaluate two models and their normalized
differences and return
ValidationEvent
s that are relative to
the new model.Provides a directed code generation abstraction to make it easier to
implement a Smithy code generator for a single service that leverages
other abstractions in smithy-codegen-core, including
SmithyIntegration
,
SymbolProvider
, CodegenContext
, SymbolWriter
,
and WriterDelegator
.Directive classes contain all of the context needed in order to perform
the tasks defined in a
DirectedCodegen
implementation.Disables the automatic inference of condition keys of a resource.
Adds documentation to a model.
Deprecated.
prefer
DocWriter
.Represents a
document
shape.Builder used to create a
DocumentShape
.Deprecated.
Represents a
double
shape.Builder used to create a
DoubleShape
.A general-purpose trait used to represent traits that are defined in the
model and have no concrete implementation.
Indicates the serialized name of a structure member when that structure is
serialized for the input of an EC2 operation.
An RPC-based protocol that sends query string requests and XML responses,
customized for Amazon EC2.
Queries a model for effective traits bound to shapes and members.
Builds a reusable EffectiveTraitQuery.
Emits a validation event for each shape that matches a selector.
EmitEachSelector configuration settings.
Emits a validation event if no shapes match the given selector.
EmitNoneSelector configuration settings.
An Endpoint as returned by EndpointRules.
Builder for
Endpoint
.A rule-set rule that specifies a resolved endpoint.
A set of EndpointRules.
Defines an endpoint rule-set used to resolve the client's transport endpoint.
Describes an endpoint rule-set test case.
An endpoint test case expectation.
A description of a service operation and input used to verify an endpoint rule-set test case.
Describes test cases for validating an endpoint rule-set.
Validates the
EndpointTestsTrait
.Defines custom endpoint bindings of an operation.
Abstract class representing service and resource shapes.
Builder used to create a Service or Resource shape.
An enum definition for the enum trait.
Builds a
EnumDefinition
.Emits an error validation event if an enum member's enumValue trait has the wrong type,
if there are any duplicate values in a single enum, if the enum's default value is
set using the enumValue trait, or if an intEnum member lacks an enumValue trait.
Deprecated.
Builder used to create the enum trait.
Ensures that enum traits are valid.
Sets the value for an enum member.
Environment variables used by the Smithy CLI.
A rule-set rule that is used to indicate an error in evaluation.
Indicates that a structure can be used as an error.
Marks a structure member of an event as an event header.
Marks a structure member of an event as the event payload.
Ensures that when an event structure contains an eventPayload member,
that all other members are bound to headers.
Validates that the aws.api#service/eventSource property matches
aws.api#service/arnNamespace
+ ".amazonaws.com" and does
not use incorrect formats.Index of operation shapes to event stream information.
Contains extracted event stream information.
Defines examples for an operation.
Builds and examples trait.
A specific example.
Builder used to create
ExamplesTrait.Example
s.Validates that examples traits are valid for their operations.
excludeMetadata
removes metadata entries when a metadata key
matches keys
.excludeMetadata
configuration settings.excludeShapesBySelector
excludes the shapes matching the given selector.excludeShapesBySelector
configuration.excludeShapesByTag
removes shapes if they are tagged with one or more
of the given arguments.excludeShapesByTag
configuration.Removes shapes from the model if they are marked with a specific trait.
excludeTags
removes tags from shapes and trait definitions
that match any of the provided tags
.excludeTags
configuration.excludeTraits
removes trait definitions and traits from
shapes when a trait name matches any of the values given in
traits
.excludeTraits
configuration settings.excludeTraitsByTag
removes traits and trait definitions
from a model if the trait definition contains any of the provided
tags
.excludeTraitsByTag
configuration settings.Validates traits that can only be applied to a single structure member.
Thrown by
Node
methods that expect a node to be of a particular
type or to have a particular member.An endpoint test-case expectation.
A dynamically computed expression.
Represents a problem detected by static analysis.
The severity of the problem.
Serializes the JMESPath expression AST back to a JMESPath expression.
Contains a reference to an expression that can be run zero or more
times by a function.
Visits each type of AST node.
Expression visitor pattern.
Provides named links to external documentation.
Builder used to create the external documentation trait.
Gets a field by name from an object.
A resolver that loads and caches resolved artifacts to a JSON file if
the cache is fresh and resolved artifacts haven't been updated after a
given reference point in time.
Creates and tracks the files generated by a
SmithyBuildPlugin
.Removes Smithy CLI dependencies that conflict with the JARs used by the CLI.
A projection that filters values using a comparison.
Filters suppressions found in metadata and
SuppressTrait
traits.filterSuppressions
configuration settings.Flattens the wrapped expression into an array.
flattenNamespaces
updates a model by flattening the namespaces of
shapes connected to a service into a single, target namespace.flattenNamespaces
configuration settings.Represents a
integer
shape.Builder used to create a
FloatShape
.A value that can be traced back to a
SourceLocation
.Utilities for working with functions, predicates, etc.
An abstract definition of a rule-engine function.
Executes a function by name using a list of argument expressions.
Parsed but not validated function contents containing the `fn` name and `argv`.
Collection of registered functions.
Directive used to generate an enum shape or enum string shape.
Represents the type of enum to generate.
Directive used to generate an error.
Directive used to generate an intEnum.
Directive used to generate a resource.
Directive used to generate a service.
Directive used to generate a structure.
Directive used to generate a union.
A rule-set expression for indexing a record/object or array.
Data class representing a CloudFormation Resource Schema's handler definition.
Generates the resource's handler permissions list based on the lifecycle operation
used and any permissions listed in the
aws.iam#requiredActions
trait.Generates and prints structured help output.
Binds an input member to a label in the hostPrefix of an endpoint
trait on an operation.
Validates that hostLabel traits are applied correctly for operation inputs.
Uses an HTTP header named X-Api-Key that contains an API key.
An HTTP-specific authentication scheme that sends an arbitrary
API key in a header or query string parameter.
Validates that if an HttpApiKeyAuth trait's scheme field is present then
the 'in' field must specify "header".
An auth scheme trait uses HTTP basic auth.
Applies Basic HTTP auth.
An auth scheme trait uses HTTP bearer auth.
Uses the Bearer scheme of the Authentication header.
Defines an HTTP message member binding.
HTTP binding types.
Computes and indexes the explicit and implicit HTTP bindings of a model.
Validates that if any operation in a service uses the http trait,
then all operations use them.
Indicates that an operation requires a checksum in its HTTP request.
Indicates that an operation supports checksum validation.
Validates the HttpChecksum trait.
An auth scheme trait uses HTTP digest auth.
Applies Digest HTTP auth.
Defines a custom HTTP status code for error structures.
Binds a member to an HTTP header.
Validates that httpHeader traits are case-insensitively unique.
Binds a member to a URI label of an input of an operation using
the member name.
Validates that httpLabel traits are applied correctly for operation inputs.
Defines a request to be used by an HttpMalformedRequest test case.
Builder used to create a HttpRequestTestsTrait.
Defines a test case for malformed HTTP requests.
Builder used to create a HttpMalformedRequestTestCase.
Defines protocol tests for malformed HTTP request handling.
Ensures that parameters attached to @httpMalformedRequestTest cases are well-formed.
Defines the response expected by an HttpMalformedRequest test case.
Builder used to create a HttpMalformedResponseBodyDefinition.
Defines the response expected by an HttpMalformedRequest test case.
Builder used to create a HttpMalformedResponseDefinition.
Validates that `http` traits applied to operation shapes use the most
semantically appropriate HTTP method according to RFC 7231.
Binds a single structure member to the payload of an HTTP request.
Validates that if a payload trait is present then all members of the
input of an operation are bound to part of the message.
Binds a map structure member to prefixed HTTP headers.
Validates that httpHeader traits do not case-insensitively start with an
httpPrefixHeader on the same structure.
Binds a map structure member to the HTTP query string.
When the `httpQueryParams` trait is used, this validator emits a NOTE when another member of the container shape
applies the `httpQuery` trait which may result in a conflict within the query string.
Binds a member to an HTTP query string.
Validates that httpQuery trait bindings are case-sensitively unique.
Defines a test case for an HTTP request.
Builder used to create a HttpRequestTestsTrait.
Ensures that input parameters of protocol request test cases are
valid for the attached operation.
Defines HTTP request protocol tests.
Ensures that HTTP response codes are appropriate for operations and errors.
Indicates that the structure member represents the HTTP response
status code.
Defines a test case for an HTTP response.
Builder used to create a HttpResponseTestCase.
Validates that protocol tests on errors use the correct params.
Validates that protocol tests on output use the correct params.
Defines HTTP request protocol tests.
Defines the HTTP request and response code bindings of an operation.
Builder used to create an Http trait.
Validates that no two URIs in a service conflict with each other.
Indicates properties of a Smithy resource in AWS IAM.
Defines an operation input member that is used to prevent
replayed requests.
Indicates that an operation is idempotent.
Index of operation shapes to the identifiers bound to the operation.
Indicates that a string value must contain a valid shape ID.
Contains the imports associated with a specific file.
Deprecated.
includeMetadata
keeps only metadata keys specifically
defined in the provided keys
setting.includeMetadata
configuration settings.includeNamespaces
filters out shapes and trait definitions
that are not part of one of the given namespaces
.includeNamespaces
configuration.includeServices
filters out service shapes that are not
included in the list of shape IDs contained in the
services
property.includeServices
configuration.includeShapesBySelector
includes the shapes matching the given selector.includeShapesBySelector
configuration.includeShapesByTag
removes shapes and trait definitions
that are not tagged with at least one of the tags provided
in the tags
argument.includeShapesByTag
configuration.includeTags
removes tags from shapes and trait
definitions that are not in the set of tags defined in
the tags
property.includeTags
configuration.includeTraits
removes trait definitions when a trait name
does not match one of the provided traits
shape IDs.includeTraits
configuration settings.includeTraitsByTag
removes trait definitions from a model if
the definition does not contain at least one of the provided tags
.includeTraitsByTag
configuration settings.Gets a specific element by zero-based index.
Represents an error encountered when parsing a rule-set expression.
Validates that all operations define input and output structures that are marked
with the input and output traits.
Specializes a structure as the input of a single operation.
Represents an
integer
shape.Builder used to create a
IntegerShape
.An API Gateway integration response object.
Builds a
IntegrationResponse
.API Gateway integration.
Computes the API Gateway integration for each operation,
resource, and service shape in a model.
Builder used to create a
IntegerShape
.Shapes marked with the internal trait are meant only for internal use and
must not be exposed to customers.
An interface that describe a type that can be transformed to type T.
An interface that describe a type that can convert itself into itself.
Exception thrown for invalid patterns.
Exception thrown when a rule-set is invalid.
Exception thrown for invalid HTTP URI patterns.
Utilities for IO operations.
A rule-set function for determining whether a reference parameter is set.
A rule-engine function for checking whether a string is a valid DNS host label.
Deprecated.
this class uses CodeWriter, which is deprecated.
Thrown when any JMESPath error occurs.
Represents a JMESPath AST node.
Provides a custom name to use when serializing a structure member
name as a JSON object property.
JSON Schema configuration options.
Configures how Smithy map shapes are converted to JSON Schema.
Configures how Smithy union shapes are converted to JSON Schema.
Converts a Smithy model index to a JSON schema document.
Updates a schema builder before converting a shape to a schema.
Finds string set in a Node object string value and replaces them with a
corresponding Node.
A marker interface used to indicate that a class contains an index of
computed knowledge about a
Model
.A lazy initialized value that is initialized once when retrieved.
Constrains a shape to minimum and maximum number of elements or size.
Builder used to create a LongTrait.
A function (
Function
) which is constructed from a FunctionDefinition
.Writes
ValidationEvent
objects as a single line string.Contains the result of
JmespathExpression.lint()
.Represents a
list
shape.Builder used to create a
ListShape
.Immutable List utilities to polyfill Java 9+ features.
Literals allow rules and properties to define arbitrarily nested JSON structures (e.g.for properties)
Represents a literal value.
Represents a
integer
shape.Builder used to create a
LongShape
.Abstract class that mandates that all child classes provide a source location.
A reserved words implementation that maps known words to other words.
Builder to create a new
MappedReservedWords
instance.Represents a
map
shape.Builder used to create a
ListShape
.Immutable Map utilities to polyfill Java 9+ features.
Determines if an acceptor matches the current state of a resource.
Matches if an operation returns an error, and the error matches the
expected error type.
When set to true, matches when a call returns a success response.
Represents an union value.
Visits the variants of the Matcher union type.
Resolves Maven dependencies for the Smithy CLI using Maven resolvers.
Implements a simple media type parser based on the Content-Type grammar defined in
RFC 7231.
Documents the media type of a blob shape.
Represents a member that targets another shape by ID.
Builder used to create a
MemberShape
.Validates that the clientOptional trait is applied based on the rules
defined in the validator.
MissingClientOptionalTrait configuration settings.
Checks if an operation should be paginated but is not.
Validates that shapes and members that possibly contain sensitive data are marked with the sensitive trait.
MissingSensitiveTrait configuration.
Builder used to create a MixinTrait.
Ensures that mixins do not introduce conflicting members across
mixin closures.
API Gateway mock integration.
A
FileManifest
that doesn't actually store files on disk.The way in which files are stored.
A Smithy model that contains shapes, traits, metadata, and various
computed information used to interpret the model.
Builder used to create a Model.
Assembles and validates a
Model
from documents, files, shapes, and
other sources.Computes the difference between two models and any problems that might
occur due to those differences.
Builder used to construct a diff of two Smithy models.
The result of comparing two Smithy models.
Discovers Smithy models by finding all
META-INF/smithy/manifest
files on the class path and loading all of the newline separated relative
model files referenced from the manifest.Exception thrown when a model fails to be imported.
Writes the projected/filtered SmithyBuild model.
Serializes a
Model
to an ObjectNode
.Builder used to create
ModelSerializer
.Thrown when the syntax of the IDL is invalid.
Class used to transform
Model
s.Plugin service used with ModelTransformer.
Exception thrown when a model transformation error occurs.
Finds breaking changes related to when a trait is added, removed, or
updated.
Publish operations must not contain event streams.
Validates
@smithy.mqtt#subscribe
operation input.Validates
subscribe
operation output.Validates that no two MQTT topics conflict.
Validates that labels are correct for MQTT topics on
subscribe
and publish
operations.Validates that
@smithy.mqtt#publish
and subscribe
operations should not define errors.Creates an object using key-value pairs.
Selects one or more values into a created array.
Provides the neighbor relationships for a given shape.
Provides a cache of precomputed neighbors for models.
Indicates that the contents of a structure member contain the top-level
properties of the associated resource.
Base class of for all Smithy model nodes.
Non-numeric values for floats and doubles.
Exception encountered during deserialization.
Serializes and deserializes Smithy
Node
values to/from objects.Specifies the behavior of the mapper when attempting to deserialize an unknown property.
JSON Pointer abstraction over Smithy
Node
values.Exception encountered during serialization.
The set of possible node types.
Builds a
NodeValidationVisitor
.Features to use when validating.
Validation context to pass to each NodeValidatorPlugin.
Node visitor interface.
Creates
NodeVisitor
that return a default value when necessary
when visiting nodes.Detects when a protocol indicates that it does not support inline documents,
yet the protocol trait is attached to a service that uses inline documents.
Validates that all shape names and values do not contain non-inclusive terms.
NoninclusiveTermsValidator configuration.
Indicates that the put lifecycle operation of a resource
can only be used to create a resource and cannot replace
an existing resource.
Negates an expression based on if the wrapped expression is truthy.
Indicates that a top level input/output structure member is not associated
with a resource property.
Generates a JSON report that contains a mapping of every structure member to
whether the member is considered nullable in v1 and v2 implementations.
An index that checks if a member is nullable.
Defines the type of model consumer to assume when determining if
a member should be considered nullable or always present.
Represents a null node.
Represents a number node.
Abstract class representing all numeric types.
Represents an object node.
Builder used to efficiently create an ObjectNode.
A projection of object values.
"openapi" smithy-build plugin configuration settings.
Specifies what to do when the httpPrefixHeaders trait is found in a model.
Converts a Smithy model to OpenAPI.
Adds JSON values into the generated OpenAPI model using a JSON Patch
like "add" operation that also generated intermediate objects as needed.
Applies OpenAPI extensions to a
Schema
using configuration settings
found in OpenApiConfig
.Substitutes JSON string values using the mapping defined in
openapi.substitutions
.Provides a plugin infrastructure used to hook into the Smithy to OpenAPI
conversion process and map over the result.
An OpenAPI protocol is used to convert a Smithy protocol into
HTTP-specific bindings.
Represents an operation entry to add to an
OpenApi.Builder
.OpenAPI versions supported by the converter.
Index of operation IDs to their resolved input, output, and error
structures.
Represents an API operation.
Builder used to create a
OperationShape
.Validates operation inputs, outputs, and the use of
input
and output
traits.Indicates that an operation / service supports unauthenticated access.
Functions that make working with optionals easier.
Or expression that returns the expression that returns a truthy value.
Used to provide the original shape ID of a shape that is renamed
in the semantic model.
Specializes a structure as the output of a single operation.
Index of operation shapes to paginated trait information.
Defines the pagination functionality of an operation.
Builds the paginated trait.
Validates paginated traits.
Resolved and valid pagination information about an operation in a service.
Generic immutable pair of values.
Validator for rule-set parameters.
Validator to ensure that all parameters have documentation.
An aws rule-set function for parsing an AWS ARN into it's componenet parts.
Utility methods that act on a
SimpleParser
and parse
Smithy grammar productions.A rule-set function to parse a URI from a string.
Describes an AWS partition, it's regions, and the outputs to be provided by the rule-set aws.partition function.
The outputs to be provided by the rule-set aws.partition function.
A model for defining the set of partitions that are used by the rule-set aws.partition function.
Defines a comparison to perform in a PathMatcher.
Finds the possible directed relationship paths from a starting shape to
shapes connected to the starting shape that match a selector.
Utility to determine with path of conditions that must be matched to reach a condition in a rule-set.
An immutable
Relationship
path from a starting shape to an end shape.Restricts string values to a specified regular expression.
Emits a validation event if a pattern trait is not anchored.
Determines if a service, resource, or operation are considered
part of the data plane or control plane.
Context object used in plugin execution.
Builds a
PluginContext
.Represents the prelude model available to every Smithy model.
Ensures that shapes in separate namespaces don't refer to shapes in other
namespaces that are marked as private.
Indicates that a shape cannot be targeted outside of the namespace in
which it was defined.
ProjectionConfig stored in a
SmithyBuildConfig
.Builds a
ProjectionConfig
.Iterates over each element in the array returned from the left expression,
passes it to the right expression, and returns the aggregated results.
The result of applying a projection to a model.
Builds up a
ProjectionResult
.Creates a model transformer by name.
Data class representing a CloudFormation Resource Schema's property.
Index of member shape to associated resource property information.
Determines the field/property/member name of a member in an object.
Configures how a structure member maps to a resource property.
A trait that is attached to other traits to define a Smithy protocol.
Ensures that the http payload trait is only bound to structures, unions,
documents, blobs, or strings for AWS protocols.
Ensures that every entry in
eventStreamHttp
also appears in
the http
property of a protocol trait.smithy.mqtt#publish
trait.Constrains a shape to minimum and maximum numeric range.
Builder used to create a RangeTrait.
Ensures that range traits are valid.
Indicates that an operation is read-only.
Builder used to create a RecommendedTrait.
A reference to a field.
Defines references to resources within a structure.
Builder use to create the references trait.
Reference to a resource.
Builder to create a
ReferencesTrait.Reference
.Validates that references are correct.
Provides a facility for overriding a partition's regions.
Represent a direct relationship between two shapes.
Defines the directionality of a relationship.
Defines the relationship types between neighboring shapes.
Data class representing a CloudFormation Resource Schema's remote definition.
TODO: Implement evaluator to find removed authentication schemes.
A meta-validator that checks for the removal of an operation or
resource binding from a service or resource.
Creates a DANGER event when metadata is removed.
Emits a warning when an error is removed from an operation.
Emits a warning when an error is removed from a service.
Creates an ERROR event when a non-private shape is removed.
Creates an ERROR event when a trait definition is removed.
Removes empty key-value pairs in the "components" of a model if empty, and
removes the "components" key-value pair of a model if it is empty.
Removes mixins from shapes when a mixin is removed from the model.
removeTraitShapes
removes all trait definitions from a model,
but leaves if the trait definition contains any of the provided
tags
.removeTraitShapes
configuration settings.Removes traits from shapes when trait definitions are removed.
Removes unused components from the OpenAPI model.
removeUnusedShapes
removes shapes from the model that are not
connected to any service shape.removeUnusedShapes
configuration settings.renameShapes
updates a model by renaming shapes.renameShapes
configuration settings.Validates that structure members and union member names do not
repeat their shape name as prefixes of their member or tag names.
Generates the resource's required properties list based on the
required operation members that are part of the derived resource.
Indicates that a structure member is required.
Indicates that the streaming blob must be finite and has a known size.
Determines what is reserved and escapes reserved words.
Builds a
ReservedWords
implementation from explicit
mappings and from line-delimited files that contain reserved words.Emits validation events for a configuration of reserved words.
ReservedWords validator configuration.
A single reserved words configuration.
Decorates a
SymbolProvider
by passing values through context
specific ReservedWords
implementations.Builder to build a
ReservedWordSymbolProvider
.Uses to manually escape
Symbol
s and member names.An artifact resolved from a repository that provides the path on disk where the artifact
was downloaded, and the coordinates of the artifact.
Computes all of the MQTT
TopicBinding
s in a model.Validates that resource references do not introduce circular hierarchies.
Validates that operations bound to resource shapes have identifier
bindings for all the identifiers of the parent of the binding resource,
that operations bound to a resource with the
collection
trait are bound using a collection binding, and operations bound with
no collection
trait are bound using an instance binding.Binds an operation input member to a named identifier of the resource to
which the operation is bound.
Validates that the resource identifiers of children of a resource contain
all of the identifiers as their parents.
Validates that resource are applied appropriately to resources.
Validates that resource properties are correctly used in resource-bound operations.
Data class representing a CloudFormation Resource Schema.
Represents a
resource
shape.Builder used to create a
ResourceShape
.A RESTful protocol that sends JSON in structured payloads.
A RESTful protocol that sends XML in structured payloads.
Marks an error structure as retryable.
Builds a
RetryableTrait
trait.An exception that can be thrown when rule-set is invalid.
A runtime implementation of a rule-set evaluation engine.
Visitor for the right-hand side of rules (tree, error, endpoint).
Defines a single JSON schema.
Abstract class used to build Schema components.
Represents a JSON Schema document.
Builds a JSON Schema document.
Scope is a stack for tracking facts for named values of type T.
Validates that SDK service IDs are correct and do not match any
prohibited patterns.
Converts a Smithy authentication scheme to an OpenAPI security
scheme and applies security requirements to operations.
Matches a set of shapes using a selector expression.
Deprecated.
This class is no longer necessary.
Represents a selector match found in the model.
Exception thrown when a selector evaluation is invalid.
Exception thrown when a selector expression is invalid.
Indicates that the data stored in the shape or member is sensitive and
should be handled with care.
An index that resolves service protocols and auth schemes.
Creates an ERROR event when a shape is renamed that was already
part of the service, when a rename changes for a shape, or when
a rename is removed for a shape.
Represents a
service
shape.Builder used to create a
ServiceShape
.Validates service satisfies AWS tagging requirements.
Registers a service as an AWS service.
Builder for
ServiceTrait
.Validates that service closures do not contain duplicate case-insensitive
shape names.
Deprecated.
Builder used to create a
SetShape
.Immutable Set utilities to polyfill Java 9+ features.
Severity level of a validation exception.
A
Shape
defines a model component.Directive used to generate a specific shape.
Immutable identifier for each shape in a model.
Ensures that no two shapes in the model have the same case-insensitive
shape ID.
Represents a shape ID syntax error.
Class that defines a link between the Smithy
Shape
and
the artifact that it produced.Ensures that list, set, and map shapes are not directly recursive,
meaning that if they do have a recursive reference to themselves,
one or more references that form the recursive path travels through
a structure or union shape.
An enumeration of the different types in a model.
Shape visitor pattern.
Creates
ShapeVisitor
that return a value when necessary
when visiting shapes.Represents a
short
shape.Builder used to create a
ShortShape
.Validates that shapes that have names that appear to be time values are
actually modeled with a timestamp shape.
Adds AWS signature version 4 authentication to a service or operation.
Helper class for generating code.
A simple expression parser that can be extended to implement parsers
for small domain specific languages.
Abstract class representing all simple type shapes.
Defines when a shape or member was added to the model.
Validates that an operation is only bound to once in an entire
service closure.
Validates that a resource is only bound to once in an entire
service closure.
Represents a slice expression, containing an optional zero-based
start offset, zero-based stop offset, and step.
An extension mechanism used to influence how CloudFormation resource schemas
are generated from Smithy models.
Converts Smithy to an OpenAPI model and saves it as a JSON file.
An extension mechanism used to influence how Smithy models are converted
to OpenAPI models.
Runs the projections and plugins found in a
SmithyBuildConfig
and writes the artifacts to a FileManifest
.Filter configuration that contains a list of named projections that
are used to apply filters to a model.
Builder used to create a
SmithyBuildConfig
.A mutable object that can be used to create an immutable object of type T.
Base exception thrown for any error that occurs while building.
Plugin extension class for SmithyBuild.
Encapsulates the result of running SmithyBuild.
Creates a SmithyBuildResult.
Entry point of the Smithy CLI.
Annotation used to indicate that a package or class was generated and
should not be edited directly.
Serializes a
Model
into a set of Smithy IDL files.Builder used to create
SmithyIdlModelSerializer
.This interface provides the base concept of an "Integration" to
Smithy code generators.
Annotation used to indicate that an API is considered internal to Smithy
and subject to change.
Represents a contained pattern.
Builder used to create a SmithyPattern.
Segment within a SmithyPattern.
Runs a single test case by loading a model and ensuring the resulting
events match the validation events stored in a newline separated file.
Thrown when errors are encountered while unwrapping a test case.
Output of validating a model against a test case.
Runs test cases against a directory of models and error files.
Thrown when errors are encountered in the test runner.
Value result of executing the test suite.
Annotation used to indicate that an API is considered unstable and subject
to change.
An exception that can be traced back to a
SourceLocation
.Represents the source location of a model component.
Builder which also tracks sourceLocation of inputs.
Thrown when sources conflict in the source plugin.
Copies model sources into the sources plugin.
Indicates that a list or map is sparse, meaning they may contain nulls.
A meta validator that verifies a rule-set and tests.
Validates that operation shape names start with standard verbs.
StandardOperationVerb configuration settings.
Options available to all commands.
An operation static context parameter definition.
Binds static values to rule-set parameters for the targeted operation.
Validates
StaticContextParamsTrait
traits.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.
Validates the streaming trait.
A rule-set function for comparing strings for equality.
Contains abstract functionality to build traits that contain a list
of strings.
Abstract builder to build a StringList trait.
Trait provider that expects a list of string values.
Factory method to create a StringList provider.
Represents a string node.
Represents a
string
shape.Builder used to create a
StringShape
.Abstract trait class for traits that contain only a string value.
Trait provider that expects a string value.
String utilities.
Operations on
String
that are null
safe.Structure shape that maps shape names to members.
Builder used to create a
StructureShape
.Deprecated.
Colors and styles for use with
AnsiColorFormatter
or CliPrinter
.Visits the left expression and passes its result to the right expression.
smithy.mqtt#subscribe trait.
A rule-set function for getting the substring of a string value.
Suppresses
ValidationEvent
s emitted from Validator
s.A "symbol" is created by a
SymbolProvider
, and represents the
qualified name of a type in a target programming language.Builds a Symbol.
A holder for
Symbol
objects.Represents a dependency that is introduced by a
Symbol
.Builds a SymbolDependency.
A container for
SymbolDependency
objects.Provides
Symbol
objects for shapes.Represents a reference from a Symbol to another Symbol.
Builds a SymbolReference.
Options used to control the context of when the symbol reference is needed.
Top-level interface for all
SymbolReference
options.A
SymbolWriter
is a specialized AbstractCodeWriter
that makes it
easier to implement code generation that utilizes Symbol
s and
SymbolDependency
values.Deprecated.
Factory used to create a
SymbolWriter
.Validates service has at least one taggable resource.
Trait annotating a service shape as having taggable resources.
Structure representing the configuration of resource specific tagging APIs.
Builds a
TaggableApiConfig
.Validates that service satisfies the AWS tagging requirements.
Marks a resource shape as taggable for further model validation.
A type that contains tags.
Contains extracted resource tagging information.
Validates expected tagging property name used for a taggable resource to encourage consistency.
Validates tagging property used for a taggable resource to encourage consistency.
Applies tags to a shape.
Validates that neighbors target resolvable shapes of the correct type.
Template represents a "Template Literal".
For code generating from a template, use a `TemplateVisitor`.
Provides facilities for evaluating an endpoint rule-set and tests.
Index containing the full set of
TextInstance
s associated with a model.Contains information about text that occurs in the Smithy IDL written by the owner,
inluding location metadata.
Enum type indicating what kind of location in the model associated text appeared in.
Defines a custom serialization format for a timestamp.
The known
timestampFormat
values.Represents a
timestamp
shape.Builder used to create a
TimestampShape
.Defines how timestamps are validated.
Provides a human-readable proper noun title to services and resources.
A value that can be converted to a
Node
.Provides top-down access to all resources and operations contained within a
service or resource closure.
Represents a parsed MQTT topic.
Represents a level in a topic.
Contains computed information about the resolved MQTT topic bindings
of an operation.
Binds a member to an MQTT label using the member name.
Thrown when an MQTT topic is malformed.
Creates a reverse-topological ordering of shapes.
Topologically sorts shapes based on their dependencies (i.e., mixins).
Thrown when cycles exist between shapes.
Interface used to convert a shape to a ShapeId.
Provides a way to get from an instance of T to a
SmithyBuilder
.Class that represents the contents of a Smithy trace file.
Builder for constructing TraceFile's from scratch.
Class that defines information a code-generated artifact.
Decorates a
SymbolProvider
with a TraceFile.Builder
and adds a ShapeLink
object
to the builder on each call to toSymbol.Builder to create a TracingSymbolProvider instance.
Traits provide additional context and semantics to shapes.
Finds breaking changes related to when a trait is added, removed, or
updated based on the breakingChanges property of traits.
Validates that the JSON pointer paths of the breakingChanges property
of a trait refers to valid parts of the model.
Validates that traits do not conflict.
Trait definition trait.
Represents an individual trait diff rule to define backward compatibility rules.
Builder to create a TraitDefinition.
The structural exclusion semantics of the trait.
Creates traits using trait data from a model.
Creates traits from
Node
values.Validates that traits are only applied to compatible shapes.
Validates that trait values are valid for their trait definitions.
Transform configuration found in a projection.
Context object used when applying a
ProjectionTransformer
.Builds a
TransformContext
.A visitor for traversing the rules and conditions of a rule-set.
Similar to
BiConsumer
, but accepts three arguments.Tagged union shape that maps member names to member definitions.
Builder used to create a
UnionShape
.Indicates that the members of a list must be unique.
Validates that the "id" property of
smithy.test#httpRequestTests
,
smithy.test#httpResponseTests
, and smithy.test#httpMalformedRequestTests
are unique across all test cases.Ensures that no two waiters use the same case-insensitive name in the
closure of a service.
Ensures that a unit type can only be referenced as operation
input/output or by a tagged union member.
Thrown when a projection extends from an unknown projection.
Thrown when a mapper cannot be found.
Finds shapes that are not connected to a service shape, are not trait
definitions, and are not referenced by trait definitions.
Adds a validation note event for each shape in the model that is not
connected to a service shape.
Finds trait definitions that are not connected to a service shape.
Indicates that the payload of an operation is not to be signed.
Marks a shape as unstable.
Emits a validation event if a model contains shapes that are bound to unstable traits.
Logs each instance of traits and features that are known to not
work in OpenAPI.
A rule-set function for URI encoding a string.
Represents a URI pattern.
Represents the result of an operation and the
ValidationEvent
s
that occurred.Thrown when
ValidatedResult.validate()
is called and the result contains
ERROR events.Validate that URIs start with a scheme.
Represents a validation error for a rule-set.
The type of validation error that has occurred.
A validation event created when validating a model.
Builds ValidationEvent values.
Formats
ValidationEvent
s.Utility methods used when validating.
Validates a
Model
and returns a list of ValidationEvent
.Creates built-in
Validator
instances and Validator
instances loaded by name.Represents a service provider for configurable Validators that appear
in Smithy models.
Provides a simple abstraction for creating validator service subclasses.
An abstract representing a typed value.
Indicates that an operation has various named "waiters" that can be used
to poll a resource until it enters a desired state.
Defines an individual operation waiter.
Walks connected shapes within a Model.
Marks a structure member to be serialized to/from an XML attribute.
Defines the XML Namespace prefix and URI.
Builder used to create an XmlNamespace trait.
Validates that the xmlNamespace traits are applied correctly for structures.
Provides a custom name to use when serializing a structure member
name as a XML object property.
NullableIndex
instead.