Class AuthorizersTrait

All Implemented Interfaces:
FromSourceLocation, ToNode, ToShapeId, Trait, ToSmithyBuilder<AuthorizersTrait>

public final class AuthorizersTrait extends AbstractTrait implements ToSmithyBuilder<AuthorizersTrait>
Defines a map of API Gateway x-amazon-apigateway-authorizer values that correspond to Smithy authorization definitions.

The key in each key-value pair of the aws.apigateway#authorizers trait is an arbitrary name that's used to associate authorizer definitions to operations. The scheme property of an authorizer must correspond to the name of an authorization scheme of the service the trait is bound to. When used to generate and OpenAPI model, the aws.apigateway#authorizers trait is used to add the x-amazon-apigateway-authorizer OpenAPI extension to the generated security scheme.

See Also:
  • Field Details

    • ID

      public static final ShapeId ID
  • Method Details

    • builder

      public static AuthorizersTrait.Builder builder()
      Creates a builder for the trait.
      Returns the created builder.
    • getAuthorizer

      public Optional<AuthorizerDefinition> getAuthorizer(String name)
      Gets a specific authorizer by name.
      name - Name of the authorizer to get.
      Returns the optionally found authorizer.
    • getAuthorizers

      public Map<String,AuthorizerDefinition> getAuthorizers()
      Gets an immutable map of authorizer names to their definitions.
      Returns the authorizers.
    • toBuilder

      public AuthorizersTrait.Builder toBuilder()
      Description copied from interface: ToSmithyBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToSmithyBuilder<AuthorizersTrait>
      a builder for type T
    • createNode

      protected Node createNode()
      Description copied from class: AbstractTrait
      The result of toNode is used for hashCodes and equality. Subclasses must implement createNode to turn the trait into a Node. This is then cached for subsequent retrievals.
      Specified by:
      createNode in class AbstractTrait
      Returns the trait as a node.