# frozen_string_literal: true

# WARNING ABOUT GENERATED CODE
#
# This file is generated. See the contributing guide for more information:
# https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
#
# WARNING ABOUT GENERATED CODE


module Aws::KinesisAnalyticsV2
  # @api private
  module ClientApi

    include Seahorse::Model

    AddApplicationCloudWatchLoggingOptionRequest = Shapes::StructureShape.new(name: 'AddApplicationCloudWatchLoggingOptionRequest')
    AddApplicationCloudWatchLoggingOptionResponse = Shapes::StructureShape.new(name: 'AddApplicationCloudWatchLoggingOptionResponse')
    AddApplicationInputProcessingConfigurationRequest = Shapes::StructureShape.new(name: 'AddApplicationInputProcessingConfigurationRequest')
    AddApplicationInputProcessingConfigurationResponse = Shapes::StructureShape.new(name: 'AddApplicationInputProcessingConfigurationResponse')
    AddApplicationInputRequest = Shapes::StructureShape.new(name: 'AddApplicationInputRequest')
    AddApplicationInputResponse = Shapes::StructureShape.new(name: 'AddApplicationInputResponse')
    AddApplicationOutputRequest = Shapes::StructureShape.new(name: 'AddApplicationOutputRequest')
    AddApplicationOutputResponse = Shapes::StructureShape.new(name: 'AddApplicationOutputResponse')
    AddApplicationReferenceDataSourceRequest = Shapes::StructureShape.new(name: 'AddApplicationReferenceDataSourceRequest')
    AddApplicationReferenceDataSourceResponse = Shapes::StructureShape.new(name: 'AddApplicationReferenceDataSourceResponse')
    AddApplicationVpcConfigurationRequest = Shapes::StructureShape.new(name: 'AddApplicationVpcConfigurationRequest')
    AddApplicationVpcConfigurationResponse = Shapes::StructureShape.new(name: 'AddApplicationVpcConfigurationResponse')
    ApplicationCodeConfiguration = Shapes::StructureShape.new(name: 'ApplicationCodeConfiguration')
    ApplicationCodeConfigurationDescription = Shapes::StructureShape.new(name: 'ApplicationCodeConfigurationDescription')
    ApplicationCodeConfigurationUpdate = Shapes::StructureShape.new(name: 'ApplicationCodeConfigurationUpdate')
    ApplicationConfiguration = Shapes::StructureShape.new(name: 'ApplicationConfiguration')
    ApplicationConfigurationDescription = Shapes::StructureShape.new(name: 'ApplicationConfigurationDescription')
    ApplicationConfigurationUpdate = Shapes::StructureShape.new(name: 'ApplicationConfigurationUpdate')
    ApplicationDescription = Shapes::StringShape.new(name: 'ApplicationDescription')
    ApplicationDetail = Shapes::StructureShape.new(name: 'ApplicationDetail')
    ApplicationEncryptionConfiguration = Shapes::StructureShape.new(name: 'ApplicationEncryptionConfiguration')
    ApplicationEncryptionConfigurationDescription = Shapes::StructureShape.new(name: 'ApplicationEncryptionConfigurationDescription')
    ApplicationEncryptionConfigurationUpdate = Shapes::StructureShape.new(name: 'ApplicationEncryptionConfigurationUpdate')
    ApplicationMaintenanceConfigurationDescription = Shapes::StructureShape.new(name: 'ApplicationMaintenanceConfigurationDescription')
    ApplicationMaintenanceConfigurationUpdate = Shapes::StructureShape.new(name: 'ApplicationMaintenanceConfigurationUpdate')
    ApplicationMaintenanceWindowEndTime = Shapes::StringShape.new(name: 'ApplicationMaintenanceWindowEndTime')
    ApplicationMaintenanceWindowStartTime = Shapes::StringShape.new(name: 'ApplicationMaintenanceWindowStartTime')
    ApplicationMode = Shapes::StringShape.new(name: 'ApplicationMode')
    ApplicationName = Shapes::StringShape.new(name: 'ApplicationName')
    ApplicationOperationInfo = Shapes::StructureShape.new(name: 'ApplicationOperationInfo')
    ApplicationOperationInfoDetails = Shapes::StructureShape.new(name: 'ApplicationOperationInfoDetails')
    ApplicationOperationInfoList = Shapes::ListShape.new(name: 'ApplicationOperationInfoList')
    ApplicationRestoreConfiguration = Shapes::StructureShape.new(name: 'ApplicationRestoreConfiguration')
    ApplicationRestoreType = Shapes::StringShape.new(name: 'ApplicationRestoreType')
    ApplicationSnapshotConfiguration = Shapes::StructureShape.new(name: 'ApplicationSnapshotConfiguration')
    ApplicationSnapshotConfigurationDescription = Shapes::StructureShape.new(name: 'ApplicationSnapshotConfigurationDescription')
    ApplicationSnapshotConfigurationUpdate = Shapes::StructureShape.new(name: 'ApplicationSnapshotConfigurationUpdate')
    ApplicationStatus = Shapes::StringShape.new(name: 'ApplicationStatus')
    ApplicationSummaries = Shapes::ListShape.new(name: 'ApplicationSummaries')
    ApplicationSummary = Shapes::StructureShape.new(name: 'ApplicationSummary')
    ApplicationSystemRollbackConfiguration = Shapes::StructureShape.new(name: 'ApplicationSystemRollbackConfiguration')
    ApplicationSystemRollbackConfigurationDescription = Shapes::StructureShape.new(name: 'ApplicationSystemRollbackConfigurationDescription')
    ApplicationSystemRollbackConfigurationUpdate = Shapes::StructureShape.new(name: 'ApplicationSystemRollbackConfigurationUpdate')
    ApplicationVersionChangeDetails = Shapes::StructureShape.new(name: 'ApplicationVersionChangeDetails')
    ApplicationVersionId = Shapes::IntegerShape.new(name: 'ApplicationVersionId')
    ApplicationVersionSummaries = Shapes::ListShape.new(name: 'ApplicationVersionSummaries')
    ApplicationVersionSummary = Shapes::StructureShape.new(name: 'ApplicationVersionSummary')
    ArtifactType = Shapes::StringShape.new(name: 'ArtifactType')
    AuthorizedUrl = Shapes::StringShape.new(name: 'AuthorizedUrl')
    BasePath = Shapes::StringShape.new(name: 'BasePath')
    BooleanObject = Shapes::BooleanShape.new(name: 'BooleanObject')
    BucketARN = Shapes::StringShape.new(name: 'BucketARN')
    CSVMappingParameters = Shapes::StructureShape.new(name: 'CSVMappingParameters')
    CatalogConfiguration = Shapes::StructureShape.new(name: 'CatalogConfiguration')
    CatalogConfigurationDescription = Shapes::StructureShape.new(name: 'CatalogConfigurationDescription')
    CatalogConfigurationUpdate = Shapes::StructureShape.new(name: 'CatalogConfigurationUpdate')
    CheckpointConfiguration = Shapes::StructureShape.new(name: 'CheckpointConfiguration')
    CheckpointConfigurationDescription = Shapes::StructureShape.new(name: 'CheckpointConfigurationDescription')
    CheckpointConfigurationUpdate = Shapes::StructureShape.new(name: 'CheckpointConfigurationUpdate')
    CheckpointInterval = Shapes::IntegerShape.new(name: 'CheckpointInterval')
    CloudWatchLoggingOption = Shapes::StructureShape.new(name: 'CloudWatchLoggingOption')
    CloudWatchLoggingOptionDescription = Shapes::StructureShape.new(name: 'CloudWatchLoggingOptionDescription')
    CloudWatchLoggingOptionDescriptions = Shapes::ListShape.new(name: 'CloudWatchLoggingOptionDescriptions')
    CloudWatchLoggingOptionUpdate = Shapes::StructureShape.new(name: 'CloudWatchLoggingOptionUpdate')
    CloudWatchLoggingOptionUpdates = Shapes::ListShape.new(name: 'CloudWatchLoggingOptionUpdates')
    CloudWatchLoggingOptions = Shapes::ListShape.new(name: 'CloudWatchLoggingOptions')
    CodeContent = Shapes::StructureShape.new(name: 'CodeContent')
    CodeContentDescription = Shapes::StructureShape.new(name: 'CodeContentDescription')
    CodeContentType = Shapes::StringShape.new(name: 'CodeContentType')
    CodeContentUpdate = Shapes::StructureShape.new(name: 'CodeContentUpdate')
    CodeMD5 = Shapes::StringShape.new(name: 'CodeMD5')
    CodeSize = Shapes::IntegerShape.new(name: 'CodeSize')
    CodeValidationException = Shapes::StructureShape.new(name: 'CodeValidationException')
    ConcurrentModificationException = Shapes::StructureShape.new(name: 'ConcurrentModificationException')
    ConditionalToken = Shapes::StringShape.new(name: 'ConditionalToken')
    ConfigurationType = Shapes::StringShape.new(name: 'ConfigurationType')
    CreateApplicationPresignedUrlRequest = Shapes::StructureShape.new(name: 'CreateApplicationPresignedUrlRequest')
    CreateApplicationPresignedUrlResponse = Shapes::StructureShape.new(name: 'CreateApplicationPresignedUrlResponse')
    CreateApplicationRequest = Shapes::StructureShape.new(name: 'CreateApplicationRequest')
    CreateApplicationResponse = Shapes::StructureShape.new(name: 'CreateApplicationResponse')
    CreateApplicationSnapshotRequest = Shapes::StructureShape.new(name: 'CreateApplicationSnapshotRequest')
    CreateApplicationSnapshotResponse = Shapes::StructureShape.new(name: 'CreateApplicationSnapshotResponse')
    CustomArtifactConfiguration = Shapes::StructureShape.new(name: 'CustomArtifactConfiguration')
    CustomArtifactConfigurationDescription = Shapes::StructureShape.new(name: 'CustomArtifactConfigurationDescription')
    CustomArtifactsConfigurationDescriptionList = Shapes::ListShape.new(name: 'CustomArtifactsConfigurationDescriptionList')
    CustomArtifactsConfigurationList = Shapes::ListShape.new(name: 'CustomArtifactsConfigurationList')
    DatabaseARN = Shapes::StringShape.new(name: 'DatabaseARN')
    DeleteApplicationCloudWatchLoggingOptionRequest = Shapes::StructureShape.new(name: 'DeleteApplicationCloudWatchLoggingOptionRequest')
    DeleteApplicationCloudWatchLoggingOptionResponse = Shapes::StructureShape.new(name: 'DeleteApplicationCloudWatchLoggingOptionResponse')
    DeleteApplicationInputProcessingConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteApplicationInputProcessingConfigurationRequest')
    DeleteApplicationInputProcessingConfigurationResponse = Shapes::StructureShape.new(name: 'DeleteApplicationInputProcessingConfigurationResponse')
    DeleteApplicationOutputRequest = Shapes::StructureShape.new(name: 'DeleteApplicationOutputRequest')
    DeleteApplicationOutputResponse = Shapes::StructureShape.new(name: 'DeleteApplicationOutputResponse')
    DeleteApplicationReferenceDataSourceRequest = Shapes::StructureShape.new(name: 'DeleteApplicationReferenceDataSourceRequest')
    DeleteApplicationReferenceDataSourceResponse = Shapes::StructureShape.new(name: 'DeleteApplicationReferenceDataSourceResponse')
    DeleteApplicationRequest = Shapes::StructureShape.new(name: 'DeleteApplicationRequest')
    DeleteApplicationResponse = Shapes::StructureShape.new(name: 'DeleteApplicationResponse')
    DeleteApplicationSnapshotRequest = Shapes::StructureShape.new(name: 'DeleteApplicationSnapshotRequest')
    DeleteApplicationSnapshotResponse = Shapes::StructureShape.new(name: 'DeleteApplicationSnapshotResponse')
    DeleteApplicationVpcConfigurationRequest = Shapes::StructureShape.new(name: 'DeleteApplicationVpcConfigurationRequest')
    DeleteApplicationVpcConfigurationResponse = Shapes::StructureShape.new(name: 'DeleteApplicationVpcConfigurationResponse')
    DeployAsApplicationConfiguration = Shapes::StructureShape.new(name: 'DeployAsApplicationConfiguration')
    DeployAsApplicationConfigurationDescription = Shapes::StructureShape.new(name: 'DeployAsApplicationConfigurationDescription')
    DeployAsApplicationConfigurationUpdate = Shapes::StructureShape.new(name: 'DeployAsApplicationConfigurationUpdate')
    DescribeApplicationOperationRequest = Shapes::StructureShape.new(name: 'DescribeApplicationOperationRequest')
    DescribeApplicationOperationResponse = Shapes::StructureShape.new(name: 'DescribeApplicationOperationResponse')
    DescribeApplicationRequest = Shapes::StructureShape.new(name: 'DescribeApplicationRequest')
    DescribeApplicationResponse = Shapes::StructureShape.new(name: 'DescribeApplicationResponse')
    DescribeApplicationSnapshotRequest = Shapes::StructureShape.new(name: 'DescribeApplicationSnapshotRequest')
    DescribeApplicationSnapshotResponse = Shapes::StructureShape.new(name: 'DescribeApplicationSnapshotResponse')
    DescribeApplicationVersionRequest = Shapes::StructureShape.new(name: 'DescribeApplicationVersionRequest')
    DescribeApplicationVersionResponse = Shapes::StructureShape.new(name: 'DescribeApplicationVersionResponse')
    DestinationSchema = Shapes::StructureShape.new(name: 'DestinationSchema')
    DiscoverInputSchemaRequest = Shapes::StructureShape.new(name: 'DiscoverInputSchemaRequest')
    DiscoverInputSchemaResponse = Shapes::StructureShape.new(name: 'DiscoverInputSchemaResponse')
    EnvironmentProperties = Shapes::StructureShape.new(name: 'EnvironmentProperties')
    EnvironmentPropertyDescriptions = Shapes::StructureShape.new(name: 'EnvironmentPropertyDescriptions')
    EnvironmentPropertyUpdates = Shapes::StructureShape.new(name: 'EnvironmentPropertyUpdates')
    ErrorInfo = Shapes::StructureShape.new(name: 'ErrorInfo')
    ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
    ErrorString = Shapes::StringShape.new(name: 'ErrorString')
    FileKey = Shapes::StringShape.new(name: 'FileKey')
    FlinkApplicationConfiguration = Shapes::StructureShape.new(name: 'FlinkApplicationConfiguration')
    FlinkApplicationConfigurationDescription = Shapes::StructureShape.new(name: 'FlinkApplicationConfigurationDescription')
    FlinkApplicationConfigurationUpdate = Shapes::StructureShape.new(name: 'FlinkApplicationConfigurationUpdate')
    FlinkRunConfiguration = Shapes::StructureShape.new(name: 'FlinkRunConfiguration')
    GlueDataCatalogConfiguration = Shapes::StructureShape.new(name: 'GlueDataCatalogConfiguration')
    GlueDataCatalogConfigurationDescription = Shapes::StructureShape.new(name: 'GlueDataCatalogConfigurationDescription')
    GlueDataCatalogConfigurationUpdate = Shapes::StructureShape.new(name: 'GlueDataCatalogConfigurationUpdate')
    Id = Shapes::StringShape.new(name: 'Id')
    InAppStreamName = Shapes::StringShape.new(name: 'InAppStreamName')
    InAppStreamNames = Shapes::ListShape.new(name: 'InAppStreamNames')
    InAppTableName = Shapes::StringShape.new(name: 'InAppTableName')
    Input = Shapes::StructureShape.new(name: 'Input')
    InputDescription = Shapes::StructureShape.new(name: 'InputDescription')
    InputDescriptions = Shapes::ListShape.new(name: 'InputDescriptions')
    InputLambdaProcessor = Shapes::StructureShape.new(name: 'InputLambdaProcessor')
    InputLambdaProcessorDescription = Shapes::StructureShape.new(name: 'InputLambdaProcessorDescription')
    InputLambdaProcessorUpdate = Shapes::StructureShape.new(name: 'InputLambdaProcessorUpdate')
    InputParallelism = Shapes::StructureShape.new(name: 'InputParallelism')
    InputParallelismCount = Shapes::IntegerShape.new(name: 'InputParallelismCount')
    InputParallelismUpdate = Shapes::StructureShape.new(name: 'InputParallelismUpdate')
    InputProcessingConfiguration = Shapes::StructureShape.new(name: 'InputProcessingConfiguration')
    InputProcessingConfigurationDescription = Shapes::StructureShape.new(name: 'InputProcessingConfigurationDescription')
    InputProcessingConfigurationUpdate = Shapes::StructureShape.new(name: 'InputProcessingConfigurationUpdate')
    InputSchemaUpdate = Shapes::StructureShape.new(name: 'InputSchemaUpdate')
    InputStartingPosition = Shapes::StringShape.new(name: 'InputStartingPosition')
    InputStartingPositionConfiguration = Shapes::StructureShape.new(name: 'InputStartingPositionConfiguration')
    InputUpdate = Shapes::StructureShape.new(name: 'InputUpdate')
    InputUpdates = Shapes::ListShape.new(name: 'InputUpdates')
    Inputs = Shapes::ListShape.new(name: 'Inputs')
    InvalidApplicationConfigurationException = Shapes::StructureShape.new(name: 'InvalidApplicationConfigurationException')
    InvalidArgumentException = Shapes::StructureShape.new(name: 'InvalidArgumentException')
    InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
    JSONMappingParameters = Shapes::StructureShape.new(name: 'JSONMappingParameters')
    JobPlanDescription = Shapes::StringShape.new(name: 'JobPlanDescription')
    KeyId = Shapes::StringShape.new(name: 'KeyId')
    KeyType = Shapes::StringShape.new(name: 'KeyType')
    KinesisAnalyticsARN = Shapes::StringShape.new(name: 'KinesisAnalyticsARN')
    KinesisFirehoseInput = Shapes::StructureShape.new(name: 'KinesisFirehoseInput')
    KinesisFirehoseInputDescription = Shapes::StructureShape.new(name: 'KinesisFirehoseInputDescription')
    KinesisFirehoseInputUpdate = Shapes::StructureShape.new(name: 'KinesisFirehoseInputUpdate')
    KinesisFirehoseOutput = Shapes::StructureShape.new(name: 'KinesisFirehoseOutput')
    KinesisFirehoseOutputDescription = Shapes::StructureShape.new(name: 'KinesisFirehoseOutputDescription')
    KinesisFirehoseOutputUpdate = Shapes::StructureShape.new(name: 'KinesisFirehoseOutputUpdate')
    KinesisStreamsInput = Shapes::StructureShape.new(name: 'KinesisStreamsInput')
    KinesisStreamsInputDescription = Shapes::StructureShape.new(name: 'KinesisStreamsInputDescription')
    KinesisStreamsInputUpdate = Shapes::StructureShape.new(name: 'KinesisStreamsInputUpdate')
    KinesisStreamsOutput = Shapes::StructureShape.new(name: 'KinesisStreamsOutput')
    KinesisStreamsOutputDescription = Shapes::StructureShape.new(name: 'KinesisStreamsOutputDescription')
    KinesisStreamsOutputUpdate = Shapes::StructureShape.new(name: 'KinesisStreamsOutputUpdate')
    LambdaOutput = Shapes::StructureShape.new(name: 'LambdaOutput')
    LambdaOutputDescription = Shapes::StructureShape.new(name: 'LambdaOutputDescription')
    LambdaOutputUpdate = Shapes::StructureShape.new(name: 'LambdaOutputUpdate')
    LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
    ListApplicationOperationsInputLimit = Shapes::IntegerShape.new(name: 'ListApplicationOperationsInputLimit')
    ListApplicationOperationsRequest = Shapes::StructureShape.new(name: 'ListApplicationOperationsRequest')
    ListApplicationOperationsResponse = Shapes::StructureShape.new(name: 'ListApplicationOperationsResponse')
    ListApplicationSnapshotsRequest = Shapes::StructureShape.new(name: 'ListApplicationSnapshotsRequest')
    ListApplicationSnapshotsResponse = Shapes::StructureShape.new(name: 'ListApplicationSnapshotsResponse')
    ListApplicationVersionsInputLimit = Shapes::IntegerShape.new(name: 'ListApplicationVersionsInputLimit')
    ListApplicationVersionsRequest = Shapes::StructureShape.new(name: 'ListApplicationVersionsRequest')
    ListApplicationVersionsResponse = Shapes::StructureShape.new(name: 'ListApplicationVersionsResponse')
    ListApplicationsInputLimit = Shapes::IntegerShape.new(name: 'ListApplicationsInputLimit')
    ListApplicationsRequest = Shapes::StructureShape.new(name: 'ListApplicationsRequest')
    ListApplicationsResponse = Shapes::StructureShape.new(name: 'ListApplicationsResponse')
    ListSnapshotsInputLimit = Shapes::IntegerShape.new(name: 'ListSnapshotsInputLimit')
    ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
    ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
    LogLevel = Shapes::StringShape.new(name: 'LogLevel')
    LogStreamARN = Shapes::StringShape.new(name: 'LogStreamARN')
    MappingParameters = Shapes::StructureShape.new(name: 'MappingParameters')
    MavenArtifactId = Shapes::StringShape.new(name: 'MavenArtifactId')
    MavenGroupId = Shapes::StringShape.new(name: 'MavenGroupId')
    MavenReference = Shapes::StructureShape.new(name: 'MavenReference')
    MavenVersion = Shapes::StringShape.new(name: 'MavenVersion')
    MetricsLevel = Shapes::StringShape.new(name: 'MetricsLevel')
    MinPauseBetweenCheckpoints = Shapes::IntegerShape.new(name: 'MinPauseBetweenCheckpoints')
    MonitoringConfiguration = Shapes::StructureShape.new(name: 'MonitoringConfiguration')
    MonitoringConfigurationDescription = Shapes::StructureShape.new(name: 'MonitoringConfigurationDescription')
    MonitoringConfigurationUpdate = Shapes::StructureShape.new(name: 'MonitoringConfigurationUpdate')
    NextToken = Shapes::StringShape.new(name: 'NextToken')
    ObjectVersion = Shapes::StringShape.new(name: 'ObjectVersion')
    Operation = Shapes::StringShape.new(name: 'Operation')
    OperationFailureDetails = Shapes::StructureShape.new(name: 'OperationFailureDetails')
    OperationId = Shapes::StringShape.new(name: 'OperationId')
    OperationStatus = Shapes::StringShape.new(name: 'OperationStatus')
    Output = Shapes::StructureShape.new(name: 'Output')
    OutputDescription = Shapes::StructureShape.new(name: 'OutputDescription')
    OutputDescriptions = Shapes::ListShape.new(name: 'OutputDescriptions')
    OutputUpdate = Shapes::StructureShape.new(name: 'OutputUpdate')
    OutputUpdates = Shapes::ListShape.new(name: 'OutputUpdates')
    Outputs = Shapes::ListShape.new(name: 'Outputs')
    Parallelism = Shapes::IntegerShape.new(name: 'Parallelism')
    ParallelismConfiguration = Shapes::StructureShape.new(name: 'ParallelismConfiguration')
    ParallelismConfigurationDescription = Shapes::StructureShape.new(name: 'ParallelismConfigurationDescription')
    ParallelismConfigurationUpdate = Shapes::StructureShape.new(name: 'ParallelismConfigurationUpdate')
    ParallelismPerKPU = Shapes::IntegerShape.new(name: 'ParallelismPerKPU')
    ParsedInputRecord = Shapes::ListShape.new(name: 'ParsedInputRecord')
    ParsedInputRecordField = Shapes::StringShape.new(name: 'ParsedInputRecordField')
    ParsedInputRecords = Shapes::ListShape.new(name: 'ParsedInputRecords')
    ProcessedInputRecord = Shapes::StringShape.new(name: 'ProcessedInputRecord')
    ProcessedInputRecords = Shapes::ListShape.new(name: 'ProcessedInputRecords')
    PropertyGroup = Shapes::StructureShape.new(name: 'PropertyGroup')
    PropertyGroups = Shapes::ListShape.new(name: 'PropertyGroups')
    PropertyKey = Shapes::StringShape.new(name: 'PropertyKey')
    PropertyMap = Shapes::MapShape.new(name: 'PropertyMap')
    PropertyValue = Shapes::StringShape.new(name: 'PropertyValue')
    RawInputRecord = Shapes::StringShape.new(name: 'RawInputRecord')
    RawInputRecords = Shapes::ListShape.new(name: 'RawInputRecords')
    RecordColumn = Shapes::StructureShape.new(name: 'RecordColumn')
    RecordColumnDelimiter = Shapes::StringShape.new(name: 'RecordColumnDelimiter')
    RecordColumnMapping = Shapes::StringShape.new(name: 'RecordColumnMapping')
    RecordColumnName = Shapes::StringShape.new(name: 'RecordColumnName')
    RecordColumnSqlType = Shapes::StringShape.new(name: 'RecordColumnSqlType')
    RecordColumns = Shapes::ListShape.new(name: 'RecordColumns')
    RecordEncoding = Shapes::StringShape.new(name: 'RecordEncoding')
    RecordFormat = Shapes::StructureShape.new(name: 'RecordFormat')
    RecordFormatType = Shapes::StringShape.new(name: 'RecordFormatType')
    RecordRowDelimiter = Shapes::StringShape.new(name: 'RecordRowDelimiter')
    RecordRowPath = Shapes::StringShape.new(name: 'RecordRowPath')
    ReferenceDataSource = Shapes::StructureShape.new(name: 'ReferenceDataSource')
    ReferenceDataSourceDescription = Shapes::StructureShape.new(name: 'ReferenceDataSourceDescription')
    ReferenceDataSourceDescriptions = Shapes::ListShape.new(name: 'ReferenceDataSourceDescriptions')
    ReferenceDataSourceUpdate = Shapes::StructureShape.new(name: 'ReferenceDataSourceUpdate')
    ReferenceDataSourceUpdates = Shapes::ListShape.new(name: 'ReferenceDataSourceUpdates')
    ReferenceDataSources = Shapes::ListShape.new(name: 'ReferenceDataSources')
    ResourceARN = Shapes::StringShape.new(name: 'ResourceARN')
    ResourceInUseException = Shapes::StructureShape.new(name: 'ResourceInUseException')
    ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
    ResourceProvisionedThroughputExceededException = Shapes::StructureShape.new(name: 'ResourceProvisionedThroughputExceededException')
    RoleARN = Shapes::StringShape.new(name: 'RoleARN')
    RollbackApplicationRequest = Shapes::StructureShape.new(name: 'RollbackApplicationRequest')
    RollbackApplicationResponse = Shapes::StructureShape.new(name: 'RollbackApplicationResponse')
    RunConfiguration = Shapes::StructureShape.new(name: 'RunConfiguration')
    RunConfigurationDescription = Shapes::StructureShape.new(name: 'RunConfigurationDescription')
    RunConfigurationUpdate = Shapes::StructureShape.new(name: 'RunConfigurationUpdate')
    RuntimeEnvironment = Shapes::StringShape.new(name: 'RuntimeEnvironment')
    S3ApplicationCodeLocationDescription = Shapes::StructureShape.new(name: 'S3ApplicationCodeLocationDescription')
    S3Configuration = Shapes::StructureShape.new(name: 'S3Configuration')
    S3ContentBaseLocation = Shapes::StructureShape.new(name: 'S3ContentBaseLocation')
    S3ContentBaseLocationDescription = Shapes::StructureShape.new(name: 'S3ContentBaseLocationDescription')
    S3ContentBaseLocationUpdate = Shapes::StructureShape.new(name: 'S3ContentBaseLocationUpdate')
    S3ContentLocation = Shapes::StructureShape.new(name: 'S3ContentLocation')
    S3ContentLocationUpdate = Shapes::StructureShape.new(name: 'S3ContentLocationUpdate')
    S3ReferenceDataSource = Shapes::StructureShape.new(name: 'S3ReferenceDataSource')
    S3ReferenceDataSourceDescription = Shapes::StructureShape.new(name: 'S3ReferenceDataSourceDescription')
    S3ReferenceDataSourceUpdate = Shapes::StructureShape.new(name: 'S3ReferenceDataSourceUpdate')
    SecurityGroupId = Shapes::StringShape.new(name: 'SecurityGroupId')
    SecurityGroupIds = Shapes::ListShape.new(name: 'SecurityGroupIds')
    ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
    SessionExpirationDurationInSeconds = Shapes::IntegerShape.new(name: 'SessionExpirationDurationInSeconds')
    SnapshotDetails = Shapes::StructureShape.new(name: 'SnapshotDetails')
    SnapshotName = Shapes::StringShape.new(name: 'SnapshotName')
    SnapshotStatus = Shapes::StringShape.new(name: 'SnapshotStatus')
    SnapshotSummaries = Shapes::ListShape.new(name: 'SnapshotSummaries')
    SourceSchema = Shapes::StructureShape.new(name: 'SourceSchema')
    SqlApplicationConfiguration = Shapes::StructureShape.new(name: 'SqlApplicationConfiguration')
    SqlApplicationConfigurationDescription = Shapes::StructureShape.new(name: 'SqlApplicationConfigurationDescription')
    SqlApplicationConfigurationUpdate = Shapes::StructureShape.new(name: 'SqlApplicationConfigurationUpdate')
    SqlRunConfiguration = Shapes::StructureShape.new(name: 'SqlRunConfiguration')
    SqlRunConfigurations = Shapes::ListShape.new(name: 'SqlRunConfigurations')
    StartApplicationRequest = Shapes::StructureShape.new(name: 'StartApplicationRequest')
    StartApplicationResponse = Shapes::StructureShape.new(name: 'StartApplicationResponse')
    StopApplicationRequest = Shapes::StructureShape.new(name: 'StopApplicationRequest')
    StopApplicationResponse = Shapes::StructureShape.new(name: 'StopApplicationResponse')
    SubnetId = Shapes::StringShape.new(name: 'SubnetId')
    SubnetIds = Shapes::ListShape.new(name: 'SubnetIds')
    Tag = Shapes::StructureShape.new(name: 'Tag')
    TagKey = Shapes::StringShape.new(name: 'TagKey')
    TagKeys = Shapes::ListShape.new(name: 'TagKeys')
    TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
    TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
    TagValue = Shapes::StringShape.new(name: 'TagValue')
    Tags = Shapes::ListShape.new(name: 'Tags')
    TextContent = Shapes::StringShape.new(name: 'TextContent')
    Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
    TooManyTagsException = Shapes::StructureShape.new(name: 'TooManyTagsException')
    UnableToDetectSchemaException = Shapes::StructureShape.new(name: 'UnableToDetectSchemaException')
    UnsupportedOperationException = Shapes::StructureShape.new(name: 'UnsupportedOperationException')
    UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
    UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
    UpdateApplicationMaintenanceConfigurationRequest = Shapes::StructureShape.new(name: 'UpdateApplicationMaintenanceConfigurationRequest')
    UpdateApplicationMaintenanceConfigurationResponse = Shapes::StructureShape.new(name: 'UpdateApplicationMaintenanceConfigurationResponse')
    UpdateApplicationRequest = Shapes::StructureShape.new(name: 'UpdateApplicationRequest')
    UpdateApplicationResponse = Shapes::StructureShape.new(name: 'UpdateApplicationResponse')
    UrlType = Shapes::StringShape.new(name: 'UrlType')
    VpcConfiguration = Shapes::StructureShape.new(name: 'VpcConfiguration')
    VpcConfigurationDescription = Shapes::StructureShape.new(name: 'VpcConfigurationDescription')
    VpcConfigurationDescriptions = Shapes::ListShape.new(name: 'VpcConfigurationDescriptions')
    VpcConfigurationUpdate = Shapes::StructureShape.new(name: 'VpcConfigurationUpdate')
    VpcConfigurationUpdates = Shapes::ListShape.new(name: 'VpcConfigurationUpdates')
    VpcConfigurations = Shapes::ListShape.new(name: 'VpcConfigurations')
    VpcId = Shapes::StringShape.new(name: 'VpcId')
    ZeppelinApplicationConfiguration = Shapes::StructureShape.new(name: 'ZeppelinApplicationConfiguration')
    ZeppelinApplicationConfigurationDescription = Shapes::StructureShape.new(name: 'ZeppelinApplicationConfigurationDescription')
    ZeppelinApplicationConfigurationUpdate = Shapes::StructureShape.new(name: 'ZeppelinApplicationConfigurationUpdate')
    ZeppelinMonitoringConfiguration = Shapes::StructureShape.new(name: 'ZeppelinMonitoringConfiguration')
    ZeppelinMonitoringConfigurationDescription = Shapes::StructureShape.new(name: 'ZeppelinMonitoringConfigurationDescription')
    ZeppelinMonitoringConfigurationUpdate = Shapes::StructureShape.new(name: 'ZeppelinMonitoringConfigurationUpdate')
    ZipFileContent = Shapes::BlobShape.new(name: 'ZipFileContent')

    AddApplicationCloudWatchLoggingOptionRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    AddApplicationCloudWatchLoggingOptionRequest.add_member(:current_application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "CurrentApplicationVersionId"))
    AddApplicationCloudWatchLoggingOptionRequest.add_member(:cloud_watch_logging_option, Shapes::ShapeRef.new(shape: CloudWatchLoggingOption, required: true, location_name: "CloudWatchLoggingOption"))
    AddApplicationCloudWatchLoggingOptionRequest.add_member(:conditional_token, Shapes::ShapeRef.new(shape: ConditionalToken, location_name: "ConditionalToken"))
    AddApplicationCloudWatchLoggingOptionRequest.struct_class = Types::AddApplicationCloudWatchLoggingOptionRequest

    AddApplicationCloudWatchLoggingOptionResponse.add_member(:application_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ApplicationARN"))
    AddApplicationCloudWatchLoggingOptionResponse.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "ApplicationVersionId"))
    AddApplicationCloudWatchLoggingOptionResponse.add_member(:cloud_watch_logging_option_descriptions, Shapes::ShapeRef.new(shape: CloudWatchLoggingOptionDescriptions, location_name: "CloudWatchLoggingOptionDescriptions"))
    AddApplicationCloudWatchLoggingOptionResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
    AddApplicationCloudWatchLoggingOptionResponse.struct_class = Types::AddApplicationCloudWatchLoggingOptionResponse

    AddApplicationInputProcessingConfigurationRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    AddApplicationInputProcessingConfigurationRequest.add_member(:current_application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, required: true, location_name: "CurrentApplicationVersionId"))
    AddApplicationInputProcessingConfigurationRequest.add_member(:input_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "InputId"))
    AddApplicationInputProcessingConfigurationRequest.add_member(:input_processing_configuration, Shapes::ShapeRef.new(shape: InputProcessingConfiguration, required: true, location_name: "InputProcessingConfiguration"))
    AddApplicationInputProcessingConfigurationRequest.struct_class = Types::AddApplicationInputProcessingConfigurationRequest

    AddApplicationInputProcessingConfigurationResponse.add_member(:application_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ApplicationARN"))
    AddApplicationInputProcessingConfigurationResponse.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "ApplicationVersionId"))
    AddApplicationInputProcessingConfigurationResponse.add_member(:input_id, Shapes::ShapeRef.new(shape: Id, location_name: "InputId"))
    AddApplicationInputProcessingConfigurationResponse.add_member(:input_processing_configuration_description, Shapes::ShapeRef.new(shape: InputProcessingConfigurationDescription, location_name: "InputProcessingConfigurationDescription"))
    AddApplicationInputProcessingConfigurationResponse.struct_class = Types::AddApplicationInputProcessingConfigurationResponse

    AddApplicationInputRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    AddApplicationInputRequest.add_member(:current_application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, required: true, location_name: "CurrentApplicationVersionId"))
    AddApplicationInputRequest.add_member(:input, Shapes::ShapeRef.new(shape: Input, required: true, location_name: "Input"))
    AddApplicationInputRequest.struct_class = Types::AddApplicationInputRequest

    AddApplicationInputResponse.add_member(:application_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ApplicationARN"))
    AddApplicationInputResponse.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "ApplicationVersionId"))
    AddApplicationInputResponse.add_member(:input_descriptions, Shapes::ShapeRef.new(shape: InputDescriptions, location_name: "InputDescriptions"))
    AddApplicationInputResponse.struct_class = Types::AddApplicationInputResponse

    AddApplicationOutputRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    AddApplicationOutputRequest.add_member(:current_application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, required: true, location_name: "CurrentApplicationVersionId"))
    AddApplicationOutputRequest.add_member(:output, Shapes::ShapeRef.new(shape: Output, required: true, location_name: "Output"))
    AddApplicationOutputRequest.struct_class = Types::AddApplicationOutputRequest

    AddApplicationOutputResponse.add_member(:application_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ApplicationARN"))
    AddApplicationOutputResponse.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "ApplicationVersionId"))
    AddApplicationOutputResponse.add_member(:output_descriptions, Shapes::ShapeRef.new(shape: OutputDescriptions, location_name: "OutputDescriptions"))
    AddApplicationOutputResponse.struct_class = Types::AddApplicationOutputResponse

    AddApplicationReferenceDataSourceRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    AddApplicationReferenceDataSourceRequest.add_member(:current_application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, required: true, location_name: "CurrentApplicationVersionId"))
    AddApplicationReferenceDataSourceRequest.add_member(:reference_data_source, Shapes::ShapeRef.new(shape: ReferenceDataSource, required: true, location_name: "ReferenceDataSource"))
    AddApplicationReferenceDataSourceRequest.struct_class = Types::AddApplicationReferenceDataSourceRequest

    AddApplicationReferenceDataSourceResponse.add_member(:application_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ApplicationARN"))
    AddApplicationReferenceDataSourceResponse.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "ApplicationVersionId"))
    AddApplicationReferenceDataSourceResponse.add_member(:reference_data_source_descriptions, Shapes::ShapeRef.new(shape: ReferenceDataSourceDescriptions, location_name: "ReferenceDataSourceDescriptions"))
    AddApplicationReferenceDataSourceResponse.struct_class = Types::AddApplicationReferenceDataSourceResponse

    AddApplicationVpcConfigurationRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    AddApplicationVpcConfigurationRequest.add_member(:current_application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "CurrentApplicationVersionId"))
    AddApplicationVpcConfigurationRequest.add_member(:vpc_configuration, Shapes::ShapeRef.new(shape: VpcConfiguration, required: true, location_name: "VpcConfiguration"))
    AddApplicationVpcConfigurationRequest.add_member(:conditional_token, Shapes::ShapeRef.new(shape: ConditionalToken, location_name: "ConditionalToken"))
    AddApplicationVpcConfigurationRequest.struct_class = Types::AddApplicationVpcConfigurationRequest

    AddApplicationVpcConfigurationResponse.add_member(:application_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ApplicationARN"))
    AddApplicationVpcConfigurationResponse.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "ApplicationVersionId"))
    AddApplicationVpcConfigurationResponse.add_member(:vpc_configuration_description, Shapes::ShapeRef.new(shape: VpcConfigurationDescription, location_name: "VpcConfigurationDescription"))
    AddApplicationVpcConfigurationResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
    AddApplicationVpcConfigurationResponse.struct_class = Types::AddApplicationVpcConfigurationResponse

    ApplicationCodeConfiguration.add_member(:code_content, Shapes::ShapeRef.new(shape: CodeContent, location_name: "CodeContent"))
    ApplicationCodeConfiguration.add_member(:code_content_type, Shapes::ShapeRef.new(shape: CodeContentType, required: true, location_name: "CodeContentType"))
    ApplicationCodeConfiguration.struct_class = Types::ApplicationCodeConfiguration

    ApplicationCodeConfigurationDescription.add_member(:code_content_type, Shapes::ShapeRef.new(shape: CodeContentType, required: true, location_name: "CodeContentType"))
    ApplicationCodeConfigurationDescription.add_member(:code_content_description, Shapes::ShapeRef.new(shape: CodeContentDescription, location_name: "CodeContentDescription"))
    ApplicationCodeConfigurationDescription.struct_class = Types::ApplicationCodeConfigurationDescription

    ApplicationCodeConfigurationUpdate.add_member(:code_content_type_update, Shapes::ShapeRef.new(shape: CodeContentType, location_name: "CodeContentTypeUpdate"))
    ApplicationCodeConfigurationUpdate.add_member(:code_content_update, Shapes::ShapeRef.new(shape: CodeContentUpdate, location_name: "CodeContentUpdate"))
    ApplicationCodeConfigurationUpdate.struct_class = Types::ApplicationCodeConfigurationUpdate

    ApplicationConfiguration.add_member(:sql_application_configuration, Shapes::ShapeRef.new(shape: SqlApplicationConfiguration, location_name: "SqlApplicationConfiguration"))
    ApplicationConfiguration.add_member(:flink_application_configuration, Shapes::ShapeRef.new(shape: FlinkApplicationConfiguration, location_name: "FlinkApplicationConfiguration"))
    ApplicationConfiguration.add_member(:environment_properties, Shapes::ShapeRef.new(shape: EnvironmentProperties, location_name: "EnvironmentProperties"))
    ApplicationConfiguration.add_member(:application_code_configuration, Shapes::ShapeRef.new(shape: ApplicationCodeConfiguration, location_name: "ApplicationCodeConfiguration"))
    ApplicationConfiguration.add_member(:application_snapshot_configuration, Shapes::ShapeRef.new(shape: ApplicationSnapshotConfiguration, location_name: "ApplicationSnapshotConfiguration"))
    ApplicationConfiguration.add_member(:application_system_rollback_configuration, Shapes::ShapeRef.new(shape: ApplicationSystemRollbackConfiguration, location_name: "ApplicationSystemRollbackConfiguration"))
    ApplicationConfiguration.add_member(:vpc_configurations, Shapes::ShapeRef.new(shape: VpcConfigurations, location_name: "VpcConfigurations"))
    ApplicationConfiguration.add_member(:zeppelin_application_configuration, Shapes::ShapeRef.new(shape: ZeppelinApplicationConfiguration, location_name: "ZeppelinApplicationConfiguration"))
    ApplicationConfiguration.add_member(:application_encryption_configuration, Shapes::ShapeRef.new(shape: ApplicationEncryptionConfiguration, location_name: "ApplicationEncryptionConfiguration"))
    ApplicationConfiguration.struct_class = Types::ApplicationConfiguration

    ApplicationConfigurationDescription.add_member(:sql_application_configuration_description, Shapes::ShapeRef.new(shape: SqlApplicationConfigurationDescription, location_name: "SqlApplicationConfigurationDescription"))
    ApplicationConfigurationDescription.add_member(:application_code_configuration_description, Shapes::ShapeRef.new(shape: ApplicationCodeConfigurationDescription, location_name: "ApplicationCodeConfigurationDescription"))
    ApplicationConfigurationDescription.add_member(:run_configuration_description, Shapes::ShapeRef.new(shape: RunConfigurationDescription, location_name: "RunConfigurationDescription"))
    ApplicationConfigurationDescription.add_member(:flink_application_configuration_description, Shapes::ShapeRef.new(shape: FlinkApplicationConfigurationDescription, location_name: "FlinkApplicationConfigurationDescription"))
    ApplicationConfigurationDescription.add_member(:environment_property_descriptions, Shapes::ShapeRef.new(shape: EnvironmentPropertyDescriptions, location_name: "EnvironmentPropertyDescriptions"))
    ApplicationConfigurationDescription.add_member(:application_snapshot_configuration_description, Shapes::ShapeRef.new(shape: ApplicationSnapshotConfigurationDescription, location_name: "ApplicationSnapshotConfigurationDescription"))
    ApplicationConfigurationDescription.add_member(:application_system_rollback_configuration_description, Shapes::ShapeRef.new(shape: ApplicationSystemRollbackConfigurationDescription, location_name: "ApplicationSystemRollbackConfigurationDescription"))
    ApplicationConfigurationDescription.add_member(:vpc_configuration_descriptions, Shapes::ShapeRef.new(shape: VpcConfigurationDescriptions, location_name: "VpcConfigurationDescriptions"))
    ApplicationConfigurationDescription.add_member(:zeppelin_application_configuration_description, Shapes::ShapeRef.new(shape: ZeppelinApplicationConfigurationDescription, location_name: "ZeppelinApplicationConfigurationDescription"))
    ApplicationConfigurationDescription.add_member(:application_encryption_configuration_description, Shapes::ShapeRef.new(shape: ApplicationEncryptionConfigurationDescription, location_name: "ApplicationEncryptionConfigurationDescription"))
    ApplicationConfigurationDescription.struct_class = Types::ApplicationConfigurationDescription

    ApplicationConfigurationUpdate.add_member(:sql_application_configuration_update, Shapes::ShapeRef.new(shape: SqlApplicationConfigurationUpdate, location_name: "SqlApplicationConfigurationUpdate"))
    ApplicationConfigurationUpdate.add_member(:application_code_configuration_update, Shapes::ShapeRef.new(shape: ApplicationCodeConfigurationUpdate, location_name: "ApplicationCodeConfigurationUpdate"))
    ApplicationConfigurationUpdate.add_member(:flink_application_configuration_update, Shapes::ShapeRef.new(shape: FlinkApplicationConfigurationUpdate, location_name: "FlinkApplicationConfigurationUpdate"))
    ApplicationConfigurationUpdate.add_member(:environment_property_updates, Shapes::ShapeRef.new(shape: EnvironmentPropertyUpdates, location_name: "EnvironmentPropertyUpdates"))
    ApplicationConfigurationUpdate.add_member(:application_snapshot_configuration_update, Shapes::ShapeRef.new(shape: ApplicationSnapshotConfigurationUpdate, location_name: "ApplicationSnapshotConfigurationUpdate"))
    ApplicationConfigurationUpdate.add_member(:application_system_rollback_configuration_update, Shapes::ShapeRef.new(shape: ApplicationSystemRollbackConfigurationUpdate, location_name: "ApplicationSystemRollbackConfigurationUpdate"))
    ApplicationConfigurationUpdate.add_member(:vpc_configuration_updates, Shapes::ShapeRef.new(shape: VpcConfigurationUpdates, location_name: "VpcConfigurationUpdates"))
    ApplicationConfigurationUpdate.add_member(:zeppelin_application_configuration_update, Shapes::ShapeRef.new(shape: ZeppelinApplicationConfigurationUpdate, location_name: "ZeppelinApplicationConfigurationUpdate"))
    ApplicationConfigurationUpdate.add_member(:application_encryption_configuration_update, Shapes::ShapeRef.new(shape: ApplicationEncryptionConfigurationUpdate, location_name: "ApplicationEncryptionConfigurationUpdate"))
    ApplicationConfigurationUpdate.struct_class = Types::ApplicationConfigurationUpdate

    ApplicationDetail.add_member(:application_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ApplicationARN"))
    ApplicationDetail.add_member(:application_description, Shapes::ShapeRef.new(shape: ApplicationDescription, location_name: "ApplicationDescription"))
    ApplicationDetail.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    ApplicationDetail.add_member(:runtime_environment, Shapes::ShapeRef.new(shape: RuntimeEnvironment, required: true, location_name: "RuntimeEnvironment"))
    ApplicationDetail.add_member(:service_execution_role, Shapes::ShapeRef.new(shape: RoleARN, location_name: "ServiceExecutionRole"))
    ApplicationDetail.add_member(:application_status, Shapes::ShapeRef.new(shape: ApplicationStatus, required: true, location_name: "ApplicationStatus"))
    ApplicationDetail.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, required: true, location_name: "ApplicationVersionId"))
    ApplicationDetail.add_member(:create_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "CreateTimestamp"))
    ApplicationDetail.add_member(:last_update_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "LastUpdateTimestamp"))
    ApplicationDetail.add_member(:application_configuration_description, Shapes::ShapeRef.new(shape: ApplicationConfigurationDescription, location_name: "ApplicationConfigurationDescription"))
    ApplicationDetail.add_member(:cloud_watch_logging_option_descriptions, Shapes::ShapeRef.new(shape: CloudWatchLoggingOptionDescriptions, location_name: "CloudWatchLoggingOptionDescriptions"))
    ApplicationDetail.add_member(:application_maintenance_configuration_description, Shapes::ShapeRef.new(shape: ApplicationMaintenanceConfigurationDescription, location_name: "ApplicationMaintenanceConfigurationDescription"))
    ApplicationDetail.add_member(:application_version_updated_from, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "ApplicationVersionUpdatedFrom"))
    ApplicationDetail.add_member(:application_version_rolled_back_from, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "ApplicationVersionRolledBackFrom"))
    ApplicationDetail.add_member(:application_version_create_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "ApplicationVersionCreateTimestamp"))
    ApplicationDetail.add_member(:conditional_token, Shapes::ShapeRef.new(shape: ConditionalToken, location_name: "ConditionalToken"))
    ApplicationDetail.add_member(:application_version_rolled_back_to, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "ApplicationVersionRolledBackTo"))
    ApplicationDetail.add_member(:application_mode, Shapes::ShapeRef.new(shape: ApplicationMode, location_name: "ApplicationMode"))
    ApplicationDetail.struct_class = Types::ApplicationDetail

    ApplicationEncryptionConfiguration.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyId, location_name: "KeyId"))
    ApplicationEncryptionConfiguration.add_member(:key_type, Shapes::ShapeRef.new(shape: KeyType, required: true, location_name: "KeyType"))
    ApplicationEncryptionConfiguration.struct_class = Types::ApplicationEncryptionConfiguration

    ApplicationEncryptionConfigurationDescription.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyId, location_name: "KeyId"))
    ApplicationEncryptionConfigurationDescription.add_member(:key_type, Shapes::ShapeRef.new(shape: KeyType, required: true, location_name: "KeyType"))
    ApplicationEncryptionConfigurationDescription.struct_class = Types::ApplicationEncryptionConfigurationDescription

    ApplicationEncryptionConfigurationUpdate.add_member(:key_id_update, Shapes::ShapeRef.new(shape: KeyId, location_name: "KeyIdUpdate"))
    ApplicationEncryptionConfigurationUpdate.add_member(:key_type_update, Shapes::ShapeRef.new(shape: KeyType, required: true, location_name: "KeyTypeUpdate"))
    ApplicationEncryptionConfigurationUpdate.struct_class = Types::ApplicationEncryptionConfigurationUpdate

    ApplicationMaintenanceConfigurationDescription.add_member(:application_maintenance_window_start_time, Shapes::ShapeRef.new(shape: ApplicationMaintenanceWindowStartTime, required: true, location_name: "ApplicationMaintenanceWindowStartTime"))
    ApplicationMaintenanceConfigurationDescription.add_member(:application_maintenance_window_end_time, Shapes::ShapeRef.new(shape: ApplicationMaintenanceWindowEndTime, required: true, location_name: "ApplicationMaintenanceWindowEndTime"))
    ApplicationMaintenanceConfigurationDescription.struct_class = Types::ApplicationMaintenanceConfigurationDescription

    ApplicationMaintenanceConfigurationUpdate.add_member(:application_maintenance_window_start_time_update, Shapes::ShapeRef.new(shape: ApplicationMaintenanceWindowStartTime, required: true, location_name: "ApplicationMaintenanceWindowStartTimeUpdate"))
    ApplicationMaintenanceConfigurationUpdate.struct_class = Types::ApplicationMaintenanceConfigurationUpdate

    ApplicationOperationInfo.add_member(:operation, Shapes::ShapeRef.new(shape: Operation, location_name: "Operation"))
    ApplicationOperationInfo.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
    ApplicationOperationInfo.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "StartTime"))
    ApplicationOperationInfo.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, location_name: "EndTime"))
    ApplicationOperationInfo.add_member(:operation_status, Shapes::ShapeRef.new(shape: OperationStatus, location_name: "OperationStatus"))
    ApplicationOperationInfo.struct_class = Types::ApplicationOperationInfo

    ApplicationOperationInfoDetails.add_member(:operation, Shapes::ShapeRef.new(shape: Operation, required: true, location_name: "Operation"))
    ApplicationOperationInfoDetails.add_member(:start_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "StartTime"))
    ApplicationOperationInfoDetails.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "EndTime"))
    ApplicationOperationInfoDetails.add_member(:operation_status, Shapes::ShapeRef.new(shape: OperationStatus, required: true, location_name: "OperationStatus"))
    ApplicationOperationInfoDetails.add_member(:application_version_change_details, Shapes::ShapeRef.new(shape: ApplicationVersionChangeDetails, location_name: "ApplicationVersionChangeDetails"))
    ApplicationOperationInfoDetails.add_member(:operation_failure_details, Shapes::ShapeRef.new(shape: OperationFailureDetails, location_name: "OperationFailureDetails"))
    ApplicationOperationInfoDetails.struct_class = Types::ApplicationOperationInfoDetails

    ApplicationOperationInfoList.member = Shapes::ShapeRef.new(shape: ApplicationOperationInfo)

    ApplicationRestoreConfiguration.add_member(:application_restore_type, Shapes::ShapeRef.new(shape: ApplicationRestoreType, required: true, location_name: "ApplicationRestoreType"))
    ApplicationRestoreConfiguration.add_member(:snapshot_name, Shapes::ShapeRef.new(shape: SnapshotName, location_name: "SnapshotName"))
    ApplicationRestoreConfiguration.struct_class = Types::ApplicationRestoreConfiguration

    ApplicationSnapshotConfiguration.add_member(:snapshots_enabled, Shapes::ShapeRef.new(shape: BooleanObject, required: true, location_name: "SnapshotsEnabled"))
    ApplicationSnapshotConfiguration.struct_class = Types::ApplicationSnapshotConfiguration

    ApplicationSnapshotConfigurationDescription.add_member(:snapshots_enabled, Shapes::ShapeRef.new(shape: BooleanObject, required: true, location_name: "SnapshotsEnabled"))
    ApplicationSnapshotConfigurationDescription.struct_class = Types::ApplicationSnapshotConfigurationDescription

    ApplicationSnapshotConfigurationUpdate.add_member(:snapshots_enabled_update, Shapes::ShapeRef.new(shape: BooleanObject, required: true, location_name: "SnapshotsEnabledUpdate"))
    ApplicationSnapshotConfigurationUpdate.struct_class = Types::ApplicationSnapshotConfigurationUpdate

    ApplicationSummaries.member = Shapes::ShapeRef.new(shape: ApplicationSummary)

    ApplicationSummary.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    ApplicationSummary.add_member(:application_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ApplicationARN"))
    ApplicationSummary.add_member(:application_status, Shapes::ShapeRef.new(shape: ApplicationStatus, required: true, location_name: "ApplicationStatus"))
    ApplicationSummary.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, required: true, location_name: "ApplicationVersionId"))
    ApplicationSummary.add_member(:runtime_environment, Shapes::ShapeRef.new(shape: RuntimeEnvironment, required: true, location_name: "RuntimeEnvironment"))
    ApplicationSummary.add_member(:application_mode, Shapes::ShapeRef.new(shape: ApplicationMode, location_name: "ApplicationMode"))
    ApplicationSummary.struct_class = Types::ApplicationSummary

    ApplicationSystemRollbackConfiguration.add_member(:rollback_enabled, Shapes::ShapeRef.new(shape: BooleanObject, required: true, location_name: "RollbackEnabled"))
    ApplicationSystemRollbackConfiguration.struct_class = Types::ApplicationSystemRollbackConfiguration

    ApplicationSystemRollbackConfigurationDescription.add_member(:rollback_enabled, Shapes::ShapeRef.new(shape: BooleanObject, required: true, location_name: "RollbackEnabled"))
    ApplicationSystemRollbackConfigurationDescription.struct_class = Types::ApplicationSystemRollbackConfigurationDescription

    ApplicationSystemRollbackConfigurationUpdate.add_member(:rollback_enabled_update, Shapes::ShapeRef.new(shape: BooleanObject, required: true, location_name: "RollbackEnabledUpdate"))
    ApplicationSystemRollbackConfigurationUpdate.struct_class = Types::ApplicationSystemRollbackConfigurationUpdate

    ApplicationVersionChangeDetails.add_member(:application_version_updated_from, Shapes::ShapeRef.new(shape: ApplicationVersionId, required: true, location_name: "ApplicationVersionUpdatedFrom"))
    ApplicationVersionChangeDetails.add_member(:application_version_updated_to, Shapes::ShapeRef.new(shape: ApplicationVersionId, required: true, location_name: "ApplicationVersionUpdatedTo"))
    ApplicationVersionChangeDetails.struct_class = Types::ApplicationVersionChangeDetails

    ApplicationVersionSummaries.member = Shapes::ShapeRef.new(shape: ApplicationVersionSummary)

    ApplicationVersionSummary.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, required: true, location_name: "ApplicationVersionId"))
    ApplicationVersionSummary.add_member(:application_status, Shapes::ShapeRef.new(shape: ApplicationStatus, required: true, location_name: "ApplicationStatus"))
    ApplicationVersionSummary.struct_class = Types::ApplicationVersionSummary

    CSVMappingParameters.add_member(:record_row_delimiter, Shapes::ShapeRef.new(shape: RecordRowDelimiter, required: true, location_name: "RecordRowDelimiter"))
    CSVMappingParameters.add_member(:record_column_delimiter, Shapes::ShapeRef.new(shape: RecordColumnDelimiter, required: true, location_name: "RecordColumnDelimiter"))
    CSVMappingParameters.struct_class = Types::CSVMappingParameters

    CatalogConfiguration.add_member(:glue_data_catalog_configuration, Shapes::ShapeRef.new(shape: GlueDataCatalogConfiguration, required: true, location_name: "GlueDataCatalogConfiguration"))
    CatalogConfiguration.struct_class = Types::CatalogConfiguration

    CatalogConfigurationDescription.add_member(:glue_data_catalog_configuration_description, Shapes::ShapeRef.new(shape: GlueDataCatalogConfigurationDescription, required: true, location_name: "GlueDataCatalogConfigurationDescription"))
    CatalogConfigurationDescription.struct_class = Types::CatalogConfigurationDescription

    CatalogConfigurationUpdate.add_member(:glue_data_catalog_configuration_update, Shapes::ShapeRef.new(shape: GlueDataCatalogConfigurationUpdate, required: true, location_name: "GlueDataCatalogConfigurationUpdate"))
    CatalogConfigurationUpdate.struct_class = Types::CatalogConfigurationUpdate

    CheckpointConfiguration.add_member(:configuration_type, Shapes::ShapeRef.new(shape: ConfigurationType, required: true, location_name: "ConfigurationType"))
    CheckpointConfiguration.add_member(:checkpointing_enabled, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "CheckpointingEnabled"))
    CheckpointConfiguration.add_member(:checkpoint_interval, Shapes::ShapeRef.new(shape: CheckpointInterval, location_name: "CheckpointInterval"))
    CheckpointConfiguration.add_member(:min_pause_between_checkpoints, Shapes::ShapeRef.new(shape: MinPauseBetweenCheckpoints, location_name: "MinPauseBetweenCheckpoints"))
    CheckpointConfiguration.struct_class = Types::CheckpointConfiguration

    CheckpointConfigurationDescription.add_member(:configuration_type, Shapes::ShapeRef.new(shape: ConfigurationType, location_name: "ConfigurationType"))
    CheckpointConfigurationDescription.add_member(:checkpointing_enabled, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "CheckpointingEnabled"))
    CheckpointConfigurationDescription.add_member(:checkpoint_interval, Shapes::ShapeRef.new(shape: CheckpointInterval, location_name: "CheckpointInterval"))
    CheckpointConfigurationDescription.add_member(:min_pause_between_checkpoints, Shapes::ShapeRef.new(shape: MinPauseBetweenCheckpoints, location_name: "MinPauseBetweenCheckpoints"))
    CheckpointConfigurationDescription.struct_class = Types::CheckpointConfigurationDescription

    CheckpointConfigurationUpdate.add_member(:configuration_type_update, Shapes::ShapeRef.new(shape: ConfigurationType, location_name: "ConfigurationTypeUpdate"))
    CheckpointConfigurationUpdate.add_member(:checkpointing_enabled_update, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "CheckpointingEnabledUpdate"))
    CheckpointConfigurationUpdate.add_member(:checkpoint_interval_update, Shapes::ShapeRef.new(shape: CheckpointInterval, location_name: "CheckpointIntervalUpdate"))
    CheckpointConfigurationUpdate.add_member(:min_pause_between_checkpoints_update, Shapes::ShapeRef.new(shape: MinPauseBetweenCheckpoints, location_name: "MinPauseBetweenCheckpointsUpdate"))
    CheckpointConfigurationUpdate.struct_class = Types::CheckpointConfigurationUpdate

    CloudWatchLoggingOption.add_member(:log_stream_arn, Shapes::ShapeRef.new(shape: LogStreamARN, required: true, location_name: "LogStreamARN"))
    CloudWatchLoggingOption.struct_class = Types::CloudWatchLoggingOption

    CloudWatchLoggingOptionDescription.add_member(:cloud_watch_logging_option_id, Shapes::ShapeRef.new(shape: Id, location_name: "CloudWatchLoggingOptionId"))
    CloudWatchLoggingOptionDescription.add_member(:log_stream_arn, Shapes::ShapeRef.new(shape: LogStreamARN, required: true, location_name: "LogStreamARN"))
    CloudWatchLoggingOptionDescription.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "RoleARN"))
    CloudWatchLoggingOptionDescription.struct_class = Types::CloudWatchLoggingOptionDescription

    CloudWatchLoggingOptionDescriptions.member = Shapes::ShapeRef.new(shape: CloudWatchLoggingOptionDescription)

    CloudWatchLoggingOptionUpdate.add_member(:cloud_watch_logging_option_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "CloudWatchLoggingOptionId"))
    CloudWatchLoggingOptionUpdate.add_member(:log_stream_arn_update, Shapes::ShapeRef.new(shape: LogStreamARN, location_name: "LogStreamARNUpdate"))
    CloudWatchLoggingOptionUpdate.struct_class = Types::CloudWatchLoggingOptionUpdate

    CloudWatchLoggingOptionUpdates.member = Shapes::ShapeRef.new(shape: CloudWatchLoggingOptionUpdate)

    CloudWatchLoggingOptions.member = Shapes::ShapeRef.new(shape: CloudWatchLoggingOption)

    CodeContent.add_member(:text_content, Shapes::ShapeRef.new(shape: TextContent, location_name: "TextContent"))
    CodeContent.add_member(:zip_file_content, Shapes::ShapeRef.new(shape: ZipFileContent, location_name: "ZipFileContent"))
    CodeContent.add_member(:s3_content_location, Shapes::ShapeRef.new(shape: S3ContentLocation, location_name: "S3ContentLocation"))
    CodeContent.struct_class = Types::CodeContent

    CodeContentDescription.add_member(:text_content, Shapes::ShapeRef.new(shape: TextContent, location_name: "TextContent"))
    CodeContentDescription.add_member(:code_md5, Shapes::ShapeRef.new(shape: CodeMD5, location_name: "CodeMD5"))
    CodeContentDescription.add_member(:code_size, Shapes::ShapeRef.new(shape: CodeSize, location_name: "CodeSize"))
    CodeContentDescription.add_member(:s3_application_code_location_description, Shapes::ShapeRef.new(shape: S3ApplicationCodeLocationDescription, location_name: "S3ApplicationCodeLocationDescription"))
    CodeContentDescription.struct_class = Types::CodeContentDescription

    CodeContentUpdate.add_member(:text_content_update, Shapes::ShapeRef.new(shape: TextContent, location_name: "TextContentUpdate"))
    CodeContentUpdate.add_member(:zip_file_content_update, Shapes::ShapeRef.new(shape: ZipFileContent, location_name: "ZipFileContentUpdate"))
    CodeContentUpdate.add_member(:s3_content_location_update, Shapes::ShapeRef.new(shape: S3ContentLocationUpdate, location_name: "S3ContentLocationUpdate"))
    CodeContentUpdate.struct_class = Types::CodeContentUpdate

    CodeValidationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
    CodeValidationException.struct_class = Types::CodeValidationException

    ConcurrentModificationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
    ConcurrentModificationException.struct_class = Types::ConcurrentModificationException

    CreateApplicationPresignedUrlRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    CreateApplicationPresignedUrlRequest.add_member(:url_type, Shapes::ShapeRef.new(shape: UrlType, required: true, location_name: "UrlType"))
    CreateApplicationPresignedUrlRequest.add_member(:session_expiration_duration_in_seconds, Shapes::ShapeRef.new(shape: SessionExpirationDurationInSeconds, location_name: "SessionExpirationDurationInSeconds"))
    CreateApplicationPresignedUrlRequest.struct_class = Types::CreateApplicationPresignedUrlRequest

    CreateApplicationPresignedUrlResponse.add_member(:authorized_url, Shapes::ShapeRef.new(shape: AuthorizedUrl, location_name: "AuthorizedUrl"))
    CreateApplicationPresignedUrlResponse.struct_class = Types::CreateApplicationPresignedUrlResponse

    CreateApplicationRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    CreateApplicationRequest.add_member(:application_description, Shapes::ShapeRef.new(shape: ApplicationDescription, location_name: "ApplicationDescription"))
    CreateApplicationRequest.add_member(:runtime_environment, Shapes::ShapeRef.new(shape: RuntimeEnvironment, required: true, location_name: "RuntimeEnvironment"))
    CreateApplicationRequest.add_member(:service_execution_role, Shapes::ShapeRef.new(shape: RoleARN, required: true, location_name: "ServiceExecutionRole"))
    CreateApplicationRequest.add_member(:application_configuration, Shapes::ShapeRef.new(shape: ApplicationConfiguration, location_name: "ApplicationConfiguration"))
    CreateApplicationRequest.add_member(:cloud_watch_logging_options, Shapes::ShapeRef.new(shape: CloudWatchLoggingOptions, location_name: "CloudWatchLoggingOptions"))
    CreateApplicationRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
    CreateApplicationRequest.add_member(:application_mode, Shapes::ShapeRef.new(shape: ApplicationMode, location_name: "ApplicationMode"))
    CreateApplicationRequest.struct_class = Types::CreateApplicationRequest

    CreateApplicationResponse.add_member(:application_detail, Shapes::ShapeRef.new(shape: ApplicationDetail, required: true, location_name: "ApplicationDetail"))
    CreateApplicationResponse.struct_class = Types::CreateApplicationResponse

    CreateApplicationSnapshotRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    CreateApplicationSnapshotRequest.add_member(:snapshot_name, Shapes::ShapeRef.new(shape: SnapshotName, required: true, location_name: "SnapshotName"))
    CreateApplicationSnapshotRequest.struct_class = Types::CreateApplicationSnapshotRequest

    CreateApplicationSnapshotResponse.struct_class = Types::CreateApplicationSnapshotResponse

    CustomArtifactConfiguration.add_member(:artifact_type, Shapes::ShapeRef.new(shape: ArtifactType, required: true, location_name: "ArtifactType"))
    CustomArtifactConfiguration.add_member(:s3_content_location, Shapes::ShapeRef.new(shape: S3ContentLocation, location_name: "S3ContentLocation"))
    CustomArtifactConfiguration.add_member(:maven_reference, Shapes::ShapeRef.new(shape: MavenReference, location_name: "MavenReference"))
    CustomArtifactConfiguration.struct_class = Types::CustomArtifactConfiguration

    CustomArtifactConfigurationDescription.add_member(:artifact_type, Shapes::ShapeRef.new(shape: ArtifactType, location_name: "ArtifactType"))
    CustomArtifactConfigurationDescription.add_member(:s3_content_location_description, Shapes::ShapeRef.new(shape: S3ContentLocation, location_name: "S3ContentLocationDescription"))
    CustomArtifactConfigurationDescription.add_member(:maven_reference_description, Shapes::ShapeRef.new(shape: MavenReference, location_name: "MavenReferenceDescription"))
    CustomArtifactConfigurationDescription.struct_class = Types::CustomArtifactConfigurationDescription

    CustomArtifactsConfigurationDescriptionList.member = Shapes::ShapeRef.new(shape: CustomArtifactConfigurationDescription)

    CustomArtifactsConfigurationList.member = Shapes::ShapeRef.new(shape: CustomArtifactConfiguration)

    DeleteApplicationCloudWatchLoggingOptionRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    DeleteApplicationCloudWatchLoggingOptionRequest.add_member(:current_application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "CurrentApplicationVersionId"))
    DeleteApplicationCloudWatchLoggingOptionRequest.add_member(:cloud_watch_logging_option_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "CloudWatchLoggingOptionId"))
    DeleteApplicationCloudWatchLoggingOptionRequest.add_member(:conditional_token, Shapes::ShapeRef.new(shape: ConditionalToken, location_name: "ConditionalToken"))
    DeleteApplicationCloudWatchLoggingOptionRequest.struct_class = Types::DeleteApplicationCloudWatchLoggingOptionRequest

    DeleteApplicationCloudWatchLoggingOptionResponse.add_member(:application_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ApplicationARN"))
    DeleteApplicationCloudWatchLoggingOptionResponse.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "ApplicationVersionId"))
    DeleteApplicationCloudWatchLoggingOptionResponse.add_member(:cloud_watch_logging_option_descriptions, Shapes::ShapeRef.new(shape: CloudWatchLoggingOptionDescriptions, location_name: "CloudWatchLoggingOptionDescriptions"))
    DeleteApplicationCloudWatchLoggingOptionResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
    DeleteApplicationCloudWatchLoggingOptionResponse.struct_class = Types::DeleteApplicationCloudWatchLoggingOptionResponse

    DeleteApplicationInputProcessingConfigurationRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    DeleteApplicationInputProcessingConfigurationRequest.add_member(:current_application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, required: true, location_name: "CurrentApplicationVersionId"))
    DeleteApplicationInputProcessingConfigurationRequest.add_member(:input_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "InputId"))
    DeleteApplicationInputProcessingConfigurationRequest.struct_class = Types::DeleteApplicationInputProcessingConfigurationRequest

    DeleteApplicationInputProcessingConfigurationResponse.add_member(:application_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ApplicationARN"))
    DeleteApplicationInputProcessingConfigurationResponse.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "ApplicationVersionId"))
    DeleteApplicationInputProcessingConfigurationResponse.struct_class = Types::DeleteApplicationInputProcessingConfigurationResponse

    DeleteApplicationOutputRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    DeleteApplicationOutputRequest.add_member(:current_application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, required: true, location_name: "CurrentApplicationVersionId"))
    DeleteApplicationOutputRequest.add_member(:output_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "OutputId"))
    DeleteApplicationOutputRequest.struct_class = Types::DeleteApplicationOutputRequest

    DeleteApplicationOutputResponse.add_member(:application_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ApplicationARN"))
    DeleteApplicationOutputResponse.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "ApplicationVersionId"))
    DeleteApplicationOutputResponse.struct_class = Types::DeleteApplicationOutputResponse

    DeleteApplicationReferenceDataSourceRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    DeleteApplicationReferenceDataSourceRequest.add_member(:current_application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, required: true, location_name: "CurrentApplicationVersionId"))
    DeleteApplicationReferenceDataSourceRequest.add_member(:reference_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "ReferenceId"))
    DeleteApplicationReferenceDataSourceRequest.struct_class = Types::DeleteApplicationReferenceDataSourceRequest

    DeleteApplicationReferenceDataSourceResponse.add_member(:application_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ApplicationARN"))
    DeleteApplicationReferenceDataSourceResponse.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "ApplicationVersionId"))
    DeleteApplicationReferenceDataSourceResponse.struct_class = Types::DeleteApplicationReferenceDataSourceResponse

    DeleteApplicationRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    DeleteApplicationRequest.add_member(:create_timestamp, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "CreateTimestamp"))
    DeleteApplicationRequest.struct_class = Types::DeleteApplicationRequest

    DeleteApplicationResponse.struct_class = Types::DeleteApplicationResponse

    DeleteApplicationSnapshotRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    DeleteApplicationSnapshotRequest.add_member(:snapshot_name, Shapes::ShapeRef.new(shape: SnapshotName, required: true, location_name: "SnapshotName"))
    DeleteApplicationSnapshotRequest.add_member(:snapshot_creation_timestamp, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "SnapshotCreationTimestamp"))
    DeleteApplicationSnapshotRequest.struct_class = Types::DeleteApplicationSnapshotRequest

    DeleteApplicationSnapshotResponse.struct_class = Types::DeleteApplicationSnapshotResponse

    DeleteApplicationVpcConfigurationRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    DeleteApplicationVpcConfigurationRequest.add_member(:current_application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "CurrentApplicationVersionId"))
    DeleteApplicationVpcConfigurationRequest.add_member(:vpc_configuration_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "VpcConfigurationId"))
    DeleteApplicationVpcConfigurationRequest.add_member(:conditional_token, Shapes::ShapeRef.new(shape: ConditionalToken, location_name: "ConditionalToken"))
    DeleteApplicationVpcConfigurationRequest.struct_class = Types::DeleteApplicationVpcConfigurationRequest

    DeleteApplicationVpcConfigurationResponse.add_member(:application_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ApplicationARN"))
    DeleteApplicationVpcConfigurationResponse.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "ApplicationVersionId"))
    DeleteApplicationVpcConfigurationResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
    DeleteApplicationVpcConfigurationResponse.struct_class = Types::DeleteApplicationVpcConfigurationResponse

    DeployAsApplicationConfiguration.add_member(:s3_content_location, Shapes::ShapeRef.new(shape: S3ContentBaseLocation, required: true, location_name: "S3ContentLocation"))
    DeployAsApplicationConfiguration.struct_class = Types::DeployAsApplicationConfiguration

    DeployAsApplicationConfigurationDescription.add_member(:s3_content_location_description, Shapes::ShapeRef.new(shape: S3ContentBaseLocationDescription, required: true, location_name: "S3ContentLocationDescription"))
    DeployAsApplicationConfigurationDescription.struct_class = Types::DeployAsApplicationConfigurationDescription

    DeployAsApplicationConfigurationUpdate.add_member(:s3_content_location_update, Shapes::ShapeRef.new(shape: S3ContentBaseLocationUpdate, location_name: "S3ContentLocationUpdate"))
    DeployAsApplicationConfigurationUpdate.struct_class = Types::DeployAsApplicationConfigurationUpdate

    DescribeApplicationOperationRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    DescribeApplicationOperationRequest.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, required: true, location_name: "OperationId"))
    DescribeApplicationOperationRequest.struct_class = Types::DescribeApplicationOperationRequest

    DescribeApplicationOperationResponse.add_member(:application_operation_info_details, Shapes::ShapeRef.new(shape: ApplicationOperationInfoDetails, location_name: "ApplicationOperationInfoDetails"))
    DescribeApplicationOperationResponse.struct_class = Types::DescribeApplicationOperationResponse

    DescribeApplicationRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    DescribeApplicationRequest.add_member(:include_additional_details, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "IncludeAdditionalDetails"))
    DescribeApplicationRequest.struct_class = Types::DescribeApplicationRequest

    DescribeApplicationResponse.add_member(:application_detail, Shapes::ShapeRef.new(shape: ApplicationDetail, required: true, location_name: "ApplicationDetail"))
    DescribeApplicationResponse.struct_class = Types::DescribeApplicationResponse

    DescribeApplicationSnapshotRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    DescribeApplicationSnapshotRequest.add_member(:snapshot_name, Shapes::ShapeRef.new(shape: SnapshotName, required: true, location_name: "SnapshotName"))
    DescribeApplicationSnapshotRequest.struct_class = Types::DescribeApplicationSnapshotRequest

    DescribeApplicationSnapshotResponse.add_member(:snapshot_details, Shapes::ShapeRef.new(shape: SnapshotDetails, required: true, location_name: "SnapshotDetails"))
    DescribeApplicationSnapshotResponse.struct_class = Types::DescribeApplicationSnapshotResponse

    DescribeApplicationVersionRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    DescribeApplicationVersionRequest.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, required: true, location_name: "ApplicationVersionId"))
    DescribeApplicationVersionRequest.struct_class = Types::DescribeApplicationVersionRequest

    DescribeApplicationVersionResponse.add_member(:application_version_detail, Shapes::ShapeRef.new(shape: ApplicationDetail, location_name: "ApplicationVersionDetail"))
    DescribeApplicationVersionResponse.struct_class = Types::DescribeApplicationVersionResponse

    DestinationSchema.add_member(:record_format_type, Shapes::ShapeRef.new(shape: RecordFormatType, required: true, location_name: "RecordFormatType"))
    DestinationSchema.struct_class = Types::DestinationSchema

    DiscoverInputSchemaRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ResourceARN"))
    DiscoverInputSchemaRequest.add_member(:service_execution_role, Shapes::ShapeRef.new(shape: RoleARN, required: true, location_name: "ServiceExecutionRole"))
    DiscoverInputSchemaRequest.add_member(:input_starting_position_configuration, Shapes::ShapeRef.new(shape: InputStartingPositionConfiguration, location_name: "InputStartingPositionConfiguration"))
    DiscoverInputSchemaRequest.add_member(:s3_configuration, Shapes::ShapeRef.new(shape: S3Configuration, location_name: "S3Configuration"))
    DiscoverInputSchemaRequest.add_member(:input_processing_configuration, Shapes::ShapeRef.new(shape: InputProcessingConfiguration, location_name: "InputProcessingConfiguration"))
    DiscoverInputSchemaRequest.struct_class = Types::DiscoverInputSchemaRequest

    DiscoverInputSchemaResponse.add_member(:input_schema, Shapes::ShapeRef.new(shape: SourceSchema, location_name: "InputSchema"))
    DiscoverInputSchemaResponse.add_member(:parsed_input_records, Shapes::ShapeRef.new(shape: ParsedInputRecords, location_name: "ParsedInputRecords"))
    DiscoverInputSchemaResponse.add_member(:processed_input_records, Shapes::ShapeRef.new(shape: ProcessedInputRecords, location_name: "ProcessedInputRecords"))
    DiscoverInputSchemaResponse.add_member(:raw_input_records, Shapes::ShapeRef.new(shape: RawInputRecords, location_name: "RawInputRecords"))
    DiscoverInputSchemaResponse.struct_class = Types::DiscoverInputSchemaResponse

    EnvironmentProperties.add_member(:property_groups, Shapes::ShapeRef.new(shape: PropertyGroups, required: true, location_name: "PropertyGroups"))
    EnvironmentProperties.struct_class = Types::EnvironmentProperties

    EnvironmentPropertyDescriptions.add_member(:property_group_descriptions, Shapes::ShapeRef.new(shape: PropertyGroups, location_name: "PropertyGroupDescriptions"))
    EnvironmentPropertyDescriptions.struct_class = Types::EnvironmentPropertyDescriptions

    EnvironmentPropertyUpdates.add_member(:property_groups, Shapes::ShapeRef.new(shape: PropertyGroups, required: true, location_name: "PropertyGroups"))
    EnvironmentPropertyUpdates.struct_class = Types::EnvironmentPropertyUpdates

    ErrorInfo.add_member(:error_string, Shapes::ShapeRef.new(shape: ErrorString, location_name: "ErrorString"))
    ErrorInfo.struct_class = Types::ErrorInfo

    FlinkApplicationConfiguration.add_member(:checkpoint_configuration, Shapes::ShapeRef.new(shape: CheckpointConfiguration, location_name: "CheckpointConfiguration"))
    FlinkApplicationConfiguration.add_member(:monitoring_configuration, Shapes::ShapeRef.new(shape: MonitoringConfiguration, location_name: "MonitoringConfiguration"))
    FlinkApplicationConfiguration.add_member(:parallelism_configuration, Shapes::ShapeRef.new(shape: ParallelismConfiguration, location_name: "ParallelismConfiguration"))
    FlinkApplicationConfiguration.struct_class = Types::FlinkApplicationConfiguration

    FlinkApplicationConfigurationDescription.add_member(:checkpoint_configuration_description, Shapes::ShapeRef.new(shape: CheckpointConfigurationDescription, location_name: "CheckpointConfigurationDescription"))
    FlinkApplicationConfigurationDescription.add_member(:monitoring_configuration_description, Shapes::ShapeRef.new(shape: MonitoringConfigurationDescription, location_name: "MonitoringConfigurationDescription"))
    FlinkApplicationConfigurationDescription.add_member(:parallelism_configuration_description, Shapes::ShapeRef.new(shape: ParallelismConfigurationDescription, location_name: "ParallelismConfigurationDescription"))
    FlinkApplicationConfigurationDescription.add_member(:job_plan_description, Shapes::ShapeRef.new(shape: JobPlanDescription, location_name: "JobPlanDescription"))
    FlinkApplicationConfigurationDescription.struct_class = Types::FlinkApplicationConfigurationDescription

    FlinkApplicationConfigurationUpdate.add_member(:checkpoint_configuration_update, Shapes::ShapeRef.new(shape: CheckpointConfigurationUpdate, location_name: "CheckpointConfigurationUpdate"))
    FlinkApplicationConfigurationUpdate.add_member(:monitoring_configuration_update, Shapes::ShapeRef.new(shape: MonitoringConfigurationUpdate, location_name: "MonitoringConfigurationUpdate"))
    FlinkApplicationConfigurationUpdate.add_member(:parallelism_configuration_update, Shapes::ShapeRef.new(shape: ParallelismConfigurationUpdate, location_name: "ParallelismConfigurationUpdate"))
    FlinkApplicationConfigurationUpdate.struct_class = Types::FlinkApplicationConfigurationUpdate

    FlinkRunConfiguration.add_member(:allow_non_restored_state, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "AllowNonRestoredState"))
    FlinkRunConfiguration.struct_class = Types::FlinkRunConfiguration

    GlueDataCatalogConfiguration.add_member(:database_arn, Shapes::ShapeRef.new(shape: DatabaseARN, required: true, location_name: "DatabaseARN"))
    GlueDataCatalogConfiguration.struct_class = Types::GlueDataCatalogConfiguration

    GlueDataCatalogConfigurationDescription.add_member(:database_arn, Shapes::ShapeRef.new(shape: DatabaseARN, required: true, location_name: "DatabaseARN"))
    GlueDataCatalogConfigurationDescription.struct_class = Types::GlueDataCatalogConfigurationDescription

    GlueDataCatalogConfigurationUpdate.add_member(:database_arn_update, Shapes::ShapeRef.new(shape: DatabaseARN, required: true, location_name: "DatabaseARNUpdate"))
    GlueDataCatalogConfigurationUpdate.struct_class = Types::GlueDataCatalogConfigurationUpdate

    InAppStreamNames.member = Shapes::ShapeRef.new(shape: InAppStreamName)

    Input.add_member(:name_prefix, Shapes::ShapeRef.new(shape: InAppStreamName, required: true, location_name: "NamePrefix"))
    Input.add_member(:input_processing_configuration, Shapes::ShapeRef.new(shape: InputProcessingConfiguration, location_name: "InputProcessingConfiguration"))
    Input.add_member(:kinesis_streams_input, Shapes::ShapeRef.new(shape: KinesisStreamsInput, location_name: "KinesisStreamsInput"))
    Input.add_member(:kinesis_firehose_input, Shapes::ShapeRef.new(shape: KinesisFirehoseInput, location_name: "KinesisFirehoseInput"))
    Input.add_member(:input_parallelism, Shapes::ShapeRef.new(shape: InputParallelism, location_name: "InputParallelism"))
    Input.add_member(:input_schema, Shapes::ShapeRef.new(shape: SourceSchema, required: true, location_name: "InputSchema"))
    Input.struct_class = Types::Input

    InputDescription.add_member(:input_id, Shapes::ShapeRef.new(shape: Id, location_name: "InputId"))
    InputDescription.add_member(:name_prefix, Shapes::ShapeRef.new(shape: InAppStreamName, location_name: "NamePrefix"))
    InputDescription.add_member(:in_app_stream_names, Shapes::ShapeRef.new(shape: InAppStreamNames, location_name: "InAppStreamNames"))
    InputDescription.add_member(:input_processing_configuration_description, Shapes::ShapeRef.new(shape: InputProcessingConfigurationDescription, location_name: "InputProcessingConfigurationDescription"))
    InputDescription.add_member(:kinesis_streams_input_description, Shapes::ShapeRef.new(shape: KinesisStreamsInputDescription, location_name: "KinesisStreamsInputDescription"))
    InputDescription.add_member(:kinesis_firehose_input_description, Shapes::ShapeRef.new(shape: KinesisFirehoseInputDescription, location_name: "KinesisFirehoseInputDescription"))
    InputDescription.add_member(:input_schema, Shapes::ShapeRef.new(shape: SourceSchema, location_name: "InputSchema"))
    InputDescription.add_member(:input_parallelism, Shapes::ShapeRef.new(shape: InputParallelism, location_name: "InputParallelism"))
    InputDescription.add_member(:input_starting_position_configuration, Shapes::ShapeRef.new(shape: InputStartingPositionConfiguration, location_name: "InputStartingPositionConfiguration"))
    InputDescription.struct_class = Types::InputDescription

    InputDescriptions.member = Shapes::ShapeRef.new(shape: InputDescription)

    InputLambdaProcessor.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARN"))
    InputLambdaProcessor.struct_class = Types::InputLambdaProcessor

    InputLambdaProcessorDescription.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARN"))
    InputLambdaProcessorDescription.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "RoleARN"))
    InputLambdaProcessorDescription.struct_class = Types::InputLambdaProcessorDescription

    InputLambdaProcessorUpdate.add_member(:resource_arn_update, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARNUpdate"))
    InputLambdaProcessorUpdate.struct_class = Types::InputLambdaProcessorUpdate

    InputParallelism.add_member(:count, Shapes::ShapeRef.new(shape: InputParallelismCount, location_name: "Count"))
    InputParallelism.struct_class = Types::InputParallelism

    InputParallelismUpdate.add_member(:count_update, Shapes::ShapeRef.new(shape: InputParallelismCount, required: true, location_name: "CountUpdate"))
    InputParallelismUpdate.struct_class = Types::InputParallelismUpdate

    InputProcessingConfiguration.add_member(:input_lambda_processor, Shapes::ShapeRef.new(shape: InputLambdaProcessor, required: true, location_name: "InputLambdaProcessor"))
    InputProcessingConfiguration.struct_class = Types::InputProcessingConfiguration

    InputProcessingConfigurationDescription.add_member(:input_lambda_processor_description, Shapes::ShapeRef.new(shape: InputLambdaProcessorDescription, location_name: "InputLambdaProcessorDescription"))
    InputProcessingConfigurationDescription.struct_class = Types::InputProcessingConfigurationDescription

    InputProcessingConfigurationUpdate.add_member(:input_lambda_processor_update, Shapes::ShapeRef.new(shape: InputLambdaProcessorUpdate, required: true, location_name: "InputLambdaProcessorUpdate"))
    InputProcessingConfigurationUpdate.struct_class = Types::InputProcessingConfigurationUpdate

    InputSchemaUpdate.add_member(:record_format_update, Shapes::ShapeRef.new(shape: RecordFormat, location_name: "RecordFormatUpdate"))
    InputSchemaUpdate.add_member(:record_encoding_update, Shapes::ShapeRef.new(shape: RecordEncoding, location_name: "RecordEncodingUpdate"))
    InputSchemaUpdate.add_member(:record_column_updates, Shapes::ShapeRef.new(shape: RecordColumns, location_name: "RecordColumnUpdates"))
    InputSchemaUpdate.struct_class = Types::InputSchemaUpdate

    InputStartingPositionConfiguration.add_member(:input_starting_position, Shapes::ShapeRef.new(shape: InputStartingPosition, location_name: "InputStartingPosition"))
    InputStartingPositionConfiguration.struct_class = Types::InputStartingPositionConfiguration

    InputUpdate.add_member(:input_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "InputId"))
    InputUpdate.add_member(:name_prefix_update, Shapes::ShapeRef.new(shape: InAppStreamName, location_name: "NamePrefixUpdate"))
    InputUpdate.add_member(:input_processing_configuration_update, Shapes::ShapeRef.new(shape: InputProcessingConfigurationUpdate, location_name: "InputProcessingConfigurationUpdate"))
    InputUpdate.add_member(:kinesis_streams_input_update, Shapes::ShapeRef.new(shape: KinesisStreamsInputUpdate, location_name: "KinesisStreamsInputUpdate"))
    InputUpdate.add_member(:kinesis_firehose_input_update, Shapes::ShapeRef.new(shape: KinesisFirehoseInputUpdate, location_name: "KinesisFirehoseInputUpdate"))
    InputUpdate.add_member(:input_schema_update, Shapes::ShapeRef.new(shape: InputSchemaUpdate, location_name: "InputSchemaUpdate"))
    InputUpdate.add_member(:input_parallelism_update, Shapes::ShapeRef.new(shape: InputParallelismUpdate, location_name: "InputParallelismUpdate"))
    InputUpdate.struct_class = Types::InputUpdate

    InputUpdates.member = Shapes::ShapeRef.new(shape: InputUpdate)

    Inputs.member = Shapes::ShapeRef.new(shape: Input)

    InvalidApplicationConfigurationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
    InvalidApplicationConfigurationException.struct_class = Types::InvalidApplicationConfigurationException

    InvalidArgumentException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
    InvalidArgumentException.struct_class = Types::InvalidArgumentException

    InvalidRequestException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
    InvalidRequestException.struct_class = Types::InvalidRequestException

    JSONMappingParameters.add_member(:record_row_path, Shapes::ShapeRef.new(shape: RecordRowPath, required: true, location_name: "RecordRowPath"))
    JSONMappingParameters.struct_class = Types::JSONMappingParameters

    KinesisFirehoseInput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARN"))
    KinesisFirehoseInput.struct_class = Types::KinesisFirehoseInput

    KinesisFirehoseInputDescription.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARN"))
    KinesisFirehoseInputDescription.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "RoleARN"))
    KinesisFirehoseInputDescription.struct_class = Types::KinesisFirehoseInputDescription

    KinesisFirehoseInputUpdate.add_member(:resource_arn_update, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARNUpdate"))
    KinesisFirehoseInputUpdate.struct_class = Types::KinesisFirehoseInputUpdate

    KinesisFirehoseOutput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARN"))
    KinesisFirehoseOutput.struct_class = Types::KinesisFirehoseOutput

    KinesisFirehoseOutputDescription.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARN"))
    KinesisFirehoseOutputDescription.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "RoleARN"))
    KinesisFirehoseOutputDescription.struct_class = Types::KinesisFirehoseOutputDescription

    KinesisFirehoseOutputUpdate.add_member(:resource_arn_update, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARNUpdate"))
    KinesisFirehoseOutputUpdate.struct_class = Types::KinesisFirehoseOutputUpdate

    KinesisStreamsInput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARN"))
    KinesisStreamsInput.struct_class = Types::KinesisStreamsInput

    KinesisStreamsInputDescription.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARN"))
    KinesisStreamsInputDescription.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "RoleARN"))
    KinesisStreamsInputDescription.struct_class = Types::KinesisStreamsInputDescription

    KinesisStreamsInputUpdate.add_member(:resource_arn_update, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARNUpdate"))
    KinesisStreamsInputUpdate.struct_class = Types::KinesisStreamsInputUpdate

    KinesisStreamsOutput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARN"))
    KinesisStreamsOutput.struct_class = Types::KinesisStreamsOutput

    KinesisStreamsOutputDescription.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARN"))
    KinesisStreamsOutputDescription.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "RoleARN"))
    KinesisStreamsOutputDescription.struct_class = Types::KinesisStreamsOutputDescription

    KinesisStreamsOutputUpdate.add_member(:resource_arn_update, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARNUpdate"))
    KinesisStreamsOutputUpdate.struct_class = Types::KinesisStreamsOutputUpdate

    LambdaOutput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARN"))
    LambdaOutput.struct_class = Types::LambdaOutput

    LambdaOutputDescription.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARN"))
    LambdaOutputDescription.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "RoleARN"))
    LambdaOutputDescription.struct_class = Types::LambdaOutputDescription

    LambdaOutputUpdate.add_member(:resource_arn_update, Shapes::ShapeRef.new(shape: ResourceARN, required: true, location_name: "ResourceARNUpdate"))
    LambdaOutputUpdate.struct_class = Types::LambdaOutputUpdate

    LimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
    LimitExceededException.struct_class = Types::LimitExceededException

    ListApplicationOperationsRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    ListApplicationOperationsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: ListApplicationOperationsInputLimit, location_name: "Limit"))
    ListApplicationOperationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
    ListApplicationOperationsRequest.add_member(:operation, Shapes::ShapeRef.new(shape: Operation, location_name: "Operation"))
    ListApplicationOperationsRequest.add_member(:operation_status, Shapes::ShapeRef.new(shape: OperationStatus, location_name: "OperationStatus"))
    ListApplicationOperationsRequest.struct_class = Types::ListApplicationOperationsRequest

    ListApplicationOperationsResponse.add_member(:application_operation_info_list, Shapes::ShapeRef.new(shape: ApplicationOperationInfoList, location_name: "ApplicationOperationInfoList"))
    ListApplicationOperationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
    ListApplicationOperationsResponse.struct_class = Types::ListApplicationOperationsResponse

    ListApplicationSnapshotsRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    ListApplicationSnapshotsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: ListSnapshotsInputLimit, location_name: "Limit"))
    ListApplicationSnapshotsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
    ListApplicationSnapshotsRequest.struct_class = Types::ListApplicationSnapshotsRequest

    ListApplicationSnapshotsResponse.add_member(:snapshot_summaries, Shapes::ShapeRef.new(shape: SnapshotSummaries, location_name: "SnapshotSummaries"))
    ListApplicationSnapshotsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
    ListApplicationSnapshotsResponse.struct_class = Types::ListApplicationSnapshotsResponse

    ListApplicationVersionsRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    ListApplicationVersionsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: ListApplicationVersionsInputLimit, location_name: "Limit"))
    ListApplicationVersionsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
    ListApplicationVersionsRequest.struct_class = Types::ListApplicationVersionsRequest

    ListApplicationVersionsResponse.add_member(:application_version_summaries, Shapes::ShapeRef.new(shape: ApplicationVersionSummaries, location_name: "ApplicationVersionSummaries"))
    ListApplicationVersionsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
    ListApplicationVersionsResponse.struct_class = Types::ListApplicationVersionsResponse

    ListApplicationsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: ListApplicationsInputLimit, location_name: "Limit"))
    ListApplicationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: ApplicationName, location_name: "NextToken"))
    ListApplicationsRequest.struct_class = Types::ListApplicationsRequest

    ListApplicationsResponse.add_member(:application_summaries, Shapes::ShapeRef.new(shape: ApplicationSummaries, required: true, location_name: "ApplicationSummaries"))
    ListApplicationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: ApplicationName, location_name: "NextToken"))
    ListApplicationsResponse.struct_class = Types::ListApplicationsResponse

    ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: KinesisAnalyticsARN, required: true, location_name: "ResourceARN"))
    ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest

    ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
    ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse

    MappingParameters.add_member(:json_mapping_parameters, Shapes::ShapeRef.new(shape: JSONMappingParameters, location_name: "JSONMappingParameters"))
    MappingParameters.add_member(:csv_mapping_parameters, Shapes::ShapeRef.new(shape: CSVMappingParameters, location_name: "CSVMappingParameters"))
    MappingParameters.struct_class = Types::MappingParameters

    MavenReference.add_member(:group_id, Shapes::ShapeRef.new(shape: MavenGroupId, required: true, location_name: "GroupId"))
    MavenReference.add_member(:artifact_id, Shapes::ShapeRef.new(shape: MavenArtifactId, required: true, location_name: "ArtifactId"))
    MavenReference.add_member(:version, Shapes::ShapeRef.new(shape: MavenVersion, required: true, location_name: "Version"))
    MavenReference.struct_class = Types::MavenReference

    MonitoringConfiguration.add_member(:configuration_type, Shapes::ShapeRef.new(shape: ConfigurationType, required: true, location_name: "ConfigurationType"))
    MonitoringConfiguration.add_member(:metrics_level, Shapes::ShapeRef.new(shape: MetricsLevel, location_name: "MetricsLevel"))
    MonitoringConfiguration.add_member(:log_level, Shapes::ShapeRef.new(shape: LogLevel, location_name: "LogLevel"))
    MonitoringConfiguration.struct_class = Types::MonitoringConfiguration

    MonitoringConfigurationDescription.add_member(:configuration_type, Shapes::ShapeRef.new(shape: ConfigurationType, location_name: "ConfigurationType"))
    MonitoringConfigurationDescription.add_member(:metrics_level, Shapes::ShapeRef.new(shape: MetricsLevel, location_name: "MetricsLevel"))
    MonitoringConfigurationDescription.add_member(:log_level, Shapes::ShapeRef.new(shape: LogLevel, location_name: "LogLevel"))
    MonitoringConfigurationDescription.struct_class = Types::MonitoringConfigurationDescription

    MonitoringConfigurationUpdate.add_member(:configuration_type_update, Shapes::ShapeRef.new(shape: ConfigurationType, location_name: "ConfigurationTypeUpdate"))
    MonitoringConfigurationUpdate.add_member(:metrics_level_update, Shapes::ShapeRef.new(shape: MetricsLevel, location_name: "MetricsLevelUpdate"))
    MonitoringConfigurationUpdate.add_member(:log_level_update, Shapes::ShapeRef.new(shape: LogLevel, location_name: "LogLevelUpdate"))
    MonitoringConfigurationUpdate.struct_class = Types::MonitoringConfigurationUpdate

    OperationFailureDetails.add_member(:rollback_operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "RollbackOperationId"))
    OperationFailureDetails.add_member(:error_info, Shapes::ShapeRef.new(shape: ErrorInfo, location_name: "ErrorInfo"))
    OperationFailureDetails.struct_class = Types::OperationFailureDetails

    Output.add_member(:name, Shapes::ShapeRef.new(shape: InAppStreamName, required: true, location_name: "Name"))
    Output.add_member(:kinesis_streams_output, Shapes::ShapeRef.new(shape: KinesisStreamsOutput, location_name: "KinesisStreamsOutput"))
    Output.add_member(:kinesis_firehose_output, Shapes::ShapeRef.new(shape: KinesisFirehoseOutput, location_name: "KinesisFirehoseOutput"))
    Output.add_member(:lambda_output, Shapes::ShapeRef.new(shape: LambdaOutput, location_name: "LambdaOutput"))
    Output.add_member(:destination_schema, Shapes::ShapeRef.new(shape: DestinationSchema, required: true, location_name: "DestinationSchema"))
    Output.struct_class = Types::Output

    OutputDescription.add_member(:output_id, Shapes::ShapeRef.new(shape: Id, location_name: "OutputId"))
    OutputDescription.add_member(:name, Shapes::ShapeRef.new(shape: InAppStreamName, location_name: "Name"))
    OutputDescription.add_member(:kinesis_streams_output_description, Shapes::ShapeRef.new(shape: KinesisStreamsOutputDescription, location_name: "KinesisStreamsOutputDescription"))
    OutputDescription.add_member(:kinesis_firehose_output_description, Shapes::ShapeRef.new(shape: KinesisFirehoseOutputDescription, location_name: "KinesisFirehoseOutputDescription"))
    OutputDescription.add_member(:lambda_output_description, Shapes::ShapeRef.new(shape: LambdaOutputDescription, location_name: "LambdaOutputDescription"))
    OutputDescription.add_member(:destination_schema, Shapes::ShapeRef.new(shape: DestinationSchema, location_name: "DestinationSchema"))
    OutputDescription.struct_class = Types::OutputDescription

    OutputDescriptions.member = Shapes::ShapeRef.new(shape: OutputDescription)

    OutputUpdate.add_member(:output_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "OutputId"))
    OutputUpdate.add_member(:name_update, Shapes::ShapeRef.new(shape: InAppStreamName, location_name: "NameUpdate"))
    OutputUpdate.add_member(:kinesis_streams_output_update, Shapes::ShapeRef.new(shape: KinesisStreamsOutputUpdate, location_name: "KinesisStreamsOutputUpdate"))
    OutputUpdate.add_member(:kinesis_firehose_output_update, Shapes::ShapeRef.new(shape: KinesisFirehoseOutputUpdate, location_name: "KinesisFirehoseOutputUpdate"))
    OutputUpdate.add_member(:lambda_output_update, Shapes::ShapeRef.new(shape: LambdaOutputUpdate, location_name: "LambdaOutputUpdate"))
    OutputUpdate.add_member(:destination_schema_update, Shapes::ShapeRef.new(shape: DestinationSchema, location_name: "DestinationSchemaUpdate"))
    OutputUpdate.struct_class = Types::OutputUpdate

    OutputUpdates.member = Shapes::ShapeRef.new(shape: OutputUpdate)

    Outputs.member = Shapes::ShapeRef.new(shape: Output)

    ParallelismConfiguration.add_member(:configuration_type, Shapes::ShapeRef.new(shape: ConfigurationType, required: true, location_name: "ConfigurationType"))
    ParallelismConfiguration.add_member(:parallelism, Shapes::ShapeRef.new(shape: Parallelism, location_name: "Parallelism"))
    ParallelismConfiguration.add_member(:parallelism_per_kpu, Shapes::ShapeRef.new(shape: ParallelismPerKPU, location_name: "ParallelismPerKPU"))
    ParallelismConfiguration.add_member(:auto_scaling_enabled, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "AutoScalingEnabled"))
    ParallelismConfiguration.struct_class = Types::ParallelismConfiguration

    ParallelismConfigurationDescription.add_member(:configuration_type, Shapes::ShapeRef.new(shape: ConfigurationType, location_name: "ConfigurationType"))
    ParallelismConfigurationDescription.add_member(:parallelism, Shapes::ShapeRef.new(shape: Parallelism, location_name: "Parallelism"))
    ParallelismConfigurationDescription.add_member(:parallelism_per_kpu, Shapes::ShapeRef.new(shape: ParallelismPerKPU, location_name: "ParallelismPerKPU"))
    ParallelismConfigurationDescription.add_member(:current_parallelism, Shapes::ShapeRef.new(shape: Parallelism, location_name: "CurrentParallelism"))
    ParallelismConfigurationDescription.add_member(:auto_scaling_enabled, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "AutoScalingEnabled"))
    ParallelismConfigurationDescription.struct_class = Types::ParallelismConfigurationDescription

    ParallelismConfigurationUpdate.add_member(:configuration_type_update, Shapes::ShapeRef.new(shape: ConfigurationType, location_name: "ConfigurationTypeUpdate"))
    ParallelismConfigurationUpdate.add_member(:parallelism_update, Shapes::ShapeRef.new(shape: Parallelism, location_name: "ParallelismUpdate"))
    ParallelismConfigurationUpdate.add_member(:parallelism_per_kpu_update, Shapes::ShapeRef.new(shape: ParallelismPerKPU, location_name: "ParallelismPerKPUUpdate"))
    ParallelismConfigurationUpdate.add_member(:auto_scaling_enabled_update, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "AutoScalingEnabledUpdate"))
    ParallelismConfigurationUpdate.struct_class = Types::ParallelismConfigurationUpdate

    ParsedInputRecord.member = Shapes::ShapeRef.new(shape: ParsedInputRecordField)

    ParsedInputRecords.member = Shapes::ShapeRef.new(shape: ParsedInputRecord)

    ProcessedInputRecords.member = Shapes::ShapeRef.new(shape: ProcessedInputRecord)

    PropertyGroup.add_member(:property_group_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "PropertyGroupId"))
    PropertyGroup.add_member(:property_map, Shapes::ShapeRef.new(shape: PropertyMap, required: true, location_name: "PropertyMap"))
    PropertyGroup.struct_class = Types::PropertyGroup

    PropertyGroups.member = Shapes::ShapeRef.new(shape: PropertyGroup)

    PropertyMap.key = Shapes::ShapeRef.new(shape: PropertyKey)
    PropertyMap.value = Shapes::ShapeRef.new(shape: PropertyValue)

    RawInputRecords.member = Shapes::ShapeRef.new(shape: RawInputRecord)

    RecordColumn.add_member(:name, Shapes::ShapeRef.new(shape: RecordColumnName, required: true, location_name: "Name"))
    RecordColumn.add_member(:mapping, Shapes::ShapeRef.new(shape: RecordColumnMapping, location_name: "Mapping"))
    RecordColumn.add_member(:sql_type, Shapes::ShapeRef.new(shape: RecordColumnSqlType, required: true, location_name: "SqlType"))
    RecordColumn.struct_class = Types::RecordColumn

    RecordColumns.member = Shapes::ShapeRef.new(shape: RecordColumn)

    RecordFormat.add_member(:record_format_type, Shapes::ShapeRef.new(shape: RecordFormatType, required: true, location_name: "RecordFormatType"))
    RecordFormat.add_member(:mapping_parameters, Shapes::ShapeRef.new(shape: MappingParameters, location_name: "MappingParameters"))
    RecordFormat.struct_class = Types::RecordFormat

    ReferenceDataSource.add_member(:table_name, Shapes::ShapeRef.new(shape: InAppTableName, required: true, location_name: "TableName"))
    ReferenceDataSource.add_member(:s3_reference_data_source, Shapes::ShapeRef.new(shape: S3ReferenceDataSource, location_name: "S3ReferenceDataSource"))
    ReferenceDataSource.add_member(:reference_schema, Shapes::ShapeRef.new(shape: SourceSchema, required: true, location_name: "ReferenceSchema"))
    ReferenceDataSource.struct_class = Types::ReferenceDataSource

    ReferenceDataSourceDescription.add_member(:reference_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "ReferenceId"))
    ReferenceDataSourceDescription.add_member(:table_name, Shapes::ShapeRef.new(shape: InAppTableName, required: true, location_name: "TableName"))
    ReferenceDataSourceDescription.add_member(:s3_reference_data_source_description, Shapes::ShapeRef.new(shape: S3ReferenceDataSourceDescription, required: true, location_name: "S3ReferenceDataSourceDescription"))
    ReferenceDataSourceDescription.add_member(:reference_schema, Shapes::ShapeRef.new(shape: SourceSchema, location_name: "ReferenceSchema"))
    ReferenceDataSourceDescription.struct_class = Types::ReferenceDataSourceDescription

    ReferenceDataSourceDescriptions.member = Shapes::ShapeRef.new(shape: ReferenceDataSourceDescription)

    ReferenceDataSourceUpdate.add_member(:reference_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "ReferenceId"))
    ReferenceDataSourceUpdate.add_member(:table_name_update, Shapes::ShapeRef.new(shape: InAppTableName, location_name: "TableNameUpdate"))
    ReferenceDataSourceUpdate.add_member(:s3_reference_data_source_update, Shapes::ShapeRef.new(shape: S3ReferenceDataSourceUpdate, location_name: "S3ReferenceDataSourceUpdate"))
    ReferenceDataSourceUpdate.add_member(:reference_schema_update, Shapes::ShapeRef.new(shape: SourceSchema, location_name: "ReferenceSchemaUpdate"))
    ReferenceDataSourceUpdate.struct_class = Types::ReferenceDataSourceUpdate

    ReferenceDataSourceUpdates.member = Shapes::ShapeRef.new(shape: ReferenceDataSourceUpdate)

    ReferenceDataSources.member = Shapes::ShapeRef.new(shape: ReferenceDataSource)

    ResourceInUseException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
    ResourceInUseException.struct_class = Types::ResourceInUseException

    ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
    ResourceNotFoundException.struct_class = Types::ResourceNotFoundException

    ResourceProvisionedThroughputExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
    ResourceProvisionedThroughputExceededException.struct_class = Types::ResourceProvisionedThroughputExceededException

    RollbackApplicationRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    RollbackApplicationRequest.add_member(:current_application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, required: true, location_name: "CurrentApplicationVersionId"))
    RollbackApplicationRequest.struct_class = Types::RollbackApplicationRequest

    RollbackApplicationResponse.add_member(:application_detail, Shapes::ShapeRef.new(shape: ApplicationDetail, required: true, location_name: "ApplicationDetail"))
    RollbackApplicationResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
    RollbackApplicationResponse.struct_class = Types::RollbackApplicationResponse

    RunConfiguration.add_member(:flink_run_configuration, Shapes::ShapeRef.new(shape: FlinkRunConfiguration, location_name: "FlinkRunConfiguration"))
    RunConfiguration.add_member(:sql_run_configurations, Shapes::ShapeRef.new(shape: SqlRunConfigurations, location_name: "SqlRunConfigurations"))
    RunConfiguration.add_member(:application_restore_configuration, Shapes::ShapeRef.new(shape: ApplicationRestoreConfiguration, location_name: "ApplicationRestoreConfiguration"))
    RunConfiguration.struct_class = Types::RunConfiguration

    RunConfigurationDescription.add_member(:application_restore_configuration_description, Shapes::ShapeRef.new(shape: ApplicationRestoreConfiguration, location_name: "ApplicationRestoreConfigurationDescription"))
    RunConfigurationDescription.add_member(:flink_run_configuration_description, Shapes::ShapeRef.new(shape: FlinkRunConfiguration, location_name: "FlinkRunConfigurationDescription"))
    RunConfigurationDescription.struct_class = Types::RunConfigurationDescription

    RunConfigurationUpdate.add_member(:flink_run_configuration, Shapes::ShapeRef.new(shape: FlinkRunConfiguration, location_name: "FlinkRunConfiguration"))
    RunConfigurationUpdate.add_member(:application_restore_configuration, Shapes::ShapeRef.new(shape: ApplicationRestoreConfiguration, location_name: "ApplicationRestoreConfiguration"))
    RunConfigurationUpdate.struct_class = Types::RunConfigurationUpdate

    S3ApplicationCodeLocationDescription.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: BucketARN, required: true, location_name: "BucketARN"))
    S3ApplicationCodeLocationDescription.add_member(:file_key, Shapes::ShapeRef.new(shape: FileKey, required: true, location_name: "FileKey"))
    S3ApplicationCodeLocationDescription.add_member(:object_version, Shapes::ShapeRef.new(shape: ObjectVersion, location_name: "ObjectVersion"))
    S3ApplicationCodeLocationDescription.struct_class = Types::S3ApplicationCodeLocationDescription

    S3Configuration.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: BucketARN, required: true, location_name: "BucketARN"))
    S3Configuration.add_member(:file_key, Shapes::ShapeRef.new(shape: FileKey, required: true, location_name: "FileKey"))
    S3Configuration.struct_class = Types::S3Configuration

    S3ContentBaseLocation.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: BucketARN, required: true, location_name: "BucketARN"))
    S3ContentBaseLocation.add_member(:base_path, Shapes::ShapeRef.new(shape: BasePath, location_name: "BasePath"))
    S3ContentBaseLocation.struct_class = Types::S3ContentBaseLocation

    S3ContentBaseLocationDescription.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: BucketARN, required: true, location_name: "BucketARN"))
    S3ContentBaseLocationDescription.add_member(:base_path, Shapes::ShapeRef.new(shape: BasePath, location_name: "BasePath"))
    S3ContentBaseLocationDescription.struct_class = Types::S3ContentBaseLocationDescription

    S3ContentBaseLocationUpdate.add_member(:bucket_arn_update, Shapes::ShapeRef.new(shape: BucketARN, location_name: "BucketARNUpdate"))
    S3ContentBaseLocationUpdate.add_member(:base_path_update, Shapes::ShapeRef.new(shape: BasePath, location_name: "BasePathUpdate"))
    S3ContentBaseLocationUpdate.struct_class = Types::S3ContentBaseLocationUpdate

    S3ContentLocation.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: BucketARN, required: true, location_name: "BucketARN"))
    S3ContentLocation.add_member(:file_key, Shapes::ShapeRef.new(shape: FileKey, required: true, location_name: "FileKey"))
    S3ContentLocation.add_member(:object_version, Shapes::ShapeRef.new(shape: ObjectVersion, location_name: "ObjectVersion"))
    S3ContentLocation.struct_class = Types::S3ContentLocation

    S3ContentLocationUpdate.add_member(:bucket_arn_update, Shapes::ShapeRef.new(shape: BucketARN, location_name: "BucketARNUpdate"))
    S3ContentLocationUpdate.add_member(:file_key_update, Shapes::ShapeRef.new(shape: FileKey, location_name: "FileKeyUpdate"))
    S3ContentLocationUpdate.add_member(:object_version_update, Shapes::ShapeRef.new(shape: ObjectVersion, location_name: "ObjectVersionUpdate"))
    S3ContentLocationUpdate.struct_class = Types::S3ContentLocationUpdate

    S3ReferenceDataSource.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: BucketARN, location_name: "BucketARN"))
    S3ReferenceDataSource.add_member(:file_key, Shapes::ShapeRef.new(shape: FileKey, location_name: "FileKey"))
    S3ReferenceDataSource.struct_class = Types::S3ReferenceDataSource

    S3ReferenceDataSourceDescription.add_member(:bucket_arn, Shapes::ShapeRef.new(shape: BucketARN, required: true, location_name: "BucketARN"))
    S3ReferenceDataSourceDescription.add_member(:file_key, Shapes::ShapeRef.new(shape: FileKey, required: true, location_name: "FileKey"))
    S3ReferenceDataSourceDescription.add_member(:reference_role_arn, Shapes::ShapeRef.new(shape: RoleARN, location_name: "ReferenceRoleARN"))
    S3ReferenceDataSourceDescription.struct_class = Types::S3ReferenceDataSourceDescription

    S3ReferenceDataSourceUpdate.add_member(:bucket_arn_update, Shapes::ShapeRef.new(shape: BucketARN, location_name: "BucketARNUpdate"))
    S3ReferenceDataSourceUpdate.add_member(:file_key_update, Shapes::ShapeRef.new(shape: FileKey, location_name: "FileKeyUpdate"))
    S3ReferenceDataSourceUpdate.struct_class = Types::S3ReferenceDataSourceUpdate

    SecurityGroupIds.member = Shapes::ShapeRef.new(shape: SecurityGroupId)

    ServiceUnavailableException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
    ServiceUnavailableException.struct_class = Types::ServiceUnavailableException

    SnapshotDetails.add_member(:snapshot_name, Shapes::ShapeRef.new(shape: SnapshotName, required: true, location_name: "SnapshotName"))
    SnapshotDetails.add_member(:snapshot_status, Shapes::ShapeRef.new(shape: SnapshotStatus, required: true, location_name: "SnapshotStatus"))
    SnapshotDetails.add_member(:application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, required: true, location_name: "ApplicationVersionId"))
    SnapshotDetails.add_member(:snapshot_creation_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "SnapshotCreationTimestamp"))
    SnapshotDetails.add_member(:runtime_environment, Shapes::ShapeRef.new(shape: RuntimeEnvironment, location_name: "RuntimeEnvironment"))
    SnapshotDetails.add_member(:application_encryption_configuration_description, Shapes::ShapeRef.new(shape: ApplicationEncryptionConfigurationDescription, location_name: "ApplicationEncryptionConfigurationDescription"))
    SnapshotDetails.struct_class = Types::SnapshotDetails

    SnapshotSummaries.member = Shapes::ShapeRef.new(shape: SnapshotDetails)

    SourceSchema.add_member(:record_format, Shapes::ShapeRef.new(shape: RecordFormat, required: true, location_name: "RecordFormat"))
    SourceSchema.add_member(:record_encoding, Shapes::ShapeRef.new(shape: RecordEncoding, location_name: "RecordEncoding"))
    SourceSchema.add_member(:record_columns, Shapes::ShapeRef.new(shape: RecordColumns, required: true, location_name: "RecordColumns"))
    SourceSchema.struct_class = Types::SourceSchema

    SqlApplicationConfiguration.add_member(:inputs, Shapes::ShapeRef.new(shape: Inputs, location_name: "Inputs"))
    SqlApplicationConfiguration.add_member(:outputs, Shapes::ShapeRef.new(shape: Outputs, location_name: "Outputs"))
    SqlApplicationConfiguration.add_member(:reference_data_sources, Shapes::ShapeRef.new(shape: ReferenceDataSources, location_name: "ReferenceDataSources"))
    SqlApplicationConfiguration.struct_class = Types::SqlApplicationConfiguration

    SqlApplicationConfigurationDescription.add_member(:input_descriptions, Shapes::ShapeRef.new(shape: InputDescriptions, location_name: "InputDescriptions"))
    SqlApplicationConfigurationDescription.add_member(:output_descriptions, Shapes::ShapeRef.new(shape: OutputDescriptions, location_name: "OutputDescriptions"))
    SqlApplicationConfigurationDescription.add_member(:reference_data_source_descriptions, Shapes::ShapeRef.new(shape: ReferenceDataSourceDescriptions, location_name: "ReferenceDataSourceDescriptions"))
    SqlApplicationConfigurationDescription.struct_class = Types::SqlApplicationConfigurationDescription

    SqlApplicationConfigurationUpdate.add_member(:input_updates, Shapes::ShapeRef.new(shape: InputUpdates, location_name: "InputUpdates"))
    SqlApplicationConfigurationUpdate.add_member(:output_updates, Shapes::ShapeRef.new(shape: OutputUpdates, location_name: "OutputUpdates"))
    SqlApplicationConfigurationUpdate.add_member(:reference_data_source_updates, Shapes::ShapeRef.new(shape: ReferenceDataSourceUpdates, location_name: "ReferenceDataSourceUpdates"))
    SqlApplicationConfigurationUpdate.struct_class = Types::SqlApplicationConfigurationUpdate

    SqlRunConfiguration.add_member(:input_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "InputId"))
    SqlRunConfiguration.add_member(:input_starting_position_configuration, Shapes::ShapeRef.new(shape: InputStartingPositionConfiguration, required: true, location_name: "InputStartingPositionConfiguration"))
    SqlRunConfiguration.struct_class = Types::SqlRunConfiguration

    SqlRunConfigurations.member = Shapes::ShapeRef.new(shape: SqlRunConfiguration)

    StartApplicationRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    StartApplicationRequest.add_member(:run_configuration, Shapes::ShapeRef.new(shape: RunConfiguration, location_name: "RunConfiguration"))
    StartApplicationRequest.struct_class = Types::StartApplicationRequest

    StartApplicationResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
    StartApplicationResponse.struct_class = Types::StartApplicationResponse

    StopApplicationRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    StopApplicationRequest.add_member(:force, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "Force"))
    StopApplicationRequest.struct_class = Types::StopApplicationRequest

    StopApplicationResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
    StopApplicationResponse.struct_class = Types::StopApplicationResponse

    SubnetIds.member = Shapes::ShapeRef.new(shape: SubnetId)

    Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
    Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, location_name: "Value"))
    Tag.struct_class = Types::Tag

    TagKeys.member = Shapes::ShapeRef.new(shape: TagKey)

    TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: KinesisAnalyticsARN, required: true, location_name: "ResourceARN"))
    TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, required: true, location_name: "Tags"))
    TagResourceRequest.struct_class = Types::TagResourceRequest

    TagResourceResponse.struct_class = Types::TagResourceResponse

    Tags.member = Shapes::ShapeRef.new(shape: Tag)

    TooManyTagsException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "message"))
    TooManyTagsException.struct_class = Types::TooManyTagsException

    UnableToDetectSchemaException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
    UnableToDetectSchemaException.add_member(:raw_input_records, Shapes::ShapeRef.new(shape: RawInputRecords, location_name: "RawInputRecords"))
    UnableToDetectSchemaException.add_member(:processed_input_records, Shapes::ShapeRef.new(shape: ProcessedInputRecords, location_name: "ProcessedInputRecords"))
    UnableToDetectSchemaException.struct_class = Types::UnableToDetectSchemaException

    UnsupportedOperationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
    UnsupportedOperationException.struct_class = Types::UnsupportedOperationException

    UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: KinesisAnalyticsARN, required: true, location_name: "ResourceARN"))
    UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeys, required: true, location_name: "TagKeys"))
    UntagResourceRequest.struct_class = Types::UntagResourceRequest

    UntagResourceResponse.struct_class = Types::UntagResourceResponse

    UpdateApplicationMaintenanceConfigurationRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    UpdateApplicationMaintenanceConfigurationRequest.add_member(:application_maintenance_configuration_update, Shapes::ShapeRef.new(shape: ApplicationMaintenanceConfigurationUpdate, required: true, location_name: "ApplicationMaintenanceConfigurationUpdate"))
    UpdateApplicationMaintenanceConfigurationRequest.struct_class = Types::UpdateApplicationMaintenanceConfigurationRequest

    UpdateApplicationMaintenanceConfigurationResponse.add_member(:application_arn, Shapes::ShapeRef.new(shape: ResourceARN, location_name: "ApplicationARN"))
    UpdateApplicationMaintenanceConfigurationResponse.add_member(:application_maintenance_configuration_description, Shapes::ShapeRef.new(shape: ApplicationMaintenanceConfigurationDescription, location_name: "ApplicationMaintenanceConfigurationDescription"))
    UpdateApplicationMaintenanceConfigurationResponse.struct_class = Types::UpdateApplicationMaintenanceConfigurationResponse

    UpdateApplicationRequest.add_member(:application_name, Shapes::ShapeRef.new(shape: ApplicationName, required: true, location_name: "ApplicationName"))
    UpdateApplicationRequest.add_member(:current_application_version_id, Shapes::ShapeRef.new(shape: ApplicationVersionId, location_name: "CurrentApplicationVersionId"))
    UpdateApplicationRequest.add_member(:application_configuration_update, Shapes::ShapeRef.new(shape: ApplicationConfigurationUpdate, location_name: "ApplicationConfigurationUpdate"))
    UpdateApplicationRequest.add_member(:service_execution_role_update, Shapes::ShapeRef.new(shape: RoleARN, location_name: "ServiceExecutionRoleUpdate"))
    UpdateApplicationRequest.add_member(:run_configuration_update, Shapes::ShapeRef.new(shape: RunConfigurationUpdate, location_name: "RunConfigurationUpdate"))
    UpdateApplicationRequest.add_member(:cloud_watch_logging_option_updates, Shapes::ShapeRef.new(shape: CloudWatchLoggingOptionUpdates, location_name: "CloudWatchLoggingOptionUpdates"))
    UpdateApplicationRequest.add_member(:conditional_token, Shapes::ShapeRef.new(shape: ConditionalToken, location_name: "ConditionalToken"))
    UpdateApplicationRequest.add_member(:runtime_environment_update, Shapes::ShapeRef.new(shape: RuntimeEnvironment, location_name: "RuntimeEnvironmentUpdate"))
    UpdateApplicationRequest.struct_class = Types::UpdateApplicationRequest

    UpdateApplicationResponse.add_member(:application_detail, Shapes::ShapeRef.new(shape: ApplicationDetail, required: true, location_name: "ApplicationDetail"))
    UpdateApplicationResponse.add_member(:operation_id, Shapes::ShapeRef.new(shape: OperationId, location_name: "OperationId"))
    UpdateApplicationResponse.struct_class = Types::UpdateApplicationResponse

    VpcConfiguration.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIds, required: true, location_name: "SubnetIds"))
    VpcConfiguration.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: SecurityGroupIds, required: true, location_name: "SecurityGroupIds"))
    VpcConfiguration.struct_class = Types::VpcConfiguration

    VpcConfigurationDescription.add_member(:vpc_configuration_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "VpcConfigurationId"))
    VpcConfigurationDescription.add_member(:vpc_id, Shapes::ShapeRef.new(shape: VpcId, required: true, location_name: "VpcId"))
    VpcConfigurationDescription.add_member(:subnet_ids, Shapes::ShapeRef.new(shape: SubnetIds, required: true, location_name: "SubnetIds"))
    VpcConfigurationDescription.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: SecurityGroupIds, required: true, location_name: "SecurityGroupIds"))
    VpcConfigurationDescription.struct_class = Types::VpcConfigurationDescription

    VpcConfigurationDescriptions.member = Shapes::ShapeRef.new(shape: VpcConfigurationDescription)

    VpcConfigurationUpdate.add_member(:vpc_configuration_id, Shapes::ShapeRef.new(shape: Id, required: true, location_name: "VpcConfigurationId"))
    VpcConfigurationUpdate.add_member(:subnet_id_updates, Shapes::ShapeRef.new(shape: SubnetIds, location_name: "SubnetIdUpdates"))
    VpcConfigurationUpdate.add_member(:security_group_id_updates, Shapes::ShapeRef.new(shape: SecurityGroupIds, location_name: "SecurityGroupIdUpdates"))
    VpcConfigurationUpdate.struct_class = Types::VpcConfigurationUpdate

    VpcConfigurationUpdates.member = Shapes::ShapeRef.new(shape: VpcConfigurationUpdate)

    VpcConfigurations.member = Shapes::ShapeRef.new(shape: VpcConfiguration)

    ZeppelinApplicationConfiguration.add_member(:monitoring_configuration, Shapes::ShapeRef.new(shape: ZeppelinMonitoringConfiguration, location_name: "MonitoringConfiguration"))
    ZeppelinApplicationConfiguration.add_member(:catalog_configuration, Shapes::ShapeRef.new(shape: CatalogConfiguration, location_name: "CatalogConfiguration"))
    ZeppelinApplicationConfiguration.add_member(:deploy_as_application_configuration, Shapes::ShapeRef.new(shape: DeployAsApplicationConfiguration, location_name: "DeployAsApplicationConfiguration"))
    ZeppelinApplicationConfiguration.add_member(:custom_artifacts_configuration, Shapes::ShapeRef.new(shape: CustomArtifactsConfigurationList, location_name: "CustomArtifactsConfiguration"))
    ZeppelinApplicationConfiguration.struct_class = Types::ZeppelinApplicationConfiguration

    ZeppelinApplicationConfigurationDescription.add_member(:monitoring_configuration_description, Shapes::ShapeRef.new(shape: ZeppelinMonitoringConfigurationDescription, required: true, location_name: "MonitoringConfigurationDescription"))
    ZeppelinApplicationConfigurationDescription.add_member(:catalog_configuration_description, Shapes::ShapeRef.new(shape: CatalogConfigurationDescription, location_name: "CatalogConfigurationDescription"))
    ZeppelinApplicationConfigurationDescription.add_member(:deploy_as_application_configuration_description, Shapes::ShapeRef.new(shape: DeployAsApplicationConfigurationDescription, location_name: "DeployAsApplicationConfigurationDescription"))
    ZeppelinApplicationConfigurationDescription.add_member(:custom_artifacts_configuration_description, Shapes::ShapeRef.new(shape: CustomArtifactsConfigurationDescriptionList, location_name: "CustomArtifactsConfigurationDescription"))
    ZeppelinApplicationConfigurationDescription.struct_class = Types::ZeppelinApplicationConfigurationDescription

    ZeppelinApplicationConfigurationUpdate.add_member(:monitoring_configuration_update, Shapes::ShapeRef.new(shape: ZeppelinMonitoringConfigurationUpdate, location_name: "MonitoringConfigurationUpdate"))
    ZeppelinApplicationConfigurationUpdate.add_member(:catalog_configuration_update, Shapes::ShapeRef.new(shape: CatalogConfigurationUpdate, location_name: "CatalogConfigurationUpdate"))
    ZeppelinApplicationConfigurationUpdate.add_member(:deploy_as_application_configuration_update, Shapes::ShapeRef.new(shape: DeployAsApplicationConfigurationUpdate, location_name: "DeployAsApplicationConfigurationUpdate"))
    ZeppelinApplicationConfigurationUpdate.add_member(:custom_artifacts_configuration_update, Shapes::ShapeRef.new(shape: CustomArtifactsConfigurationList, location_name: "CustomArtifactsConfigurationUpdate"))
    ZeppelinApplicationConfigurationUpdate.struct_class = Types::ZeppelinApplicationConfigurationUpdate

    ZeppelinMonitoringConfiguration.add_member(:log_level, Shapes::ShapeRef.new(shape: LogLevel, required: true, location_name: "LogLevel"))
    ZeppelinMonitoringConfiguration.struct_class = Types::ZeppelinMonitoringConfiguration

    ZeppelinMonitoringConfigurationDescription.add_member(:log_level, Shapes::ShapeRef.new(shape: LogLevel, location_name: "LogLevel"))
    ZeppelinMonitoringConfigurationDescription.struct_class = Types::ZeppelinMonitoringConfigurationDescription

    ZeppelinMonitoringConfigurationUpdate.add_member(:log_level_update, Shapes::ShapeRef.new(shape: LogLevel, required: true, location_name: "LogLevelUpdate"))
    ZeppelinMonitoringConfigurationUpdate.struct_class = Types::ZeppelinMonitoringConfigurationUpdate


    # @api private
    API = Seahorse::Model::Api.new.tap do |api|

      api.version = "2018-05-23"

      api.metadata = {
        "apiVersion" => "2018-05-23",
        "auth" => ["aws.auth#sigv4"],
        "endpointPrefix" => "kinesisanalytics",
        "jsonVersion" => "1.1",
        "protocol" => "json",
        "protocols" => ["json"],
        "serviceAbbreviation" => "Kinesis Analytics V2",
        "serviceFullName" => "Amazon Kinesis Analytics",
        "serviceId" => "Kinesis Analytics V2",
        "signatureVersion" => "v4",
        "signingName" => "kinesisanalytics",
        "targetPrefix" => "KinesisAnalytics_20180523",
        "uid" => "kinesisanalyticsv2-2018-05-23",
      }

      api.add_operation(:add_application_cloud_watch_logging_option, Seahorse::Model::Operation.new.tap do |o|
        o.name = "AddApplicationCloudWatchLoggingOption"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: AddApplicationCloudWatchLoggingOptionRequest)
        o.output = Shapes::ShapeRef.new(shape: AddApplicationCloudWatchLoggingOptionResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidApplicationConfigurationException)
      end)

      api.add_operation(:add_application_input, Seahorse::Model::Operation.new.tap do |o|
        o.name = "AddApplicationInput"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: AddApplicationInputRequest)
        o.output = Shapes::ShapeRef.new(shape: AddApplicationInputResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: CodeValidationException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
      end)

      api.add_operation(:add_application_input_processing_configuration, Seahorse::Model::Operation.new.tap do |o|
        o.name = "AddApplicationInputProcessingConfiguration"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: AddApplicationInputProcessingConfigurationRequest)
        o.output = Shapes::ShapeRef.new(shape: AddApplicationInputProcessingConfigurationResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
      end)

      api.add_operation(:add_application_output, Seahorse::Model::Operation.new.tap do |o|
        o.name = "AddApplicationOutput"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: AddApplicationOutputRequest)
        o.output = Shapes::ShapeRef.new(shape: AddApplicationOutputResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
      end)

      api.add_operation(:add_application_reference_data_source, Seahorse::Model::Operation.new.tap do |o|
        o.name = "AddApplicationReferenceDataSource"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: AddApplicationReferenceDataSourceRequest)
        o.output = Shapes::ShapeRef.new(shape: AddApplicationReferenceDataSourceResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
      end)

      api.add_operation(:add_application_vpc_configuration, Seahorse::Model::Operation.new.tap do |o|
        o.name = "AddApplicationVpcConfiguration"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: AddApplicationVpcConfigurationRequest)
        o.output = Shapes::ShapeRef.new(shape: AddApplicationVpcConfigurationResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidApplicationConfigurationException)
      end)

      api.add_operation(:create_application, Seahorse::Model::Operation.new.tap do |o|
        o.name = "CreateApplication"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: CreateApplicationRequest)
        o.output = Shapes::ShapeRef.new(shape: CreateApplicationResponse)
        o.errors << Shapes::ShapeRef.new(shape: CodeValidationException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
        o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
      end)

      api.add_operation(:create_application_presigned_url, Seahorse::Model::Operation.new.tap do |o|
        o.name = "CreateApplicationPresignedUrl"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: CreateApplicationPresignedUrlRequest)
        o.output = Shapes::ShapeRef.new(shape: CreateApplicationPresignedUrlResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
      end)

      api.add_operation(:create_application_snapshot, Seahorse::Model::Operation.new.tap do |o|
        o.name = "CreateApplicationSnapshot"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: CreateApplicationSnapshotRequest)
        o.output = Shapes::ShapeRef.new(shape: CreateApplicationSnapshotResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidApplicationConfigurationException)
      end)

      api.add_operation(:delete_application, Seahorse::Model::Operation.new.tap do |o|
        o.name = "DeleteApplication"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: DeleteApplicationRequest)
        o.output = Shapes::ShapeRef.new(shape: DeleteApplicationResponse)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidApplicationConfigurationException)
      end)

      api.add_operation(:delete_application_cloud_watch_logging_option, Seahorse::Model::Operation.new.tap do |o|
        o.name = "DeleteApplicationCloudWatchLoggingOption"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: DeleteApplicationCloudWatchLoggingOptionRequest)
        o.output = Shapes::ShapeRef.new(shape: DeleteApplicationCloudWatchLoggingOptionResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidApplicationConfigurationException)
      end)

      api.add_operation(:delete_application_input_processing_configuration, Seahorse::Model::Operation.new.tap do |o|
        o.name = "DeleteApplicationInputProcessingConfiguration"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: DeleteApplicationInputProcessingConfigurationRequest)
        o.output = Shapes::ShapeRef.new(shape: DeleteApplicationInputProcessingConfigurationResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
      end)

      api.add_operation(:delete_application_output, Seahorse::Model::Operation.new.tap do |o|
        o.name = "DeleteApplicationOutput"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: DeleteApplicationOutputRequest)
        o.output = Shapes::ShapeRef.new(shape: DeleteApplicationOutputResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
      end)

      api.add_operation(:delete_application_reference_data_source, Seahorse::Model::Operation.new.tap do |o|
        o.name = "DeleteApplicationReferenceDataSource"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: DeleteApplicationReferenceDataSourceRequest)
        o.output = Shapes::ShapeRef.new(shape: DeleteApplicationReferenceDataSourceResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
      end)

      api.add_operation(:delete_application_snapshot, Seahorse::Model::Operation.new.tap do |o|
        o.name = "DeleteApplicationSnapshot"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: DeleteApplicationSnapshotRequest)
        o.output = Shapes::ShapeRef.new(shape: DeleteApplicationSnapshotResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
      end)

      api.add_operation(:delete_application_vpc_configuration, Seahorse::Model::Operation.new.tap do |o|
        o.name = "DeleteApplicationVpcConfiguration"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: DeleteApplicationVpcConfigurationRequest)
        o.output = Shapes::ShapeRef.new(shape: DeleteApplicationVpcConfigurationResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidApplicationConfigurationException)
      end)

      api.add_operation(:describe_application, Seahorse::Model::Operation.new.tap do |o|
        o.name = "DescribeApplication"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: DescribeApplicationRequest)
        o.output = Shapes::ShapeRef.new(shape: DescribeApplicationResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
      end)

      api.add_operation(:describe_application_operation, Seahorse::Model::Operation.new.tap do |o|
        o.name = "DescribeApplicationOperation"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: DescribeApplicationOperationRequest)
        o.output = Shapes::ShapeRef.new(shape: DescribeApplicationOperationResponse)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
      end)

      api.add_operation(:describe_application_snapshot, Seahorse::Model::Operation.new.tap do |o|
        o.name = "DescribeApplicationSnapshot"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: DescribeApplicationSnapshotRequest)
        o.output = Shapes::ShapeRef.new(shape: DescribeApplicationSnapshotResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
      end)

      api.add_operation(:describe_application_version, Seahorse::Model::Operation.new.tap do |o|
        o.name = "DescribeApplicationVersion"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: DescribeApplicationVersionRequest)
        o.output = Shapes::ShapeRef.new(shape: DescribeApplicationVersionResponse)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
      end)

      api.add_operation(:discover_input_schema, Seahorse::Model::Operation.new.tap do |o|
        o.name = "DiscoverInputSchema"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: DiscoverInputSchemaRequest)
        o.output = Shapes::ShapeRef.new(shape: DiscoverInputSchemaResponse)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: UnableToDetectSchemaException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceProvisionedThroughputExceededException)
        o.errors << Shapes::ShapeRef.new(shape: ServiceUnavailableException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
        o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
      end)

      api.add_operation(:list_application_operations, Seahorse::Model::Operation.new.tap do |o|
        o.name = "ListApplicationOperations"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: ListApplicationOperationsRequest)
        o.output = Shapes::ShapeRef.new(shape: ListApplicationOperationsResponse)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
        o[:pager] = Aws::Pager.new(
          limit_key: "limit",
          tokens: {
            "next_token" => "next_token"
          }
        )
      end)

      api.add_operation(:list_application_snapshots, Seahorse::Model::Operation.new.tap do |o|
        o.name = "ListApplicationSnapshots"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: ListApplicationSnapshotsRequest)
        o.output = Shapes::ShapeRef.new(shape: ListApplicationSnapshotsResponse)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
        o[:pager] = Aws::Pager.new(
          limit_key: "limit",
          tokens: {
            "next_token" => "next_token"
          }
        )
      end)

      api.add_operation(:list_application_versions, Seahorse::Model::Operation.new.tap do |o|
        o.name = "ListApplicationVersions"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: ListApplicationVersionsRequest)
        o.output = Shapes::ShapeRef.new(shape: ListApplicationVersionsResponse)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
        o[:pager] = Aws::Pager.new(
          limit_key: "limit",
          tokens: {
            "next_token" => "next_token"
          }
        )
      end)

      api.add_operation(:list_applications, Seahorse::Model::Operation.new.tap do |o|
        o.name = "ListApplications"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: ListApplicationsRequest)
        o.output = Shapes::ShapeRef.new(shape: ListApplicationsResponse)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
        o[:pager] = Aws::Pager.new(
          limit_key: "limit",
          tokens: {
            "next_token" => "next_token"
          }
        )
      end)

      api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
        o.name = "ListTagsForResource"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
        o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
      end)

      api.add_operation(:rollback_application, Seahorse::Model::Operation.new.tap do |o|
        o.name = "RollbackApplication"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: RollbackApplicationRequest)
        o.output = Shapes::ShapeRef.new(shape: RollbackApplicationResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
      end)

      api.add_operation(:start_application, Seahorse::Model::Operation.new.tap do |o|
        o.name = "StartApplication"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: StartApplicationRequest)
        o.output = Shapes::ShapeRef.new(shape: StartApplicationResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidApplicationConfigurationException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
      end)

      api.add_operation(:stop_application, Seahorse::Model::Operation.new.tap do |o|
        o.name = "StopApplication"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: StopApplicationRequest)
        o.output = Shapes::ShapeRef.new(shape: StopApplicationResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidApplicationConfigurationException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
      end)

      api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
        o.name = "TagResource"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
        o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
      end)

      api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
        o.name = "UntagResource"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
        o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: TooManyTagsException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
      end)

      api.add_operation(:update_application, Seahorse::Model::Operation.new.tap do |o|
        o.name = "UpdateApplication"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: UpdateApplicationRequest)
        o.output = Shapes::ShapeRef.new(shape: UpdateApplicationResponse)
        o.errors << Shapes::ShapeRef.new(shape: CodeValidationException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidApplicationConfigurationException)
        o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
      end)

      api.add_operation(:update_application_maintenance_configuration, Seahorse::Model::Operation.new.tap do |o|
        o.name = "UpdateApplicationMaintenanceConfiguration"
        o.http_method = "POST"
        o.http_request_uri = "/"
        o.input = Shapes::ShapeRef.new(shape: UpdateApplicationMaintenanceConfigurationRequest)
        o.output = Shapes::ShapeRef.new(shape: UpdateApplicationMaintenanceConfigurationResponse)
        o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
        o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
        o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
        o.errors << Shapes::ShapeRef.new(shape: ConcurrentModificationException)
        o.errors << Shapes::ShapeRef.new(shape: UnsupportedOperationException)
      end)
    end

  end
end
