Package software.amazon.smithy.model.validation.validators
Smithy validators. All validator implementations in this package
should be considered internal. They are subject to change and
should not be used directly outside of the Smithy project. For
example, some of these validators may get removed and replaced
with mode-only validation.
-
Class Summary Class Description AuthTraitValidator All@auth
trait values referenced from an operation must refer to authentication traits applied to service shapes that enclose the operation.DeprecatedTraitValidator Emits a validation event if a model contains shapes that are bound to deprecated traits.EnumTraitValidator Ensures that enum traits are valid.EventPayloadTraitValidator Ensures that when an event structure contains an eventPayload member, that all other members are bound to headers.ExamplesTraitValidator Validates that examples traits are valid for their operations.ExclusiveStructureMemberTraitValidator Validates traits that can only be applied to a single structure member.HostLabelTraitValidator Validates that hostLabel traits are applied correctly for operation inputs.HttpBindingsMissingValidator Validates that if any operation in a service uses the http trait, then all operations use them.HttpHeaderTraitValidator Validates that httpHeader traits are case-insensitively unique.HttpLabelTraitValidator Validates that httpLabel traits are applied correctly for operation inputs.HttpMethodSemanticsValidator Validates that `http` traits applied to operation shapes use the most semantically appropriate HTTP method according to RFC 7231.HttpPayloadValidator Validates that if a payload trait is present then all members of the input of an operation are bound to part of the message.HttpPrefixHeadersTraitValidator Validates that httpHeader traits do not case-insensitively start with an httpPrefixHeader on the same structure.HttpQueryTraitValidator Validates that httpQuery trait bindings are case-sensitively unique.HttpResponseCodeSemanticsValidator Ensures that HTTP response codes are appropriate for operations and errors.HttpUriConflictValidator Validates that no two URIs in a service conflict with each other.LengthTraitValidator MediaTypeValidator NoInlineDocumentSupportValidator 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.PaginatedTraitValidator Validates paginated traits.PrivateAccessValidator Ensures that shapes in separate namespaces don't refer to shapes in other namespaces that are marked as private.RangeTraitValidator Ensures that range traits are valid.ReferencesTraitValidator Validates that references are correct.ResourceCycleValidator Validates that resource references do not introduce circular hierarchies.ResourceIdentifierBindingValidator Validates that operations bound to resource shapes have identifier bindings for all of the identifiers of the parent of the binding resource, that operations bound to a resource with thecollection
trait are bound using a collection binding, and operations bound with nocollection
trait are bound using an instance binding.ResourceIdentifierValidator Validates that the resource identifiers of children of a resource contain all of the identifiers as their parents.ResourceLifecycleValidator Validates that resource are applied appropriately to resources.SensitiveTraitValidator Finds members marked as sensitive that target shapes marked as sensitive, and find members marked as sensitive that target structures, unions, or enums.ServiceValidator Validates that service closures do not contain duplicate case-insensitive shape names.ShapeIdConflictValidator Ensures that no two shapes in the model have the same case-insensitive shape ID.ShapeRecursionValidator 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.SingleOperationBindingValidator Validates that an operation is only bound to once in an entire service closure.SingleResourceBindingValidator Validates that a resource is only bound to once in an entire service closure.StreamingTraitValidator Validates the streaming trait.TargetValidator Validates that neighbors target resolvable shapes of the correct type.TraitConflictValidator Validates that traits do not conflict.TraitTargetValidator Validates that traits are only applied to compatible shapes.TraitValueValidator Validates that trait values are valid for their trait definitions.UnreferencedShapeValidator Adds a validation note event for each shape in the model that is not connected to a service shape.UnstableTraitValidator Emits a validation event if a model contains shapes that are bound to unstable traits.XmlNamespaceTraitValidator Validates that the xmlNamespace traits are applied correctly for structures.